http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50164
--- Comment #2 from Ilya Enkovich <enkovich.gnu at gmail dot com> 2011-08-25 09:31:29 UTC --- (In reply to comment #1) > Yesterday I sent a patch > http://gcc.gnu.org/ml/gcc-patches/2011-08/msg01954.html which most probably > solved the problem. > > Now I have code size 419 (gcc 4.6) vs 411 (gcc as of Aug 24) bytes for the > test. I tried it but unfortunately it did not solve the regression. We still have xk on the stack and x1.5 more memory accesses in GCC 4.7 assembly for mentioned code part. GCC 4.6 produces bigger but faster code. Problem somehow appears only when -march=atom is used. There is no degradation if generic arch is used. I compared GCC 4.7 dumps for "-O2 -m32" and "-O2 -m32 -march=atom" and found that RTLs are same before IRA and differ after IRA. How does -march=atom affects register allocation?