https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117769
--- Comment #2 from JuzheZhong <juzhe.zhong at rivai dot ai> --- Ok. I see it is not an issue now. When we enable -mno-vect-strict-align: https://godbolt.org/z/MzqzPTcc6 We have same codegen as ARM SVE now: x264_pixel_satd_8x4(unsigned char*, int, unsigned char*, int): add a6,a0,a1 add a4,a2,a3 add a7,a4,a3 add t1,a6,a1 vsetivli zero,8,e8,mf8,ta,ma add a1,t1,a1 add a3,a7,a3 vle8.v v6,0(a1) vle8.v v5,0(a3) lui a5,%hi(.LC0) vle8.v v3,0(a4) vle8.v v4,0(a6) addi a5,a5,%lo(.LC0) vlm.v v0,0(a5) vle8.v v10,0(t1) vle8.v v9,0(a7) vle8.v v2,0(a0) vle8.v v8,0(a2) lui a5,%hi(.LC1) vmv1r.v v15,v6 vmv1r.v v11,v5 addi a5,a5,%lo(.LC1) vlm.v v1,0(a5) vmv1r.v v14,v4 vmv1r.v v13,v3 vcompress.vm v11,v9,v0 vcompress.vm v15,v10,v0 vcompress.vm v14,v2,v0 vcompress.vm v13,v8,v0 vwsubu.vv v12,v15,v11 vmv1r.v v0,v1 vslideup.vi v7,v6,4 vslideup.vi v6,v5,4 vslideup.vi v5,v4,4 vwsubu.vv v11,v14,v13 vslideup.vi v4,v3,4 vsetvli zero,zero,e32,mf2,ta,ma vsext.vf2 v3,v12 vsetvli zero,zero,e8,mf8,ta,ma vcompress.vm v6,v9,v0 vcompress.vm v5,v2,v0 vcompress.vm v7,v10,v0 vsetvli zero,zero,e32,mf2,ta,ma vsext.vf2 v2,v11 lui a5,%hi(.LANCHOR0) vsetvli zero,zero,e8,mf8,ta,ma vcompress.vm v4,v8,v0 addi a5,a5,%lo(.LANCHOR0) vsetvli zero,zero,e32,mf2,ta,ma vsll.vi v3,v3,16 addi a4,a5,32 vsetvli zero,zero,e8,mf8,ta,ma vle32.v v8,0(a5) vle32.v v9,0(a4) vwsubu.vv v10,v7,v6 vsetvli zero,zero,e32,mf2,ta,ma vsll.vi v2,v2,16 vsetvli zero,zero,e8,mf8,ta,ma vwsubu.vv v7,v5,v4 vsetvli zero,zero,e16,mf4,ta,ma vwadd.wv v1,v3,v10 vwadd.wv v6,v2,v7 addi a4,a5,64 vsetvli zero,zero,e32,mf2,ta,mu vrgather.vv v2,v1,v8 vrgather.vv v4,v1,v9 vle32.v v1,0(a4) addi a5,a5,96 vle32.v v7,0(a5) vrgather.vv v5,v6,v8 vadd.vv v8,v4,v2 vrgather.vv v3,v6,v9 vmsgeu.vi v11,v1,8 vsub.vv v4,v4,v2 vrgather.vv v6,v8,v1 vadd.vi v10,v1,-8 vmv1r.v v0,v11 vadd.vv v12,v5,v3 vrgather.vv v2,v8,v7 vrgather.vv v6,v4,v10,v0.t vadd.vi v8,v7,-8 vmsgeu.vi v0,v7,8 vsub.vv v3,v3,v5 vrgather.vv v5,v12,v1 vrgather.vv v2,v4,v8,v0.t vmv1r.v v0,v11 vrgather.vv v1,v12,v7 lui a5,%hi(.LC6) vrgather.vv v5,v3,v10,v0.t vmsgeu.vi v0,v7,8 addi a5,a5,%lo(.LC6) vadd.vv v4,v2,v6 vrgather.vv v1,v3,v8,v0.t vlm.v v0,0(a5) vsub.vv v2,v2,v6 addi sp,sp,-64 vadd.vv v3,v5,v1 addi a4,sp,32 vsub.vv v1,v1,v5 vmerge.vvm v2,v2,v4,v0 addi a5,sp,48 vmerge.vvm v1,v1,v3,v0 vse32.v v2,0(a4) vmv.s.x v9,zero vse32.v v1,0(sp) vsetivli zero,4,e32,mf2,ta,ma vle32.v v2,0(a5) vle32.v v1,0(a4) addi a5,sp,16 vsub.vv v3,v1,v2 vle32.v v1,0(sp) vle32.v v2,0(a5) addi a5,sp,48 vsub.vv v5,v1,v2 vle32.v v1,0(a5) vle32.v v2,0(a4) addi a5,sp,16 vadd.vv v4,v1,v2 vle32.v v1,0(a5) vle32.v v2,0(sp) addi sp,sp,64 vadd.vv v2,v1,v2 vsub.vv v1,v5,v3 vadd.vv v3,v3,v5 vadd.vv v5,v4,v2 vsetivli zero,8,e16,mf4,ta,ma vsra.vi v8,v1,15 vsra.vi v7,v3,15 vsetivli zero,4,e32,mf2,ta,ma vsub.vv v2,v2,v4 vadd.vv v1,v1,v8 vadd.vv v3,v3,v7 vsetivli zero,8,e16,mf4,ta,ma vsra.vi v6,v5,15 vsetivli zero,4,e32,mf2,ta,ma vxor.vv v1,v1,v8 vxor.vv v3,v3,v7 vadd.vv v5,v5,v6 vsetivli zero,8,e16,mf4,ta,ma vsra.vi v4,v2,15 vsetivli zero,4,e32,mf2,ta,ma vadd.vv v1,v1,v3 vxor.vv v5,v5,v6 vadd.vv v2,v2,v4 vadd.vv v1,v1,v5 vxor.vv v2,v2,v4 vadd.vv v1,v1,v2 vredsum.vs v1,v1,v9 vmv.x.s a0,v1 slli a5,a0,48 srli a5,a5,48 srliw a0,a0,16 addw a0,a0,a5 srli a0,a0,1 jr ra