https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112095
--- Comment #6 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
The 'optimized' code for vg is thus
v4ui vg (v4ui a, v4ui b)
{
vector(4) unsigned int _1;
unsigned int _5;
unsigned int _6;
unsigned int _7;
unsigned int _8;
unsigned int _9;
unsigned int _10;
unsigned int _11;
unsigned int _12;
<bb 2> [local count: 1073741824]:
_5 = BIT_FIELD_REF <a_2(D), 32, 0>;
_6 = ~_5;
_7 = BIT_FIELD_REF <a_2(D), 32, 32>;
_8 = ~_7;
_9 = BIT_FIELD_REF <a_2(D), 32, 64>;
_10 = ~_9;
_11 = BIT_FIELD_REF <a_2(D), 32, 96>;
_12 = ~_11;
_1 = {_6, _8, _10, _12};
return _1;
}