1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 /* { dg-additional-options "-mregparm=2" { target ia32 } } */
4
test_1(int x,int n)5 int test_1 (int x, int n)
6 {
7 n &= 0x1f;
8
9 x &= ~(0x01 << n);
10
11 return x;
12 }
13
test_2(int x,int n)14 int test_2 (int x, int n)
15 {
16 n &= 0x1f;
17
18 x |= (0x01 << n);
19
20 return x;
21 }
22
test_3(int x,int n)23 int test_3 (int x, int n)
24 {
25 n &= 0x1f;
26
27 x ^= (0x01 << n);
28
29 return x;
30 }
31
32 /* { dg-final { scan-assembler-not "and\[lq\]\[ \t\]" } } */
33