Testcase: typedef __attribute__((__vector_size__(16) )) unsigned char vec_uchar16; template<typename Tx, typename Ty, typename Tz, typename Tw> void permute(Tx x, Ty y, Tz z, Tw w) { const vec_uchar16 pattern = (vec_uchar16){4*x, 4*x+1, 4*x+2, 4*x+3, 4*y, 4*y+1, 4*y+2, 4*y+3, 4*z, 4*z+1, 4*z+2, 4*z+3, 4*w, 4*w+1, 4*w+2, 4*w+3}; } int main() { permute(1,2,3,4); return 0; }
-- Summary: [4.1/4.2/4.3 Regression] ICE with vector initializer in template Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31498