https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117811
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|needs-bisection | --- Comment #16 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So I think r0-112388-gbdc3ee5d57b980 exposed the issue inside expand_binop_directly (this was added for GCC 4.7). expand_binop_directly was okish before this point because entry_last==last for all other uses of expand_binop_directly I think. (In reply to Sam James from comment #15) > (In reply to Andrew Pinski from comment #14) > > I can regtest it for you (and check it fixes the testcases) at least. I am going to at least regtest it for aarch64 and x86_64. and I did check we get the correct code now too. For my reduced testcase in comment #6: buggy_shift: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. vld1.64 {d18-d19}, [r0:64] cmp r1, #0 ble .L2 vdup.32 q8, r1 vneg.s32 q8, q8 vshl.s32 q9, q9, q8 .L2: vst1.64 {d18-d19}, [r0:64] bx lr