https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92768
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to rguent...@suse.de from comment #11) > Alternatively add another flag to operand_equal_p to say whether > exact literal equality is asked for. That is fine with me. Though, as I said on IRC, it can work then by accident, but might break any time, e.g. won't VN if it sees with -fno-signed-zeros: _2 = { 0.f, 0.f, 0.f, 0.f }; use (_2); ... _5 = { 0.f, -0.f, 0.f, -0.f }; use (_5); happily replace _5 with _2, or anything else that uses operand_equal_p and won't pass this new magic flag?