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