2 /* { dg-do compile } */
3 /* { dg-options "-O2" } */
5 int fn1 (int x
) { return (x
<< 3) | 5; }
6 int fn2 (int x
) { return (x
* 8) | 5; }
7 int fn3 (int x
) { return (x
<< 3) + 5; }
8 int fn4 (int x
) { return (x
* 8) + 5; }
9 int fn5 (int x
) { return (x
<< 3) ^ 5; }
10 int fn6 (int x
) { return (x
* 8) ^ 5; }
11 long fn7 (long x
) { return (x
<< 3) | 5; }
12 long fn8 (long x
) { return (x
* 8) | 5; }
13 long fn9 (long x
) { return (x
<< 3) + 5; }
14 long fn10 (long x
) { return (x
* 8) + 5; }
15 long fn11 (long x
) { return (x
<< 3) ^ 5; }
16 long fn12 (long x
) { return (x
* 8) ^ 5; }
17 long fn13 (unsigned x
) { return (x
<< 3) | 5; }
18 long fn14 (unsigned x
) { return (x
* 8) | 5; }
19 long fn15 (unsigned x
) { return (x
<< 3) + 5; }
20 long fn16 (unsigned x
) { return (x
* 8) + 5; }
21 long fn17 (unsigned x
) { return (x
<< 3) ^ 5; }
22 long fn18 (unsigned x
) { return (x
* 8) ^ 5; }
24 /* { dg-final { scan-assembler-not "\[ \t\]x?or\[bwlq\]\[ \t\]" } } */