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

Reply via email to