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).

Reply via email to