------- 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