1/* PR tree-optimization/65215 */ 2 3struct S { unsigned long long l1 : 48; }; 4 5static inline unsigned int 6foo (unsigned int x) 7{ 8 return (x >> 24) | ((x >> 8) & 0xff00) | ((x << 8) & 0xff0000) | (x << 24); 9} 10 11__attribute__((noinline, noclone)) unsigned int 12bar (struct S *x) 13{ 14 return foo (x->l1); 15} 16 17int 18main () 19{ 20 if (__CHAR_BIT__ != 8 || sizeof (unsigned int) != 4 || sizeof (unsigned long long) != 8) 21 return 0; 22 struct S s; 23 s.l1 = foo (0xdeadbeefU) | (0xfeedULL << 32); 24 if (bar (&s) != 0xdeadbeefU) 25 __builtin_abort (); 26 return 0; 27} 28