https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88834

--- Comment #6 from kugan at gcc dot gnu.org ---

> 
> Note the difference in mode for aarch64_classify_address. Not sure if this
> is because of the way my patch changes ivopt.

Yes, it ws my mistake in iv-use. with attached patch, I now get
        cmp     w3, 0
        ble     .L1
        sub     w3, w3, #1
        mov     x4, 0
        cntw    x5
        ptrue   p1.s, all
        lsr     w3, w3, 1
        add     w3, w3, 1
        whilelo p0.s, xzr, x3
        .p2align 3,,7
.L3:
        ld2w    {z4.s - z5.s}, p0/z, [x1, x4, lsl 2]
        ld2w    {z2.s - z3.s}, p0/z, [x2, x4, lsl 2]
        add     z0.s, z4.s, z2.s
        sub     z1.s, z5.s, z3.s
        st2w    {z0.s - z1.s}, p0, [x0, x4, lsl 2]
        whilelo p0.s, x5, x3
        incb    x4, all, mul #2
        incw    x5
        ptest   p1, p0.b
        bne     .L3
.L1:
        ret
        .cfi_endproc

I will post the patch for review after stage-1 opens. In the meantime any
review is appreciated. Especially the part where iv-use is setup and
get_alias_ptr_type_for_ptr_address.

Reply via email to