http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55073
--- Comment #7 from Eric Batut <eric.batut at allegorithmic dot com> 2012-11-30 13:21:13 UTC --- Richard, I apologize, building at -O0 (and handrolling an assembly routine to do the same computation) proves me wrong : your values are the correct ones, and -O1 is also broken. The reference values are indeed [0] = FFFFFFFF [1] = FFFFFFFF [2] = FFFCFFFC [3] = FFFCFFFC And I still have no idea why my build of your patch does not produce these results on my HW. Could you please attach a binary build of the repro case so that I can test it on my HW? In the meantime I'll keep looking. Best Regards, Eric