https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88240
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P2 Known to work| |6.4.0 Target Milestone|--- |7.5 Summary|Potential optimization bug: |[7/8/9/10 Regression] |invalid pre-load of |Potential optimization bug: |floating-point value could |invalid pre-load of |cause SIGFPE-underflow if |floating-point value could |value is integer |cause SIGFPE-underflow if | |value is integer Known to fail| |7.1.0 --- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> --- Runtime testcase that aborts with -O2 -m32 -mno-sse (using fldl/fstpl): int flag; union { double f; unsigned long long i; } u; void __attribute__((noinline)) init () { flag = 1; u.i = 18442936822990639076ULL; } unsigned long long __attribute__((noinline)) test () { if (flag) return u.i; else return u.f; } int main() { init (); if (test () != 18442936822990639076ULL) __builtin_abort (); return 0; }