1/* PR middle-end/57344 */ 2/* { dg-require-effective-target int32plus } */ 3 4struct __attribute__((packed)) S 5{ 6 int a : 27; 7#if __SIZEOF_INT__ * __CHAR_BIT__ >= 32 8 int b : 22; 9#else 10 int b : 13; 11#endif 12 char c; 13 int : 0; 14} s[2]; 15int i; 16 17__attribute__((noinline, noclone)) void 18foo (int x) 19{ 20 if (x != -3161) 21 __builtin_abort (); 22 asm volatile ("" : : : "memory"); 23} 24 25int 26main () 27{ 28 struct S t = { 0, -3161L }; 29 s[1] = t; 30 for (; i < 1; i++) 31 foo (s[1].b); 32 return 0; 33} 34