https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82004
--- Comment #30 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #28) > Ah, I can actually reproduce the failure with the #c27 testcase with -Ofast > -fno-tree-pre. > > So, to workaround this issue with SPEC, either we need to find out why PRE > peels off the first iteration on this small testcase and not on the original > 628.pop2_s and see if we can convince it to do so, or we need some pattern > match to handle the -Ofast -fno-tree-pre #c27 testcase the way I've outlined > in #c18. For me, with -Ofast -march=core-avx2 PRE gets us to dlogchl = 1.00000000000000002081668171172168513294309377670288085938e-2; pretmp_1370 = my_task; pretmp_1372 = master_task; <bb 35> [local count: 85892]: # logchl_645 = PHI <-3.0099999999999997868371792719699442386627197265625e+0(34), logchl_747(44)> # mc_647 = PHI <mc_841(D)(34), mc_761(44)> # n_651 = PHI <0(34), _835(44)> # prephitmp_1174 = PHI <1.00000000000000002081668171172168513294309377670288085938e-2(34), pretmp_1173(44)> # prephitmp_1177 = PHI <1.00000000000000002081668171172168513294309377670288085938e-3(34), _1176(44)> # prephitmp_1371 = PHI <pretmp_1370(34), prephitmp_1242(44)> # prephitmp_1373 = PHI <pretmp_1372(34), prephitmp_1245(44)> logchl_747 = logchl_645 + prephitmp_1174; chlamnt = prephitmp_1177; ... <bb 43> [local count: 85892]: _835 = n_651 + 1; if (_835 == 401) goto <bb 45>; [12.36%] else goto <bb 44>; [87.64%] <bb 44> [local count: 75276]: pretmp_1173 = dlogchl; _1175 = logchl_747 + pretmp_1173; _1176 = __builtin_pow (1.0e+1, _1175); goto <bb 35>; [100.00%]