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

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
So with the patch I see tons of "regressions"
(https://github.com/ewlu/gcc-precommit-ci/issues/2248#issuecomment-2355417578)
like for example for
gcc.target/riscv/rvv/autovec/binop/vec_sat_u_add-1.c we go from

.L6:
        mv      a4,a3
        bleu    a3,a5,.L5
        csrr    a4,vlenb
.L5:
        vsetvli zero,a4,e8,m1,ta,ma
        vle8.v  v1,0(a1)
        vle8.v  v2,0(a2)
        vsetvli a6,zero,e8,m1,ta,ma
        vsaddu.vv       v1,v1,v2
        vsetvli zero,a4,e8,m1,ta,ma
        vse8.v  v1,0(a0)
        add     a1,a1,a5
        add     a2,a2,a5
        add     a0,a0,a5
        mv      a4,a3
        sub     a3,a3,a5
        bgtu    a4,a5,.L6

to

.L5:
        vsetvli a5,a3,e8,m1,ta,ma
        vle8.v  v1,0(a1)
        vle8.v  v2,0(a2)
        vsaddu.vv       v1,v1,v2
        vse8.v  v1,0(a0)
        add     a1,a1,a5
        add     a2,a2,a5
        add     a0,a0,a5
        sub     a3,a3,a5
        bne     a3,zero,.L5

so we're now using .SELECT_VL where we didn't before.  Unfortunately all the
regressing testcases are compile-only :/  I think the new variant is OK,
we're accessing all uchar8_t data only, I don't know why we rejected the use
of .SELECT_VL for this earlier.

I do not feel like checking all of the 900 additional FAILs that appear in
the CI though.

Reply via email to