This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/49335] [4.6 Regression] ARM: Invalid assembler generated while compiling C++ code from 'codeblocks'


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]