http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52750
Bug #: 52750 Summary: 32xsigned char __builtin_shuffle Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: middle-end AssignedTo: ja...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org CC: marc.gli...@normalesup.org Depends on: 52607 typedef signed char V __attribute__((vector_size (32))); V f (V x) { V m = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}; return __builtin_shuffle (x, m); } ICEs without -mavx2, because generic vector lowering is using a wrong type for BIT_FIELD_REF positions.