[Bug target/53735] thumb1 spill failure with -Os
zhenqiang.chen at linaro dot org
gcc-bugzilla@gcc.gnu.org
Thu Jul 26 07:51:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53735
zhenqiang.chen at linaro dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |zhenqiang.chen at linaro
| |dot org
--- Comment #4 from zhenqiang.chen at linaro dot org 2012-07-26 07:50:25 UTC ---
Root cause: r8-r11 is not available for THUMB1 with -Os.
In function arm_conditional_register_usage (arm.c), you can find the code
if (TARGET_THUMB1 && optimize_size)
{
/* When optimizing for size on Thumb-1, it's better not
to use the HI regs, because of the overhead of
stacking them. */
for (regno = FIRST_HI_REGNUM;
regno <= LAST_HI_REGNUM; ++regno)
fixed_regs[regno] = call_used_regs[regno] = 1;
}
If removing the code, the result is OK (r8 is used).
More information about the Gcc-bugs
mailing list