https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102224
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|12.0 |9.5 Priority|P3 |P2 Target|X86 |x86_64-*-* i?86-*-* Status|UNCONFIRMED |NEW Last reconfirmed| |2021-09-07 Ever confirmed|0 |1 --- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> --- Miscompiled with -O2, expanding from _3 = .XORSIGN (x_2(D), x_2(D)); [tail call] and the issue is in ix86_split_xorsign which does dest = lowpart_subreg (vmode, dest, mode); x = gen_rtx_AND (vmode, dest, mask); emit_insn (gen_rtx_SET (dest, x)); op0 = lowpart_subreg (vmode, op0, mode); x = gen_rtx_XOR (vmode, dest, op0); emit_insn (gen_rtx_SET (dest, x)); not catering for op0 == dest