1 /* { dg-do run } */ 2 /* { dg-options "-O2" } */ 3 4 extern void abort (void); 5 extern void exit (int); 6 7 unsigned int __attribute__ ((noinline, noclone)) foo(unsigned int i)8foo(unsigned int i) { 9 10 return 0xFFFF & (0xd066 << (((i & 0x1) ^ 0x2f) & 0xf)); 11 } 12 main()13int main() { 14 if (foo (1) != 0x8000) 15 abort (); 16 exit (0); 17 } 18