http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49335
Ramana Radhakrishnan <ramana at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Known to work| |4.5.3 Keywords| |wrong-code Last reconfirmed| |2011.06.09 10:23:41 CC| |ramana at gcc dot gnu.org Ever Confirmed|0 |1 Summary|ARM: Invalid assembler |[4.6 Regression] ARM: |generated while compiling |Invalid assembler generated |C++ code from 'codeblocks' |while compiling C++ code | |from 'codeblocks' Known to fail| |4.6.0, 4.7.0 --- Comment #2 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> 2011-06-09 10:23:41 UTC --- The problem is that *arith_shiftsi allows *all* shiftable operators to have the stack pointer as Rn . In Thumb2 only the add and sub instructions are allowed to have the stack pointer in this form and all other instructions are UNPREDICTABLE. This has come as a result of merging the 2 patterns from ARM and Thumb2 into a single pattern and considering the same for both. Affects only 4.6 branch and FSF trunk. cheers Ramana