https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120425
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Sam James from comment #5) > r12-476-gd846f225c25c58 What Fre1 is doing seems to be ok and correct: Working (GCC 11): _3 = -f_9; ... _2 = -1211051206 - _3; Vs not working (GCC 12+): _3 = -f_9; _2 = f_9 + -1211051206;