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

Reply via email to