https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81916
--- Comment #2 from Alexander Monakov <amonakov at gcc dot gnu.org> --- I've opened this PR for the -fno-signed-zeros aspect specifically, which the i386 backend doesn't exploit at all: it expands to copysign(abs(x)+1.0p52-1.0p52, x). I think handling these expansions in a generic manner would be right (provided that costs are checked so target-specific insns are still used if available).