[Bug c++/39429] compiler create bad asm codes.

rearnsha at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Mar 16 22:53:00 GMT 2009



------- Comment #2 from rearnsha at gcc dot gnu dot org  2009-03-16 22:53 -------
Confirmed.  This is a bug in the arith_adjacent_mem pattern that only triggers
when the offset to the memory from the base pointer exceeds the range of a
simple add instruction (ie more than 1024 bytes).  In that case we fall back to
emitting two ldr instructions, but fail to consider the case when the first
load overwrites the base address.


-- 

rearnsha at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rearnsha at gcc dot gnu dot
                   |                            |org, ramana dot r at gmail
                   |                            |dot com
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2009-03-16 22:53:12
               date|                            |


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



More information about the Gcc-bugs mailing list