https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93080
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note the patch also does not handle the following (or something a little more complex): /* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-optimized" } */ #define vector __attribute__((__vector_size__(4*sizeof(int)) )) vector int g(vector int a, int c) { int b = a[2]; a[1] = c; a[2] = b; return a; } /* { dg-final { scan-tree-dump-times "BIT_INSERT_EXPR" 1 "optimized" } } */ /* { dg-final { scan-tree-dump-times "BIT_FIELD_REF" 0 "optimized" } } */