blob: 3f88a09983b268149ee1a8847a7435b13d358684 [file] [log] [blame]
/* { dg-options "-mdejagnu-tune=power4 -O2 -fcompare-debug -fno-if-conversion -fno-guess-branch-probability" } */
/* { dg-require-effective-target int128 } */
extern int bar(int i);
typedef unsigned long u64;
int g;
__int128 h;
void
foo(int a, int b) {
int i;
char u8_1 = g, u8_3 = a;
u64 u64_1 = bar(0), u64_3 = u8_3 * u64_1;
__int128 u128_1 = h ^ __builtin_expect(i, 0);
u64 u64_4 = u64_1 << ((__builtin_sub_overflow_p(0, u8_1, (u64)0) ^ u128_1) & 8);
u64 u64_r = b + u64_3 + u64_4;
bar((short)u64_r + u8_3);
}