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

Jeffrey A. Law <law at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |WORKSFORME
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #2 from Jeffrey A. Law <law at gcc dot gnu.org> ---
That's really weird as I see the vxrm assignment to round down at the very
beginning of the function -- which is exactly what we want as some designs
flush their instruction pipelines when they encounter the vxrm assignment.


main:
        csrwi   vxrm,2
        addi    sp,sp,-32
[ ... ]
.L2:
        vsetvli a5,a3,e16,mf4,ta,ma
        vle16.v v1,0(a2)
        slli    a1,a5,1
        subw    a3,a3,a5
        add     a2,a2,a1
        vasub.vx        v1,v1,zero
        vse16.v v1,0(a4)
        add     a4,a4,a1
        bgt     a3,zero,.L2
        addi    s2,s2,20
        la      s0,a
        la      s1,b
[ ... ]

And running on the BPI I get:

0 2 5 7 10 12 15 17 20 22

Reply via email to