------- Comment #6 from suckfish at ihug dot co dot nz 2008-10-17 22:18 ------- Pleasantly, my fears that this was just the tip of the iceburg seems to be wrong. Writing some test cases, found another bug involving a shift, and also the ICE below [fixed by some combination of change above and 38707 fix.] Will fix the remaining case & post patches to gcc-patches list. #include typedef int v2si __attribute__ ((vector_size (8))); v2si shiftU (v2si y) { return _m_psrldi (_m_psrldi (y, 0), 0); } $ gcc -O shift2.c shift2.c: In function ‘shiftU’: shift2.c:6: internal compiler error: in trunc_int_for_mode, at explow.c:55 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Preprocessed source stored into /tmp/cckqI2oC.out file, please attach this to your bugreport. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37809