[Bug tree-optimization/67781] [5/6 Regression] wrong code generated on big-endian with -O1 -fexpensive-optimizations

thopre01 at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 14 13:49:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67781

--- Comment #6 from Thomas Preud'homme <thopre01 at gcc dot gnu.org> ---
So after performing the symbolic computation, the result is: 0x04030201 with 01
being the byte represented by b. This is correct so far and n->range shows 5
since 5 bytes have been touched. However, the base address points to a because
that's the lowest value but the lowest byte in the symbolic number is the
second byte in a.

That's this inconsistency that's causing the bug. I'll come up with a patch
tomorrow and do the testing.


More information about the Gcc-bugs mailing list