------- Comment #18 from rakdver at gcc dot gnu dot org  2007-07-04 13:32 
-------
(In reply to comment #0)
> The fix to PR31360 has caused significant code size regressions on ARM-EABI. 
> An example of this is from zlib (adler32.c) and is attached, compile with -Os
> -mcpu=arm7tdmi -fno-short-enums -w 
> 
> The new code:
> 1) Hoists a register containing 0 out of the loop
> 2) Uses that *only* as a copy into another register (mov reg, #0 costs exactly
> the same as mov reg, reg)

Actually, rtx_cost claims that mov reg, #0 costs 20, while mov reg, reg costs
16.  Fixing this (assuming that is indeed wrong) will not fix the problem
(without further changes to the invariant motion), but it is the first step.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31849

Reply via email to