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