1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-options "-O -mbmi2" } */
3
4 unsigned long long a;
5 int b;
6
7 int
fn1(int p1)8 fn1(int p1)
9 {
10 p1 &= 1;
11 p1 &= (short)~p1;
12 b = a;
13 a = a << p1 | a >> (64 - p1);
14 return p1 + 1 + a;
15 }
16