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