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)8 foo(unsigned int i) {
9 
10   return 0xFFFF & (0xd066 << (((i & 0x1) ^ 0x2f) & 0xf));
11 }
12 
main()13 int main() {
14   if (foo (1) != 0x8000)
15     abort ();
16   exit (0);
17 }
18