Excerpt from upstream bug typedef union { int i[4]; __attribute__((altivec(vector__))) int v; } vec_int4; int main (void) { vec_int4 i1; i1.v = (__attribute__((altivec(vector__))) int){31, 31, 31, 31}; printf ("%d\n", i1.i[0]); return 0; } the output printed is 30, not 31. Refer to the url to see the rest.
Created attachment 84056 [details, diff] simple fix, disable this path for odd consts Here is the simplest solution, a smarter one may follow
I'm waiting for upstream to decide on how they are going to fix this before I add any patches.
This really isn't a blocker, since gcc-4.1 is still p.masked.
Added to CVS. This will be included in the next patchset.