http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61114
--- Comment #5 from Tejas Belagod <belagod at gcc dot gnu.org> --- So, does that mean the folded value 120 is in the wrong place? The fix that I'm testing swaps the first and last elements of the const vector {120, 0, 0, 0}. PS: Sorry, my statement "The final folded value is extracted from the LSB which are bits 32:96 on BE systems" should have read "The final folded value is extracted from the LSB which are bits 96..127 on BE systems" if that caused confusion.