/* { dg-do compile { target { ! ia32 } } } */ /* { dg-options "-O2 -msse2 -mtune=skylake -mfpmath=sse" } */ /* { dg-final { scan-assembler-not "\\(%rsp\\)" } } */ static int as_int(float x) { return (union{float x; int i;}){x}.i; } float f(double y, float x) { int i = as_int(x); if (__builtin_expect(i > 99, 0)) return 0; if (i*2u < 77) if (i==2) return 0; return y*x; }