1 /* PR rtl-optimization/85925 */ 2 /* { dg-require-effective-target int32plus } */ 3 /* Testcase by <sudi@gcc.gnu.org> */ 4 5 int a, c, d; 6 volatile int b; 7 int *e = &d; 8 9 union U1 { 10 unsigned f0; 11 unsigned f1 : 15; 12 }; 13 volatile union U1 u = { 0x4030201 }; 14 main(void)15int main (void) 16 { 17 for (c = 0; c <= 1; c++) { 18 union U1 f = {0x4030201}; 19 if (c == 1) 20 b; 21 *e = f.f1; 22 } 23 24 if (d != u.f1) 25 __builtin_abort (); 26 27 return 0; 28 } 29