111
|
1 /* { dg-do compile } */
|
|
2 /* { dg-options "-O -fdump-tree-original" } */
|
|
3
|
|
4 int f(int x)
|
|
5 {
|
|
6 return (x << 2) & 128;
|
|
7 }
|
|
8
|
|
9 int g(int x)
|
|
10 {
|
|
11 return !!(x & 32) << 7;
|
|
12 }
|
|
13
|
|
14 int h(int x)
|
|
15 {
|
|
16 return ((x >> 5) & 1) << 7;
|
|
17 }
|
|
18
|
|
19 int i(int x)
|
|
20 {
|
|
21 return (x & 32) >> 5 << 7;
|
|
22 }
|
|
23
|
|
24 int j(int x)
|
|
25 {
|
|
26 return ((x >> 5) & 1) ? 128 : 0;
|
|
27 }
|
|
28
|
|
29 int k(int x)
|
|
30 {
|
|
31 return (x & 32) ? 128 : 0;
|
|
32 }
|
|
33
|
|
34 /* { dg-final { scan-tree-dump-not " \\? " "original" } } */
|
|
35 /* { dg-final { scan-assembler-not "sarl" { target i?86-*-* x86_64-*-* } } }" */
|