; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -mtriple=riscv32 -verify-machineinstrs -mattr=+v < %s | FileCheck %s --check-prefixes=CHECK,RV32,RV32V ; RUN: llc -mtriple=riscv64 -verify-machineinstrs -mattr=+v < %s | FileCheck %s --check-prefixes=CHECK,RV64,RV64V ; RUN: llc -mtriple=riscv32 -verify-machineinstrs -mattr=+v,+zvbc < %s | FileCheck %s --check-prefixes=CHECK,RV32,RV32ZVBC,RV32ZVBC64 ; RUN: llc -mtriple=riscv64 -verify-machineinstrs -mattr=+v,+zvbc < %s | FileCheck %s --check-prefixes=CHECK,RV64,RV64ZVBC,RV64ZVBC64 ; RUN: llc -mtriple=riscv32 -verify-machineinstrs -mattr=+v,+experimental-zvbc32e < %s | FileCheck %s --check-prefixes=CHECK,RV32,RV32ZVBC,RV32ZVBC32 ; RUN: llc -mtriple=riscv64 -verify-machineinstrs -mattr=+v,+experimental-zvbc32e < %s | FileCheck %s --check-prefixes=CHECK,RV64,RV64ZVBC,RV64ZVBC32 define @clmulh_nxv1i8_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv1i8_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a0, zero, e16, mf4, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: vzext.vf2 v8, v9 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vi v9, v8, 2 ; RV32V-NEXT: vand.vi v11, v8, 1 ; RV32V-NEXT: vmul.vv v9, v10, v9 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v11, v9 ; RV32V-NEXT: vand.vi v11, v8, 4 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vi v11, v8, 8 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v8, v9, v8 ; RV32V-NEXT: vsetvli zero, zero, e8, mf8, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v8, 8 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv1i8_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e16, mf4, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: vzext.vf2 v8, v9 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vand.vi v9, v8, 2 ; RV64V-NEXT: vand.vi v11, v8, 1 ; RV64V-NEXT: vmul.vv v9, v10, v9 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v11, v9 ; RV64V-NEXT: vand.vi v11, v8, 4 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vi v11, v8, 8 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vxor.vv v8, v9, v8 ; RV64V-NEXT: vsetvli zero, zero, e8, mf8, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v8, 8 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv1i8_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m1, ta, ma ; RV32ZVBC64-NEXT: vzext.vf8 v10, v9 ; RV32ZVBC64-NEXT: vzext.vf8 v9, v8 ; RV32ZVBC64-NEXT: vclmul.vv v8, v9, v10 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e8, mf8, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 8 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv1i8_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m1, ta, ma ; RV64ZVBC64-NEXT: vzext.vf8 v10, v9 ; RV64ZVBC64-NEXT: vzext.vf8 v9, v8 ; RV64ZVBC64-NEXT: vclmul.vv v8, v9, v10 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e8, mf8, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 8 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv1i8_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e8, mf8, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv1i8_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e8, mf8, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv1i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv1i8_vx( %va, i8 %b) nounwind { ; RV32V-LABEL: clmulh_nxv1i8_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a1, zero, e8, mf8, ta, ma ; RV32V-NEXT: vmv.v.x v9, a0 ; RV32V-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vzext.vf2 v8, v9 ; RV32V-NEXT: vand.vi v9, v8, 2 ; RV32V-NEXT: vand.vi v11, v8, 1 ; RV32V-NEXT: vmul.vv v9, v10, v9 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v11, v9 ; RV32V-NEXT: vand.vi v11, v8, 4 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vi v11, v8, 8 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v8, v9, v8 ; RV32V-NEXT: vsetvli zero, zero, e8, mf8, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v8, 8 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv1i8_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e8, mf8, ta, ma ; RV64V-NEXT: vmv.v.x v9, a0 ; RV64V-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vzext.vf2 v8, v9 ; RV64V-NEXT: vand.vi v9, v8, 2 ; RV64V-NEXT: vand.vi v11, v8, 1 ; RV64V-NEXT: vmul.vv v9, v10, v9 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v11, v9 ; RV64V-NEXT: vand.vi v11, v8, 4 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vi v11, v8, 8 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vxor.vv v8, v9, v8 ; RV64V-NEXT: vsetvli zero, zero, e8, mf8, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v8, 8 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv1i8_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e8, mf8, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v9, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e64, m1, ta, ma ; RV32ZVBC64-NEXT: vzext.vf8 v10, v8 ; RV32ZVBC64-NEXT: vzext.vf8 v8, v9 ; RV32ZVBC64-NEXT: vclmul.vv v8, v10, v8 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e8, mf8, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 8 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv1i8_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e8, mf8, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v9, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e64, m1, ta, ma ; RV64ZVBC64-NEXT: vzext.vf8 v10, v8 ; RV64ZVBC64-NEXT: vzext.vf8 v8, v9 ; RV64ZVBC64-NEXT: vclmul.vv v8, v10, v8 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e8, mf8, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 8 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv1i8_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e8, mf8, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv1i8_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e8, mf8, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i8 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv1i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv2i8_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv2i8_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a0, zero, e16, mf2, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: vzext.vf2 v8, v9 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vi v9, v8, 2 ; RV32V-NEXT: vand.vi v11, v8, 1 ; RV32V-NEXT: vmul.vv v9, v10, v9 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v11, v9 ; RV32V-NEXT: vand.vi v11, v8, 4 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vi v11, v8, 8 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v8, v9, v8 ; RV32V-NEXT: vsetvli zero, zero, e8, mf4, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v8, 8 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv2i8_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e16, mf2, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: vzext.vf2 v8, v9 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vand.vi v9, v8, 2 ; RV64V-NEXT: vand.vi v11, v8, 1 ; RV64V-NEXT: vmul.vv v9, v10, v9 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v11, v9 ; RV64V-NEXT: vand.vi v11, v8, 4 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vi v11, v8, 8 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vxor.vv v8, v9, v8 ; RV64V-NEXT: vsetvli zero, zero, e8, mf4, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v8, 8 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv2i8_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m2, ta, ma ; RV32ZVBC64-NEXT: vzext.vf8 v10, v9 ; RV32ZVBC64-NEXT: vzext.vf8 v12, v8 ; RV32ZVBC64-NEXT: vclmul.vv v8, v12, v10 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v10, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v10, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e8, mf4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 8 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv2i8_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m2, ta, ma ; RV64ZVBC64-NEXT: vzext.vf8 v10, v9 ; RV64ZVBC64-NEXT: vzext.vf8 v12, v8 ; RV64ZVBC64-NEXT: vclmul.vv v8, v12, v10 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v10, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v10, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e8, mf4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 8 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv2i8_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e8, mf4, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv2i8_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e8, mf4, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv2i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv2i8_vx( %va, i8 %b) nounwind { ; RV32V-LABEL: clmulh_nxv2i8_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a1, zero, e8, mf4, ta, ma ; RV32V-NEXT: vmv.v.x v9, a0 ; RV32V-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vzext.vf2 v8, v9 ; RV32V-NEXT: vand.vi v9, v8, 2 ; RV32V-NEXT: vand.vi v11, v8, 1 ; RV32V-NEXT: vmul.vv v9, v10, v9 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v11, v9 ; RV32V-NEXT: vand.vi v11, v8, 4 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vi v11, v8, 8 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v8, v9, v8 ; RV32V-NEXT: vsetvli zero, zero, e8, mf4, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v8, 8 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv2i8_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e8, mf4, ta, ma ; RV64V-NEXT: vmv.v.x v9, a0 ; RV64V-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vzext.vf2 v8, v9 ; RV64V-NEXT: vand.vi v9, v8, 2 ; RV64V-NEXT: vand.vi v11, v8, 1 ; RV64V-NEXT: vmul.vv v9, v10, v9 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v11, v9 ; RV64V-NEXT: vand.vi v11, v8, 4 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vi v11, v8, 8 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vxor.vv v8, v9, v8 ; RV64V-NEXT: vsetvli zero, zero, e8, mf4, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v8, 8 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv2i8_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e8, mf4, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v12, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e64, m2, ta, ma ; RV32ZVBC64-NEXT: vzext.vf8 v10, v8 ; RV32ZVBC64-NEXT: vzext.vf8 v8, v12 ; RV32ZVBC64-NEXT: vclmul.vv v8, v10, v8 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v10, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v10, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e8, mf4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 8 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv2i8_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e8, mf4, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v12, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e64, m2, ta, ma ; RV64ZVBC64-NEXT: vzext.vf8 v10, v8 ; RV64ZVBC64-NEXT: vzext.vf8 v8, v12 ; RV64ZVBC64-NEXT: vclmul.vv v8, v10, v8 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v10, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v10, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e8, mf4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 8 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv2i8_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e8, mf4, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv2i8_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e8, mf4, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i8 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv2i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv4i8_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv4i8_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a0, zero, e16, m1, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: vzext.vf2 v8, v9 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vi v9, v8, 2 ; RV32V-NEXT: vand.vi v11, v8, 1 ; RV32V-NEXT: vmul.vv v9, v10, v9 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v11, v9 ; RV32V-NEXT: vand.vi v11, v8, 4 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vi v11, v8, 8 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v8, v9, v8 ; RV32V-NEXT: vsetvli zero, zero, e8, mf2, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v8, 8 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv4i8_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e16, m1, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: vzext.vf2 v8, v9 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vand.vi v9, v8, 2 ; RV64V-NEXT: vand.vi v11, v8, 1 ; RV64V-NEXT: vmul.vv v9, v10, v9 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v11, v9 ; RV64V-NEXT: vand.vi v11, v8, 4 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vi v11, v8, 8 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vxor.vv v8, v9, v8 ; RV64V-NEXT: vsetvli zero, zero, e8, mf2, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v8, 8 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv4i8_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV32ZVBC64-NEXT: vzext.vf8 v12, v9 ; RV32ZVBC64-NEXT: vzext.vf8 v16, v8 ; RV32ZVBC64-NEXT: vclmul.vv v8, v16, v12 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v12, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v12, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e8, mf2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 8 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv4i8_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV64ZVBC64-NEXT: vzext.vf8 v12, v9 ; RV64ZVBC64-NEXT: vzext.vf8 v16, v8 ; RV64ZVBC64-NEXT: vclmul.vv v8, v16, v12 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v12, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v12, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e8, mf2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 8 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv4i8_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e8, mf2, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv4i8_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e8, mf2, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv4i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv4i8_vx( %va, i8 %b) nounwind { ; RV32V-LABEL: clmulh_nxv4i8_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a1, zero, e8, mf2, ta, ma ; RV32V-NEXT: vmv.v.x v9, a0 ; RV32V-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vzext.vf2 v8, v9 ; RV32V-NEXT: vand.vi v9, v8, 2 ; RV32V-NEXT: vand.vi v11, v8, 1 ; RV32V-NEXT: vmul.vv v9, v10, v9 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v11, v9 ; RV32V-NEXT: vand.vi v11, v8, 4 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vi v11, v8, 8 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v8, v9, v8 ; RV32V-NEXT: vsetvli zero, zero, e8, mf2, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v8, 8 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv4i8_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e8, mf2, ta, ma ; RV64V-NEXT: vmv.v.x v9, a0 ; RV64V-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vzext.vf2 v8, v9 ; RV64V-NEXT: vand.vi v9, v8, 2 ; RV64V-NEXT: vand.vi v11, v8, 1 ; RV64V-NEXT: vmul.vv v9, v10, v9 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v11, v9 ; RV64V-NEXT: vand.vi v11, v8, 4 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vi v11, v8, 8 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vxor.vv v8, v9, v8 ; RV64V-NEXT: vsetvli zero, zero, e8, mf2, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v8, 8 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv4i8_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e8, mf2, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v16, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e64, m4, ta, ma ; RV32ZVBC64-NEXT: vzext.vf8 v12, v8 ; RV32ZVBC64-NEXT: vzext.vf8 v8, v16 ; RV32ZVBC64-NEXT: vclmul.vv v8, v12, v8 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v12, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v12, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e8, mf2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 8 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv4i8_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e8, mf2, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v16, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e64, m4, ta, ma ; RV64ZVBC64-NEXT: vzext.vf8 v12, v8 ; RV64ZVBC64-NEXT: vzext.vf8 v8, v16 ; RV64ZVBC64-NEXT: vclmul.vv v8, v12, v8 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v12, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v12, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e8, mf2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 8 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv4i8_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e8, mf2, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv4i8_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e8, mf2, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i8 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv4i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv8i8_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv8i8_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a0, zero, e16, m2, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: vzext.vf2 v12, v9 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vi v8, v12, 2 ; RV32V-NEXT: vand.vi v14, v12, 1 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v14, v8 ; RV32V-NEXT: vand.vi v14, v12, 4 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vi v14, v12, 8 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v12, v12, a0 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vmul.vv v10, v10, v12 ; RV32V-NEXT: vxor.vv v10, v8, v10 ; RV32V-NEXT: vsetvli zero, zero, e8, m1, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v10, 8 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv8i8_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e16, m2, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: vzext.vf2 v12, v9 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vand.vi v8, v12, 2 ; RV64V-NEXT: vand.vi v14, v12, 1 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v14, v8 ; RV64V-NEXT: vand.vi v14, v12, 4 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vi v14, v12, 8 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vand.vx v12, v12, a0 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vmul.vv v10, v10, v12 ; RV64V-NEXT: vxor.vv v10, v8, v10 ; RV64V-NEXT: vsetvli zero, zero, e8, m1, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v10, 8 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv8i8_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m8, ta, ma ; RV32ZVBC64-NEXT: vzext.vf8 v16, v9 ; RV32ZVBC64-NEXT: vzext.vf8 v24, v8 ; RV32ZVBC64-NEXT: vclmul.vv v8, v24, v16 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v16, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v10, v16, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e8, m1, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v10, 8 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv8i8_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m8, ta, ma ; RV64ZVBC64-NEXT: vzext.vf8 v16, v9 ; RV64ZVBC64-NEXT: vzext.vf8 v24, v8 ; RV64ZVBC64-NEXT: vclmul.vv v8, v24, v16 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v16, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v10, v16, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e8, m1, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v10, 8 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv8i8_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e8, m1, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv8i8_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e8, m1, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv8i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv8i8_vx( %va, i8 %b) nounwind { ; RV32V-LABEL: clmulh_nxv8i8_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a1, zero, e8, m1, ta, ma ; RV32V-NEXT: vmv.v.x v12, a0 ; RV32V-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vzext.vf2 v8, v12 ; RV32V-NEXT: vand.vi v12, v8, 2 ; RV32V-NEXT: vand.vi v14, v8, 1 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v14, v12 ; RV32V-NEXT: vand.vi v14, v8, 4 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vi v14, v8, 8 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v10, v12, v8 ; RV32V-NEXT: vsetvli zero, zero, e8, m1, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v10, 8 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv8i8_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e8, m1, ta, ma ; RV64V-NEXT: vmv.v.x v12, a0 ; RV64V-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vzext.vf2 v8, v12 ; RV64V-NEXT: vand.vi v12, v8, 2 ; RV64V-NEXT: vand.vi v14, v8, 1 ; RV64V-NEXT: vmul.vv v12, v10, v12 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v14, v12 ; RV64V-NEXT: vand.vi v14, v8, 4 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vi v14, v8, 8 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vxor.vv v10, v12, v8 ; RV64V-NEXT: vsetvli zero, zero, e8, m1, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v10, 8 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv8i8_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e8, m1, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v24, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e64, m8, ta, ma ; RV32ZVBC64-NEXT: vzext.vf8 v16, v8 ; RV32ZVBC64-NEXT: vzext.vf8 v8, v24 ; RV32ZVBC64-NEXT: vclmul.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v16, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v10, v16, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e8, m1, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v10, 8 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv8i8_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e8, m1, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v24, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e64, m8, ta, ma ; RV64ZVBC64-NEXT: vzext.vf8 v16, v8 ; RV64ZVBC64-NEXT: vzext.vf8 v8, v24 ; RV64ZVBC64-NEXT: vclmul.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v16, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v10, v16, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e8, m1, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v10, 8 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv8i8_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e8, m1, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv8i8_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e8, m1, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i8 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv8i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv16i8_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv16i8_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a0, zero, e16, m4, ta, ma ; RV32V-NEXT: vzext.vf2 v12, v8 ; RV32V-NEXT: vzext.vf2 v16, v10 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vi v8, v16, 2 ; RV32V-NEXT: vand.vi v20, v16, 1 ; RV32V-NEXT: vmul.vv v8, v12, v8 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v20, v8 ; RV32V-NEXT: vand.vi v20, v16, 4 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vi v20, v16, 8 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vmul.vv v12, v12, v16 ; RV32V-NEXT: vxor.vv v12, v8, v12 ; RV32V-NEXT: vsetvli zero, zero, e8, m2, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v12, 8 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv16i8_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e16, m4, ta, ma ; RV64V-NEXT: vzext.vf2 v12, v8 ; RV64V-NEXT: vzext.vf2 v16, v10 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vand.vi v8, v16, 2 ; RV64V-NEXT: vand.vi v20, v16, 1 ; RV64V-NEXT: vmul.vv v8, v12, v8 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v20, v8 ; RV64V-NEXT: vand.vi v20, v16, 4 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vi v20, v16, 8 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vmul.vv v12, v12, v16 ; RV64V-NEXT: vxor.vv v12, v8, v12 ; RV64V-NEXT: vsetvli zero, zero, e8, m2, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v12, 8 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv16i8_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e16, m4, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v12, v8 ; RV32ZVBC64-NEXT: vzext.vf2 v16, v10 ; RV32ZVBC64-NEXT: li a0, 16 ; RV32ZVBC64-NEXT: vand.vi v8, v16, 2 ; RV32ZVBC64-NEXT: vand.vi v20, v16, 1 ; RV32ZVBC64-NEXT: vmul.vv v8, v12, v8 ; RV32ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV32ZVBC64-NEXT: vxor.vv v8, v20, v8 ; RV32ZVBC64-NEXT: vand.vi v20, v16, 4 ; RV32ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v20 ; RV32ZVBC64-NEXT: vand.vi v20, v16, 8 ; RV32ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v20 ; RV32ZVBC64-NEXT: vand.vx v20, v16, a0 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v20 ; RV32ZVBC64-NEXT: vand.vx v20, v16, a0 ; RV32ZVBC64-NEXT: li a0, 64 ; RV32ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v20 ; RV32ZVBC64-NEXT: vand.vx v20, v16, a0 ; RV32ZVBC64-NEXT: li a0, 128 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v20 ; RV32ZVBC64-NEXT: vmul.vv v12, v12, v16 ; RV32ZVBC64-NEXT: vxor.vv v12, v8, v12 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e8, m2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v12, 8 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv16i8_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e16, m4, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v12, v8 ; RV64ZVBC64-NEXT: vzext.vf2 v16, v10 ; RV64ZVBC64-NEXT: li a0, 16 ; RV64ZVBC64-NEXT: vand.vi v8, v16, 2 ; RV64ZVBC64-NEXT: vand.vi v20, v16, 1 ; RV64ZVBC64-NEXT: vmul.vv v8, v12, v8 ; RV64ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV64ZVBC64-NEXT: vxor.vv v8, v20, v8 ; RV64ZVBC64-NEXT: vand.vi v20, v16, 4 ; RV64ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v20 ; RV64ZVBC64-NEXT: vand.vi v20, v16, 8 ; RV64ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v20 ; RV64ZVBC64-NEXT: vand.vx v20, v16, a0 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v20 ; RV64ZVBC64-NEXT: vand.vx v20, v16, a0 ; RV64ZVBC64-NEXT: li a0, 64 ; RV64ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v20 ; RV64ZVBC64-NEXT: vand.vx v20, v16, a0 ; RV64ZVBC64-NEXT: li a0, 128 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v20 ; RV64ZVBC64-NEXT: vmul.vv v12, v12, v16 ; RV64ZVBC64-NEXT: vxor.vv v12, v8, v12 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e8, m2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v12, 8 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv16i8_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e8, m2, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v10 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv16i8_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e8, m2, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v10 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv16i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv16i8_vx( %va, i8 %b) nounwind { ; RV32V-LABEL: clmulh_nxv16i8_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a1, zero, e8, m2, ta, ma ; RV32V-NEXT: vmv.v.x v16, a0 ; RV32V-NEXT: vsetvli zero, zero, e16, m4, ta, ma ; RV32V-NEXT: vzext.vf2 v12, v8 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vzext.vf2 v8, v16 ; RV32V-NEXT: vand.vi v16, v8, 2 ; RV32V-NEXT: vand.vi v20, v8, 1 ; RV32V-NEXT: vmul.vv v16, v12, v16 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v20, v16 ; RV32V-NEXT: vand.vi v20, v8, 4 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vi v20, v8, 8 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vmul.vv v8, v12, v8 ; RV32V-NEXT: vxor.vv v12, v16, v8 ; RV32V-NEXT: vsetvli zero, zero, e8, m2, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v12, 8 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv16i8_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e8, m2, ta, ma ; RV64V-NEXT: vmv.v.x v16, a0 ; RV64V-NEXT: vsetvli zero, zero, e16, m4, ta, ma ; RV64V-NEXT: vzext.vf2 v12, v8 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vzext.vf2 v8, v16 ; RV64V-NEXT: vand.vi v16, v8, 2 ; RV64V-NEXT: vand.vi v20, v8, 1 ; RV64V-NEXT: vmul.vv v16, v12, v16 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v20, v16 ; RV64V-NEXT: vand.vi v20, v8, 4 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vi v20, v8, 8 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vmul.vv v8, v12, v8 ; RV64V-NEXT: vxor.vv v12, v16, v8 ; RV64V-NEXT: vsetvli zero, zero, e8, m2, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v12, 8 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv16i8_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e8, m2, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v16, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, m4, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v12, v8 ; RV32ZVBC64-NEXT: li a0, 16 ; RV32ZVBC64-NEXT: vzext.vf2 v8, v16 ; RV32ZVBC64-NEXT: vand.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vi v20, v8, 1 ; RV32ZVBC64-NEXT: vmul.vv v16, v12, v16 ; RV32ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV32ZVBC64-NEXT: vxor.vv v16, v20, v16 ; RV32ZVBC64-NEXT: vand.vi v20, v8, 4 ; RV32ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC64-NEXT: vand.vi v20, v8, 8 ; RV32ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC64-NEXT: vand.vx v20, v8, a0 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC64-NEXT: vand.vx v20, v8, a0 ; RV32ZVBC64-NEXT: li a0, 64 ; RV32ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC64-NEXT: vand.vx v20, v8, a0 ; RV32ZVBC64-NEXT: li a0, 128 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC64-NEXT: vmul.vv v8, v12, v8 ; RV32ZVBC64-NEXT: vxor.vv v12, v16, v8 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e8, m2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v12, 8 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv16i8_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e8, m2, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v16, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, m4, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v12, v8 ; RV64ZVBC64-NEXT: li a0, 16 ; RV64ZVBC64-NEXT: vzext.vf2 v8, v16 ; RV64ZVBC64-NEXT: vand.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vi v20, v8, 1 ; RV64ZVBC64-NEXT: vmul.vv v16, v12, v16 ; RV64ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV64ZVBC64-NEXT: vxor.vv v16, v20, v16 ; RV64ZVBC64-NEXT: vand.vi v20, v8, 4 ; RV64ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC64-NEXT: vand.vi v20, v8, 8 ; RV64ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC64-NEXT: vand.vx v20, v8, a0 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC64-NEXT: vand.vx v20, v8, a0 ; RV64ZVBC64-NEXT: li a0, 64 ; RV64ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC64-NEXT: vand.vx v20, v8, a0 ; RV64ZVBC64-NEXT: li a0, 128 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vmul.vv v20, v12, v20 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC64-NEXT: vmul.vv v8, v12, v8 ; RV64ZVBC64-NEXT: vxor.vv v12, v16, v8 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e8, m2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v12, 8 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv16i8_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e8, m2, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv16i8_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e8, m2, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i8 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv16i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv32i8_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv32i8_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a0, zero, e16, m8, ta, ma ; RV32V-NEXT: vzext.vf2 v16, v8 ; RV32V-NEXT: vzext.vf2 v24, v12 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vi v8, v24, 2 ; RV32V-NEXT: vand.vi v0, v24, 1 ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v0, v8 ; RV32V-NEXT: vand.vi v0, v24, 4 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vi v0, v24, 8 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v24, v24, a0 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vmul.vv v16, v16, v24 ; RV32V-NEXT: vxor.vv v16, v8, v16 ; RV32V-NEXT: vsetvli zero, zero, e8, m4, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v16, 8 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv32i8_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e16, m8, ta, ma ; RV64V-NEXT: vzext.vf2 v16, v8 ; RV64V-NEXT: vzext.vf2 v24, v12 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vand.vi v8, v24, 2 ; RV64V-NEXT: vand.vi v0, v24, 1 ; RV64V-NEXT: vmul.vv v8, v16, v8 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v0, v8 ; RV64V-NEXT: vand.vi v0, v24, 4 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vi v0, v24, 8 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vand.vx v24, v24, a0 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vmul.vv v16, v16, v24 ; RV64V-NEXT: vxor.vv v16, v8, v16 ; RV64V-NEXT: vsetvli zero, zero, e8, m4, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v16, 8 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv32i8_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e16, m8, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v16, v8 ; RV32ZVBC64-NEXT: vzext.vf2 v24, v12 ; RV32ZVBC64-NEXT: li a0, 16 ; RV32ZVBC64-NEXT: vand.vi v8, v24, 2 ; RV32ZVBC64-NEXT: vand.vi v0, v24, 1 ; RV32ZVBC64-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v0, v8 ; RV32ZVBC64-NEXT: vand.vi v0, v24, 4 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vi v0, v24, 8 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: li a0, 64 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: li a0, 128 ; RV32ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vmul.vv v16, v16, v24 ; RV32ZVBC64-NEXT: vxor.vv v16, v8, v16 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e8, m4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v16, 8 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv32i8_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e16, m8, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v16, v8 ; RV64ZVBC64-NEXT: vzext.vf2 v24, v12 ; RV64ZVBC64-NEXT: li a0, 16 ; RV64ZVBC64-NEXT: vand.vi v8, v24, 2 ; RV64ZVBC64-NEXT: vand.vi v0, v24, 1 ; RV64ZVBC64-NEXT: vmul.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v0, v8 ; RV64ZVBC64-NEXT: vand.vi v0, v24, 4 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vi v0, v24, 8 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: li a0, 64 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: li a0, 128 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vmul.vv v16, v16, v24 ; RV64ZVBC64-NEXT: vxor.vv v16, v8, v16 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e8, m4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v16, 8 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv32i8_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e8, m4, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v12 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv32i8_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e8, m4, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v12 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv32i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv32i8_vx( %va, i8 %b) nounwind { ; RV32V-LABEL: clmulh_nxv32i8_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a1, zero, e8, m4, ta, ma ; RV32V-NEXT: vmv.v.x v24, a0 ; RV32V-NEXT: vsetvli zero, zero, e16, m8, ta, ma ; RV32V-NEXT: vzext.vf2 v16, v8 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vzext.vf2 v8, v24 ; RV32V-NEXT: vand.vi v24, v8, 2 ; RV32V-NEXT: vand.vi v0, v8, 1 ; RV32V-NEXT: vmul.vv v24, v16, v24 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v0, v24 ; RV32V-NEXT: vand.vi v0, v8, 4 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vi v0, v8, 8 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: vxor.vv v16, v24, v8 ; RV32V-NEXT: vsetvli zero, zero, e8, m4, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v16, 8 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv32i8_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e8, m4, ta, ma ; RV64V-NEXT: vmv.v.x v24, a0 ; RV64V-NEXT: vsetvli zero, zero, e16, m8, ta, ma ; RV64V-NEXT: vzext.vf2 v16, v8 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vzext.vf2 v8, v24 ; RV64V-NEXT: vand.vi v24, v8, 2 ; RV64V-NEXT: vand.vi v0, v8, 1 ; RV64V-NEXT: vmul.vv v24, v16, v24 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v0, v24 ; RV64V-NEXT: vand.vi v0, v8, 4 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vi v0, v8, 8 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vv v8, v16, v8 ; RV64V-NEXT: vxor.vv v16, v24, v8 ; RV64V-NEXT: vsetvli zero, zero, e8, m4, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v16, 8 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv32i8_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e8, m4, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v24, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, m8, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v16, v8 ; RV32ZVBC64-NEXT: li a0, 16 ; RV32ZVBC64-NEXT: vzext.vf2 v8, v24 ; RV32ZVBC64-NEXT: vand.vi v24, v8, 2 ; RV32ZVBC64-NEXT: vand.vi v0, v8, 1 ; RV32ZVBC64-NEXT: vmul.vv v24, v16, v24 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v0, v24 ; RV32ZVBC64-NEXT: vand.vi v0, v8, 4 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vi v0, v8, 8 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: li a0, 64 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: li a0, 128 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vxor.vv v16, v24, v8 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e8, m4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v16, 8 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv32i8_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e8, m4, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v24, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, m8, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v16, v8 ; RV64ZVBC64-NEXT: li a0, 16 ; RV64ZVBC64-NEXT: vzext.vf2 v8, v24 ; RV64ZVBC64-NEXT: vand.vi v24, v8, 2 ; RV64ZVBC64-NEXT: vand.vi v0, v8, 1 ; RV64ZVBC64-NEXT: vmul.vv v24, v16, v24 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v0, v24 ; RV64ZVBC64-NEXT: vand.vi v0, v8, 4 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vi v0, v8, 8 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: li a0, 64 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: li a0, 128 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vmul.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vxor.vv v16, v24, v8 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e8, m4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v16, 8 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv32i8_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e8, m4, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv32i8_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e8, m4, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i8 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv32i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv64i8_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv64i8_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: sub sp, sp, a0 ; RV32V-NEXT: vsetvli a0, zero, e8, m8, ta, ma ; RV32V-NEXT: vsll.vi v24, v8, 4 ; RV32V-NEXT: vsrl.vi v8, v8, 4 ; RV32V-NEXT: li a0, 51 ; RV32V-NEXT: li a1, 85 ; RV32V-NEXT: vsll.vi v0, v16, 4 ; RV32V-NEXT: vsrl.vi v16, v16, 4 ; RV32V-NEXT: li a2, 16 ; RV32V-NEXT: li a3, 32 ; RV32V-NEXT: vor.vv v16, v16, v0 ; RV32V-NEXT: vsrl.vi v0, v16, 2 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vand.vx v0, v0, a0 ; RV32V-NEXT: vsll.vi v16, v16, 2 ; RV32V-NEXT: vor.vv v16, v0, v16 ; RV32V-NEXT: vsrl.vi v0, v16, 1 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vand.vx v0, v0, a1 ; RV32V-NEXT: vadd.vv v16, v16, v16 ; RV32V-NEXT: vor.vv v0, v0, v16 ; RV32V-NEXT: vand.vx v16, v0, a2 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: mv a4, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a4 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: li a2, 64 ; RV32V-NEXT: vor.vv v8, v8, v24 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vx v8, v8, a1 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vand.vx v16, v0, a3 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: li a3, 128 ; RV32V-NEXT: vand.vx v16, v0, a2 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 5 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v16, v0, 2 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a4, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a4 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v24, v0, 1 ; RV32V-NEXT: vand.vi v16, v0, 4 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v16, v0, 8 ; RV32V-NEXT: addi a2, sp, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v0, v0, a3 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v0, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vmul.vv v24, v8, v24 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a2, sp, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v0, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 2 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 2 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 5 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 5 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v24, v16 ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v24, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v16, v24 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 2 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 5 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vxor.vv v8, v24, v8 ; RV32V-NEXT: vsll.vi v16, v16, 4 ; RV32V-NEXT: vsrl.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v8, v16 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vx v8, v8, a1 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv64i8_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: sub sp, sp, a0 ; RV64V-NEXT: vsetvli a0, zero, e8, m8, ta, ma ; RV64V-NEXT: vsll.vi v24, v8, 4 ; RV64V-NEXT: vsrl.vi v8, v8, 4 ; RV64V-NEXT: li a0, 51 ; RV64V-NEXT: li a1, 85 ; RV64V-NEXT: vsll.vi v0, v16, 4 ; RV64V-NEXT: vsrl.vi v16, v16, 4 ; RV64V-NEXT: li a2, 16 ; RV64V-NEXT: li a3, 32 ; RV64V-NEXT: vor.vv v16, v16, v0 ; RV64V-NEXT: vsrl.vi v0, v16, 2 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vand.vx v0, v0, a0 ; RV64V-NEXT: vsll.vi v16, v16, 2 ; RV64V-NEXT: vor.vv v16, v0, v16 ; RV64V-NEXT: vsrl.vi v0, v16, 1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vand.vx v0, v0, a1 ; RV64V-NEXT: vadd.vv v16, v16, v16 ; RV64V-NEXT: vor.vv v0, v0, v16 ; RV64V-NEXT: vand.vx v16, v0, a2 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: mv a4, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a4 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: li a2, 64 ; RV64V-NEXT: vor.vv v8, v8, v24 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vand.vx v16, v0, a3 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: li a3, 128 ; RV64V-NEXT: vand.vx v16, v0, a2 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 5 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 2 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a4, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a4 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v24, v0, 1 ; RV64V-NEXT: vand.vi v16, v0, 4 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 8 ; RV64V-NEXT: addi a2, sp, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v0, v0, a3 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v0, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vmul.vv v24, v8, v24 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: addi a2, sp, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v0, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 5 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 5 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v8, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v24, v16 ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v24, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v16, v24 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 5 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vxor.vv v8, v24, v8 ; RV64V-NEXT: vsll.vi v16, v16, 4 ; RV64V-NEXT: vsrl.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v8, v16 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: addi sp, sp, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv64i8_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: addi sp, sp, -16 ; RV32ZVBC64-NEXT: csrr a0, vlenb ; RV32ZVBC64-NEXT: slli a0, a0, 3 ; RV32ZVBC64-NEXT: mv a1, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 1 ; RV32ZVBC64-NEXT: add a1, a1, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 1 ; RV32ZVBC64-NEXT: add a0, a0, a1 ; RV32ZVBC64-NEXT: sub sp, sp, a0 ; RV32ZVBC64-NEXT: vsetvli a0, zero, e8, m8, ta, ma ; RV32ZVBC64-NEXT: vsll.vi v24, v8, 4 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 4 ; RV32ZVBC64-NEXT: li a0, 51 ; RV32ZVBC64-NEXT: li a1, 85 ; RV32ZVBC64-NEXT: vsll.vi v0, v16, 4 ; RV32ZVBC64-NEXT: vsrl.vi v16, v16, 4 ; RV32ZVBC64-NEXT: li a2, 16 ; RV32ZVBC64-NEXT: li a3, 32 ; RV32ZVBC64-NEXT: vor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: vsrl.vi v0, v16, 2 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vand.vx v0, v0, a0 ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 2 ; RV32ZVBC64-NEXT: vor.vv v16, v0, v16 ; RV32ZVBC64-NEXT: vsrl.vi v0, v16, 1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vand.vx v0, v0, a1 ; RV32ZVBC64-NEXT: vadd.vv v16, v16, v16 ; RV32ZVBC64-NEXT: vor.vv v0, v0, v16 ; RV32ZVBC64-NEXT: vand.vx v16, v0, a2 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 4 ; RV32ZVBC64-NEXT: mv a4, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a4 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: li a2, 64 ; RV32ZVBC64-NEXT: vor.vv v8, v8, v24 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vand.vx v16, v0, a3 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: li a3, 128 ; RV32ZVBC64-NEXT: vand.vx v16, v0, a2 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 5 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v16, v0, 2 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a4, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a4 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v24, v0, 1 ; RV32ZVBC64-NEXT: vand.vi v16, v0, 4 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v16, v0, 8 ; RV32ZVBC64-NEXT: addi a2, sp, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v0, v0, a3 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 4 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v0, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vmul.vv v24, v8, v24 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: addi a2, sp, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v0, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 4 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 4 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 2 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 2 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 5 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 5 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 4 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v8, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v24, v16 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 4 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v24, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v16, v24 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 2 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 5 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v24, v8 ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 4 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 4 ; RV32ZVBC64-NEXT: vor.vv v8, v8, v16 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC64-NEXT: csrr a0, vlenb ; RV32ZVBC64-NEXT: slli a0, a0, 3 ; RV32ZVBC64-NEXT: mv a1, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 1 ; RV32ZVBC64-NEXT: add a1, a1, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 1 ; RV32ZVBC64-NEXT: add a0, a0, a1 ; RV32ZVBC64-NEXT: add sp, sp, a0 ; RV32ZVBC64-NEXT: addi sp, sp, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv64i8_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: addi sp, sp, -16 ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 3 ; RV64ZVBC64-NEXT: mv a1, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 1 ; RV64ZVBC64-NEXT: add a1, a1, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 1 ; RV64ZVBC64-NEXT: add a0, a0, a1 ; RV64ZVBC64-NEXT: sub sp, sp, a0 ; RV64ZVBC64-NEXT: vsetvli a0, zero, e8, m8, ta, ma ; RV64ZVBC64-NEXT: vsll.vi v24, v8, 4 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 4 ; RV64ZVBC64-NEXT: li a0, 51 ; RV64ZVBC64-NEXT: li a1, 85 ; RV64ZVBC64-NEXT: vsll.vi v0, v16, 4 ; RV64ZVBC64-NEXT: vsrl.vi v16, v16, 4 ; RV64ZVBC64-NEXT: li a2, 16 ; RV64ZVBC64-NEXT: li a3, 32 ; RV64ZVBC64-NEXT: vor.vv v16, v16, v0 ; RV64ZVBC64-NEXT: vsrl.vi v0, v16, 2 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vand.vx v0, v0, a0 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 2 ; RV64ZVBC64-NEXT: vor.vv v16, v0, v16 ; RV64ZVBC64-NEXT: vsrl.vi v0, v16, 1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vand.vx v0, v0, a1 ; RV64ZVBC64-NEXT: vadd.vv v16, v16, v16 ; RV64ZVBC64-NEXT: vor.vv v0, v0, v16 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a2 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 4 ; RV64ZVBC64-NEXT: mv a4, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a4 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: li a2, 64 ; RV64ZVBC64-NEXT: vor.vv v8, v8, v24 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a3 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: li a3, 128 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a2 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 5 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v16, v0, 2 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a4, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a4 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v24, v0, 1 ; RV64ZVBC64-NEXT: vand.vi v16, v0, 4 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v16, v0, 8 ; RV64ZVBC64-NEXT: addi a2, sp, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v0, v0, a3 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 4 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v0, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vmul.vv v24, v8, v24 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: addi a2, sp, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v0, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 4 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 4 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 2 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 2 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 5 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 5 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 4 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v8, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v24, v16 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 4 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v24, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v16, v24 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 2 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 5 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v24, v8 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 4 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 4 ; RV64ZVBC64-NEXT: vor.vv v8, v8, v16 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 3 ; RV64ZVBC64-NEXT: mv a1, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 1 ; RV64ZVBC64-NEXT: add a1, a1, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 1 ; RV64ZVBC64-NEXT: add a0, a0, a1 ; RV64ZVBC64-NEXT: add sp, sp, a0 ; RV64ZVBC64-NEXT: addi sp, sp, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv64i8_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e8, m8, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v16 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv64i8_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e8, m8, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v16 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv64i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv64i8_vx( %va, i8 %b) nounwind { ; RV32V-LABEL: clmulh_nxv64i8_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: csrr a1, vlenb ; RV32V-NEXT: slli a1, a1, 3 ; RV32V-NEXT: mv a2, a1 ; RV32V-NEXT: slli a1, a1, 1 ; RV32V-NEXT: add a2, a2, a1 ; RV32V-NEXT: slli a1, a1, 1 ; RV32V-NEXT: add a1, a1, a2 ; RV32V-NEXT: sub sp, sp, a1 ; RV32V-NEXT: vsetvli a1, zero, e8, m8, ta, ma ; RV32V-NEXT: vmv.v.x v24, a0 ; RV32V-NEXT: vsll.vi v16, v8, 4 ; RV32V-NEXT: vsrl.vi v8, v8, 4 ; RV32V-NEXT: li a0, 51 ; RV32V-NEXT: li a1, 85 ; RV32V-NEXT: li a2, 16 ; RV32V-NEXT: li a3, 32 ; RV32V-NEXT: vsll.vi v0, v24, 4 ; RV32V-NEXT: vsrl.vi v24, v24, 4 ; RV32V-NEXT: vor.vv v24, v24, v0 ; RV32V-NEXT: vsrl.vi v0, v24, 2 ; RV32V-NEXT: vand.vx v24, v24, a0 ; RV32V-NEXT: vand.vx v0, v0, a0 ; RV32V-NEXT: vsll.vi v24, v24, 2 ; RV32V-NEXT: vor.vv v24, v0, v24 ; RV32V-NEXT: vsrl.vi v0, v24, 1 ; RV32V-NEXT: vand.vx v24, v24, a1 ; RV32V-NEXT: vand.vx v0, v0, a1 ; RV32V-NEXT: vadd.vv v24, v24, v24 ; RV32V-NEXT: vor.vv v0, v0, v24 ; RV32V-NEXT: vand.vx v24, v0, a2 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: mv a4, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a4 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v24, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: li a2, 64 ; RV32V-NEXT: vor.vv v8, v8, v16 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vx v8, v8, a1 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vand.vx v16, v0, a3 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: li a3, 128 ; RV32V-NEXT: vand.vx v16, v0, a2 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 5 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v16, v0, 2 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a4, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a4 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v24, v0, 1 ; RV32V-NEXT: vand.vi v16, v0, 4 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v16, v0, 8 ; RV32V-NEXT: addi a2, sp, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v0, v0, a3 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v0, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vmul.vv v24, v8, v24 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a2, sp, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v0, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 2 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 2 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 5 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 5 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v8, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v16 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v24, v16 ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v24, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v16, v24 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 2 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 5 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 16 ; RV32V-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vxor.vv v8, v24, v8 ; RV32V-NEXT: vsll.vi v16, v16, 4 ; RV32V-NEXT: vsrl.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v8, v16 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vx v8, v8, a1 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv64i8_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -16 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: sub sp, sp, a1 ; RV64V-NEXT: vsetvli a1, zero, e8, m8, ta, ma ; RV64V-NEXT: vmv.v.x v24, a0 ; RV64V-NEXT: vsll.vi v16, v8, 4 ; RV64V-NEXT: vsrl.vi v8, v8, 4 ; RV64V-NEXT: li a0, 51 ; RV64V-NEXT: li a1, 85 ; RV64V-NEXT: li a2, 16 ; RV64V-NEXT: li a3, 32 ; RV64V-NEXT: vsll.vi v0, v24, 4 ; RV64V-NEXT: vsrl.vi v24, v24, 4 ; RV64V-NEXT: vor.vv v24, v24, v0 ; RV64V-NEXT: vsrl.vi v0, v24, 2 ; RV64V-NEXT: vand.vx v24, v24, a0 ; RV64V-NEXT: vand.vx v0, v0, a0 ; RV64V-NEXT: vsll.vi v24, v24, 2 ; RV64V-NEXT: vor.vv v24, v0, v24 ; RV64V-NEXT: vsrl.vi v0, v24, 1 ; RV64V-NEXT: vand.vx v24, v24, a1 ; RV64V-NEXT: vand.vx v0, v0, a1 ; RV64V-NEXT: vadd.vv v24, v24, v24 ; RV64V-NEXT: vor.vv v0, v0, v24 ; RV64V-NEXT: vand.vx v24, v0, a2 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: mv a4, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a4 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v24, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: li a2, 64 ; RV64V-NEXT: vor.vv v8, v8, v16 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vand.vx v16, v0, a3 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: li a3, 128 ; RV64V-NEXT: vand.vx v16, v0, a2 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 5 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 2 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a4, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a4 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v24, v0, 1 ; RV64V-NEXT: vand.vi v16, v0, 4 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 8 ; RV64V-NEXT: addi a2, sp, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v0, v0, a3 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v0, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vmul.vv v24, v8, v24 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: addi a2, sp, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v0, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 5 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 5 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v8, v8, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v16 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v24, v16 ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v24, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v16, v24 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 5 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vxor.vv v8, v24, v8 ; RV64V-NEXT: vsll.vi v16, v16, 4 ; RV64V-NEXT: vsrl.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v8, v16 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: addi sp, sp, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv64i8_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: addi sp, sp, -16 ; RV32ZVBC64-NEXT: csrr a1, vlenb ; RV32ZVBC64-NEXT: slli a1, a1, 3 ; RV32ZVBC64-NEXT: mv a2, a1 ; RV32ZVBC64-NEXT: slli a1, a1, 1 ; RV32ZVBC64-NEXT: add a2, a2, a1 ; RV32ZVBC64-NEXT: slli a1, a1, 1 ; RV32ZVBC64-NEXT: add a1, a1, a2 ; RV32ZVBC64-NEXT: sub sp, sp, a1 ; RV32ZVBC64-NEXT: vsetvli a1, zero, e8, m8, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v24, a0 ; RV32ZVBC64-NEXT: vsll.vi v16, v8, 4 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 4 ; RV32ZVBC64-NEXT: li a0, 51 ; RV32ZVBC64-NEXT: li a1, 85 ; RV32ZVBC64-NEXT: li a2, 16 ; RV32ZVBC64-NEXT: li a3, 32 ; RV32ZVBC64-NEXT: vsll.vi v0, v24, 4 ; RV32ZVBC64-NEXT: vsrl.vi v24, v24, 4 ; RV32ZVBC64-NEXT: vor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vsrl.vi v0, v24, 2 ; RV32ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV32ZVBC64-NEXT: vand.vx v0, v0, a0 ; RV32ZVBC64-NEXT: vsll.vi v24, v24, 2 ; RV32ZVBC64-NEXT: vor.vv v24, v0, v24 ; RV32ZVBC64-NEXT: vsrl.vi v0, v24, 1 ; RV32ZVBC64-NEXT: vand.vx v24, v24, a1 ; RV32ZVBC64-NEXT: vand.vx v0, v0, a1 ; RV32ZVBC64-NEXT: vadd.vv v24, v24, v24 ; RV32ZVBC64-NEXT: vor.vv v0, v0, v24 ; RV32ZVBC64-NEXT: vand.vx v24, v0, a2 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 4 ; RV32ZVBC64-NEXT: mv a4, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a4 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v24, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: li a2, 64 ; RV32ZVBC64-NEXT: vor.vv v8, v8, v16 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vand.vx v16, v0, a3 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: li a3, 128 ; RV32ZVBC64-NEXT: vand.vx v16, v0, a2 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 5 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v16, v0, 2 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a4, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a4 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v24, v0, 1 ; RV32ZVBC64-NEXT: vand.vi v16, v0, 4 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v16, v0, 8 ; RV32ZVBC64-NEXT: addi a2, sp, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v0, v0, a3 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 4 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v0, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vmul.vv v24, v8, v24 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: addi a2, sp, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v0, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 4 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 4 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 2 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 2 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 5 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 5 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 4 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v8, v8, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v16 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v24, v16 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 4 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 1 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v24, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v16, v24 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 3 ; RV32ZVBC64-NEXT: mv a3, a2 ; RV32ZVBC64-NEXT: slli a2, a2, 2 ; RV32ZVBC64-NEXT: add a2, a2, a3 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: csrr a2, vlenb ; RV32ZVBC64-NEXT: slli a2, a2, 5 ; RV32ZVBC64-NEXT: add a2, sp, a2 ; RV32ZVBC64-NEXT: addi a2, a2, 16 ; RV32ZVBC64-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v24, v8 ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 4 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 4 ; RV32ZVBC64-NEXT: vor.vv v8, v8, v16 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC64-NEXT: csrr a0, vlenb ; RV32ZVBC64-NEXT: slli a0, a0, 3 ; RV32ZVBC64-NEXT: mv a1, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 1 ; RV32ZVBC64-NEXT: add a1, a1, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 1 ; RV32ZVBC64-NEXT: add a0, a0, a1 ; RV32ZVBC64-NEXT: add sp, sp, a0 ; RV32ZVBC64-NEXT: addi sp, sp, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv64i8_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: addi sp, sp, -16 ; RV64ZVBC64-NEXT: csrr a1, vlenb ; RV64ZVBC64-NEXT: slli a1, a1, 3 ; RV64ZVBC64-NEXT: mv a2, a1 ; RV64ZVBC64-NEXT: slli a1, a1, 1 ; RV64ZVBC64-NEXT: add a2, a2, a1 ; RV64ZVBC64-NEXT: slli a1, a1, 1 ; RV64ZVBC64-NEXT: add a1, a1, a2 ; RV64ZVBC64-NEXT: sub sp, sp, a1 ; RV64ZVBC64-NEXT: vsetvli a1, zero, e8, m8, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v24, a0 ; RV64ZVBC64-NEXT: vsll.vi v16, v8, 4 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 4 ; RV64ZVBC64-NEXT: li a0, 51 ; RV64ZVBC64-NEXT: li a1, 85 ; RV64ZVBC64-NEXT: li a2, 16 ; RV64ZVBC64-NEXT: li a3, 32 ; RV64ZVBC64-NEXT: vsll.vi v0, v24, 4 ; RV64ZVBC64-NEXT: vsrl.vi v24, v24, 4 ; RV64ZVBC64-NEXT: vor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vsrl.vi v0, v24, 2 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV64ZVBC64-NEXT: vand.vx v0, v0, a0 ; RV64ZVBC64-NEXT: vsll.vi v24, v24, 2 ; RV64ZVBC64-NEXT: vor.vv v24, v0, v24 ; RV64ZVBC64-NEXT: vsrl.vi v0, v24, 1 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a1 ; RV64ZVBC64-NEXT: vand.vx v0, v0, a1 ; RV64ZVBC64-NEXT: vadd.vv v24, v24, v24 ; RV64ZVBC64-NEXT: vor.vv v0, v0, v24 ; RV64ZVBC64-NEXT: vand.vx v24, v0, a2 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 4 ; RV64ZVBC64-NEXT: mv a4, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a4 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v24, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: li a2, 64 ; RV64ZVBC64-NEXT: vor.vv v8, v8, v16 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a3 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: li a3, 128 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a2 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 5 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v16, v0, 2 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a4, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a4 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v24, v0, 1 ; RV64ZVBC64-NEXT: vand.vi v16, v0, 4 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v16, v0, 8 ; RV64ZVBC64-NEXT: addi a2, sp, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v0, v0, a3 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 4 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v0, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vmul.vv v24, v8, v24 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: addi a2, sp, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v0, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 4 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 4 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 2 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 2 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 5 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 5 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a2) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 4 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v8, v8, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v16 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v24, v16 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 4 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 1 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v24, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v16, v24 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 3 ; RV64ZVBC64-NEXT: mv a3, a2 ; RV64ZVBC64-NEXT: slli a2, a2, 2 ; RV64ZVBC64-NEXT: add a2, a2, a3 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: csrr a2, vlenb ; RV64ZVBC64-NEXT: slli a2, a2, 5 ; RV64ZVBC64-NEXT: add a2, sp, a2 ; RV64ZVBC64-NEXT: addi a2, a2, 16 ; RV64ZVBC64-NEXT: vl8r.v v0, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v24, v8 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 4 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 4 ; RV64ZVBC64-NEXT: vor.vv v8, v8, v16 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 3 ; RV64ZVBC64-NEXT: mv a1, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 1 ; RV64ZVBC64-NEXT: add a1, a1, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 1 ; RV64ZVBC64-NEXT: add a0, a0, a1 ; RV64ZVBC64-NEXT: add sp, sp, a0 ; RV64ZVBC64-NEXT: addi sp, sp, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv64i8_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e8, m8, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv64i8_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e8, m8, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i8 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv64i16( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i16 8) %res = trunc %res.ext to ret %res } define @clmulh_nxv1i16_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv1i16_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a0, zero, e32, mf2, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: vzext.vf2 v8, v9 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vi v9, v8, 2 ; RV32V-NEXT: vand.vi v11, v8, 1 ; RV32V-NEXT: vmul.vv v9, v10, v9 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v11, v9 ; RV32V-NEXT: vand.vi v11, v8, 4 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vi v11, v8, 8 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 1 ; RV32V-NEXT: slli a0, a0, 11 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 1 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 2 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 4 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 8 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v8, v9, v8 ; RV32V-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v8, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv1i16_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e32, mf2, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: vzext.vf2 v8, v9 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vand.vi v9, v8, 2 ; RV64V-NEXT: vand.vi v11, v8, 1 ; RV64V-NEXT: vmul.vv v9, v10, v9 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v11, v9 ; RV64V-NEXT: vand.vi v11, v8, 4 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vi v11, v8, 8 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 256 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 512 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 1024 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: slli a0, a0, 11 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 1 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 2 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 4 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 8 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vxor.vv v8, v9, v8 ; RV64V-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v8, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv1i16_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m1, ta, ma ; RV32ZVBC64-NEXT: vzext.vf4 v10, v9 ; RV32ZVBC64-NEXT: vzext.vf4 v9, v8 ; RV32ZVBC64-NEXT: vclmul.vv v8, v9, v10 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv1i16_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m1, ta, ma ; RV64ZVBC64-NEXT: vzext.vf4 v10, v9 ; RV64ZVBC64-NEXT: vzext.vf4 v9, v8 ; RV64ZVBC64-NEXT: vclmul.vv v8, v9, v10 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv1i16_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e16, mf4, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv1i16_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e16, mf4, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv1i32( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i32 16) %res = trunc %res.ext to ret %res } define @clmulh_nxv1i16_vx( %va, i16 %b) nounwind { ; RV32V-LABEL: clmulh_nxv1i16_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a1, zero, e16, mf4, ta, ma ; RV32V-NEXT: vmv.v.x v10, a0 ; RV32V-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV32V-NEXT: vzext.vf2 v9, v8 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vzext.vf2 v8, v10 ; RV32V-NEXT: vand.vi v10, v8, 2 ; RV32V-NEXT: vand.vi v11, v8, 1 ; RV32V-NEXT: vmul.vv v10, v9, v10 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v11, v10 ; RV32V-NEXT: vand.vi v11, v8, 4 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vi v11, v8, 8 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 1 ; RV32V-NEXT: slli a0, a0, 11 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 1 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 2 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 4 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 8 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vmul.vv v8, v9, v8 ; RV32V-NEXT: vxor.vv v8, v10, v8 ; RV32V-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v8, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv1i16_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e16, mf4, ta, ma ; RV64V-NEXT: vmv.v.x v10, a0 ; RV64V-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV64V-NEXT: vzext.vf2 v9, v8 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vzext.vf2 v8, v10 ; RV64V-NEXT: vand.vi v10, v8, 2 ; RV64V-NEXT: vand.vi v11, v8, 1 ; RV64V-NEXT: vmul.vv v10, v9, v10 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v11, v10 ; RV64V-NEXT: vand.vi v11, v8, 4 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vi v11, v8, 8 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 256 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 512 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 1024 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: slli a0, a0, 11 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 1 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 2 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 4 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 8 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vmul.vv v8, v9, v8 ; RV64V-NEXT: vxor.vv v8, v10, v8 ; RV64V-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v8, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv1i16_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e16, mf4, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v9, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e64, m1, ta, ma ; RV32ZVBC64-NEXT: vzext.vf4 v10, v8 ; RV32ZVBC64-NEXT: vzext.vf4 v8, v9 ; RV32ZVBC64-NEXT: vclmul.vv v8, v10, v8 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v8, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv1i16_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e16, mf4, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v9, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e64, m1, ta, ma ; RV64ZVBC64-NEXT: vzext.vf4 v10, v8 ; RV64ZVBC64-NEXT: vzext.vf4 v8, v9 ; RV64ZVBC64-NEXT: vclmul.vv v8, v10, v8 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, mf4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v8, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv1i16_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e16, mf4, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv1i16_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e16, mf4, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i16 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv1i32( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i32 16) %res = trunc %res.ext to ret %res } define @clmulh_nxv2i16_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv2i16_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a0, zero, e32, m1, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: vzext.vf2 v8, v9 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vi v9, v8, 2 ; RV32V-NEXT: vand.vi v11, v8, 1 ; RV32V-NEXT: vmul.vv v9, v10, v9 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v11, v9 ; RV32V-NEXT: vand.vi v11, v8, 4 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vi v11, v8, 8 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 1 ; RV32V-NEXT: slli a0, a0, 11 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 1 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 2 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 4 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 8 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v8, v9, v8 ; RV32V-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v8, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv2i16_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e32, m1, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: vzext.vf2 v8, v9 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vand.vi v9, v8, 2 ; RV64V-NEXT: vand.vi v11, v8, 1 ; RV64V-NEXT: vmul.vv v9, v10, v9 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v11, v9 ; RV64V-NEXT: vand.vi v11, v8, 4 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vi v11, v8, 8 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 256 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 512 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 1024 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: slli a0, a0, 11 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 1 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 2 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 4 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 8 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vxor.vv v8, v9, v8 ; RV64V-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v8, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv2i16_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m2, ta, ma ; RV32ZVBC64-NEXT: vzext.vf4 v10, v9 ; RV32ZVBC64-NEXT: vzext.vf4 v12, v8 ; RV32ZVBC64-NEXT: vclmul.vv v8, v12, v10 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v10, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v10, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv2i16_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m2, ta, ma ; RV64ZVBC64-NEXT: vzext.vf4 v10, v9 ; RV64ZVBC64-NEXT: vzext.vf4 v12, v8 ; RV64ZVBC64-NEXT: vclmul.vv v8, v12, v10 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v10, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v10, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv2i16_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e16, mf2, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv2i16_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e16, mf2, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv2i32( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i32 16) %res = trunc %res.ext to ret %res } define @clmulh_nxv2i16_vx( %va, i16 %b) nounwind { ; RV32V-LABEL: clmulh_nxv2i16_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a1, zero, e16, mf2, ta, ma ; RV32V-NEXT: vmv.v.x v10, a0 ; RV32V-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV32V-NEXT: vzext.vf2 v9, v8 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vzext.vf2 v8, v10 ; RV32V-NEXT: vand.vi v10, v8, 2 ; RV32V-NEXT: vand.vi v11, v8, 1 ; RV32V-NEXT: vmul.vv v10, v9, v10 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v11, v10 ; RV32V-NEXT: vand.vi v11, v8, 4 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vi v11, v8, 8 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: li a0, 1 ; RV32V-NEXT: slli a0, a0, 11 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 1 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 2 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 4 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a0 ; RV32V-NEXT: lui a0, 8 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vmul.vv v8, v9, v8 ; RV32V-NEXT: vxor.vv v8, v10, v8 ; RV32V-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v8, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv2i16_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e16, mf2, ta, ma ; RV64V-NEXT: vmv.v.x v10, a0 ; RV64V-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV64V-NEXT: vzext.vf2 v9, v8 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vzext.vf2 v8, v10 ; RV64V-NEXT: vand.vi v10, v8, 2 ; RV64V-NEXT: vand.vi v11, v8, 1 ; RV64V-NEXT: vmul.vv v10, v9, v10 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v11, v10 ; RV64V-NEXT: vand.vi v11, v8, 4 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vi v11, v8, 8 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 256 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 512 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 1024 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: slli a0, a0, 11 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 1 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 2 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 4 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: lui a0, 8 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vmul.vv v8, v9, v8 ; RV64V-NEXT: vxor.vv v8, v10, v8 ; RV64V-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v8, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv2i16_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e16, mf2, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v12, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e64, m2, ta, ma ; RV32ZVBC64-NEXT: vzext.vf4 v10, v8 ; RV32ZVBC64-NEXT: vzext.vf4 v8, v12 ; RV32ZVBC64-NEXT: vclmul.vv v8, v10, v8 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v10, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v10, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv2i16_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e16, mf2, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v12, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e64, m2, ta, ma ; RV64ZVBC64-NEXT: vzext.vf4 v10, v8 ; RV64ZVBC64-NEXT: vzext.vf4 v8, v12 ; RV64ZVBC64-NEXT: vclmul.vv v8, v10, v8 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v10, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, mf2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v10, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv2i16_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e16, mf2, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv2i16_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e16, mf2, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i16 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv2i32( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i32 16) %res = trunc %res.ext to ret %res } define @clmulh_nxv4i16_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv4i16_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a0, zero, e32, m2, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: vzext.vf2 v12, v9 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vi v8, v12, 2 ; RV32V-NEXT: vand.vi v14, v12, 1 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v14, v8 ; RV32V-NEXT: vand.vi v14, v12, 4 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vi v14, v12, 8 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: li a0, 1 ; RV32V-NEXT: slli a0, a0, 11 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: lui a0, 1 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: lui a0, 2 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: lui a0, 4 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a0 ; RV32V-NEXT: lui a0, 8 ; RV32V-NEXT: vand.vx v12, v12, a0 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vmul.vv v10, v10, v12 ; RV32V-NEXT: vxor.vv v10, v8, v10 ; RV32V-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v10, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv4i16_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e32, m2, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: vzext.vf2 v12, v9 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vand.vi v8, v12, 2 ; RV64V-NEXT: vand.vi v14, v12, 1 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v14, v8 ; RV64V-NEXT: vand.vi v14, v12, 4 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vi v14, v12, 8 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: li a0, 256 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: li a0, 512 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: li a0, 1024 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: slli a0, a0, 11 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: lui a0, 1 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: lui a0, 2 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: lui a0, 4 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: lui a0, 8 ; RV64V-NEXT: vand.vx v12, v12, a0 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vmul.vv v10, v10, v12 ; RV64V-NEXT: vxor.vv v10, v8, v10 ; RV64V-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v10, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv4i16_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV32ZVBC64-NEXT: vzext.vf4 v12, v9 ; RV32ZVBC64-NEXT: vzext.vf4 v16, v8 ; RV32ZVBC64-NEXT: vclmul.vv v8, v16, v12 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v12, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v12, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv4i16_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV64ZVBC64-NEXT: vzext.vf4 v12, v9 ; RV64ZVBC64-NEXT: vzext.vf4 v16, v8 ; RV64ZVBC64-NEXT: vclmul.vv v8, v16, v12 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v12, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v12, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv4i16_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e16, m1, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv4i16_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e16, m1, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv4i32( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i32 16) %res = trunc %res.ext to ret %res } define @clmulh_nxv4i16_vx( %va, i16 %b) nounwind { ; RV32V-LABEL: clmulh_nxv4i16_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a1, zero, e16, m1, ta, ma ; RV32V-NEXT: vmv.v.x v12, a0 ; RV32V-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vzext.vf2 v8, v12 ; RV32V-NEXT: vand.vi v12, v8, 2 ; RV32V-NEXT: vand.vi v14, v8, 1 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v14, v12 ; RV32V-NEXT: vand.vi v14, v8, 4 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vi v14, v8, 8 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: li a0, 1 ; RV32V-NEXT: slli a0, a0, 11 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: lui a0, 1 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: lui a0, 2 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: lui a0, 4 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a0 ; RV32V-NEXT: lui a0, 8 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v10, v12, v8 ; RV32V-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v10, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv4i16_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e16, m1, ta, ma ; RV64V-NEXT: vmv.v.x v12, a0 ; RV64V-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vzext.vf2 v8, v12 ; RV64V-NEXT: vand.vi v12, v8, 2 ; RV64V-NEXT: vand.vi v14, v8, 1 ; RV64V-NEXT: vmul.vv v12, v10, v12 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v14, v12 ; RV64V-NEXT: vand.vi v14, v8, 4 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vi v14, v8, 8 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: li a0, 256 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: li a0, 512 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: li a0, 1024 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: slli a0, a0, 11 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: lui a0, 1 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: lui a0, 2 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: lui a0, 4 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: lui a0, 8 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vxor.vv v10, v12, v8 ; RV64V-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v10, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv4i16_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e16, m1, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v16, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e64, m4, ta, ma ; RV32ZVBC64-NEXT: vzext.vf4 v12, v8 ; RV32ZVBC64-NEXT: vzext.vf4 v8, v16 ; RV32ZVBC64-NEXT: vclmul.vv v8, v12, v8 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v12, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v12, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv4i16_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e16, m1, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v16, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e64, m4, ta, ma ; RV64ZVBC64-NEXT: vzext.vf4 v12, v8 ; RV64ZVBC64-NEXT: vzext.vf4 v8, v16 ; RV64ZVBC64-NEXT: vclmul.vv v8, v12, v8 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v12, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, m1, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v12, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv4i16_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e16, m1, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv4i16_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e16, m1, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i16 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv4i32( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i32 16) %res = trunc %res.ext to ret %res } define @clmulh_nxv8i16_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv8i16_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a0, zero, e32, m4, ta, ma ; RV32V-NEXT: vzext.vf2 v12, v8 ; RV32V-NEXT: vzext.vf2 v16, v10 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vi v8, v16, 2 ; RV32V-NEXT: vand.vi v20, v16, 1 ; RV32V-NEXT: vmul.vv v8, v12, v8 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v20, v8 ; RV32V-NEXT: vand.vi v20, v16, 4 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vi v20, v16, 8 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: li a0, 1 ; RV32V-NEXT: slli a0, a0, 11 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: lui a0, 1 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: lui a0, 2 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: lui a0, 4 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a0 ; RV32V-NEXT: lui a0, 8 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vmul.vv v12, v12, v16 ; RV32V-NEXT: vxor.vv v12, v8, v12 ; RV32V-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v12, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv8i16_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e32, m4, ta, ma ; RV64V-NEXT: vzext.vf2 v12, v8 ; RV64V-NEXT: vzext.vf2 v16, v10 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vand.vi v8, v16, 2 ; RV64V-NEXT: vand.vi v20, v16, 1 ; RV64V-NEXT: vmul.vv v8, v12, v8 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v20, v8 ; RV64V-NEXT: vand.vi v20, v16, 4 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vi v20, v16, 8 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: li a0, 256 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: li a0, 512 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: li a0, 1024 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: slli a0, a0, 11 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: lui a0, 1 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: lui a0, 2 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: lui a0, 4 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: lui a0, 8 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vmul.vv v12, v12, v16 ; RV64V-NEXT: vxor.vv v12, v8, v12 ; RV64V-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v12, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv8i16_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m8, ta, ma ; RV32ZVBC64-NEXT: vzext.vf4 v16, v10 ; RV32ZVBC64-NEXT: vzext.vf4 v24, v8 ; RV32ZVBC64-NEXT: vclmul.vv v8, v24, v16 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v16, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v16, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv8i16_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m8, ta, ma ; RV64ZVBC64-NEXT: vzext.vf4 v16, v10 ; RV64ZVBC64-NEXT: vzext.vf4 v24, v8 ; RV64ZVBC64-NEXT: vclmul.vv v8, v24, v16 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v16, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v16, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv8i16_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e16, m2, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v10 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv8i16_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e16, m2, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v10 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv8i32( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i32 16) %res = trunc %res.ext to ret %res } define @clmulh_nxv8i16_vx( %va, i16 %b) nounwind { ; RV32V-LABEL: clmulh_nxv8i16_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a1, zero, e16, m2, ta, ma ; RV32V-NEXT: vmv.v.x v16, a0 ; RV32V-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV32V-NEXT: vzext.vf2 v12, v8 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vzext.vf2 v8, v16 ; RV32V-NEXT: vand.vi v16, v8, 2 ; RV32V-NEXT: vand.vi v20, v8, 1 ; RV32V-NEXT: vmul.vv v16, v12, v16 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v20, v16 ; RV32V-NEXT: vand.vi v20, v8, 4 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vi v20, v8, 8 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: li a0, 1 ; RV32V-NEXT: slli a0, a0, 11 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: lui a0, 1 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: lui a0, 2 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: lui a0, 4 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: lui a0, 8 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vmul.vv v8, v12, v8 ; RV32V-NEXT: vxor.vv v12, v16, v8 ; RV32V-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v12, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv8i16_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e16, m2, ta, ma ; RV64V-NEXT: vmv.v.x v16, a0 ; RV64V-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV64V-NEXT: vzext.vf2 v12, v8 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vzext.vf2 v8, v16 ; RV64V-NEXT: vand.vi v16, v8, 2 ; RV64V-NEXT: vand.vi v20, v8, 1 ; RV64V-NEXT: vmul.vv v16, v12, v16 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v20, v16 ; RV64V-NEXT: vand.vi v20, v8, 4 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vi v20, v8, 8 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: li a0, 256 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: li a0, 512 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: li a0, 1024 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: slli a0, a0, 11 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: lui a0, 1 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: lui a0, 2 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: lui a0, 4 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: lui a0, 8 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vmul.vv v8, v12, v8 ; RV64V-NEXT: vxor.vv v12, v16, v8 ; RV64V-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v12, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv8i16_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e16, m2, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v24, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e64, m8, ta, ma ; RV32ZVBC64-NEXT: vzext.vf4 v16, v8 ; RV32ZVBC64-NEXT: vzext.vf4 v8, v24 ; RV32ZVBC64-NEXT: vclmul.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v16, v8, 0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v16, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv8i16_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e16, m2, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v24, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e64, m8, ta, ma ; RV64ZVBC64-NEXT: vzext.vf4 v16, v8 ; RV64ZVBC64-NEXT: vzext.vf4 v8, v24 ; RV64ZVBC64-NEXT: vclmul.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v16, v8, 0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, m2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v16, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv8i16_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e16, m2, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv8i16_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e16, m2, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i16 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv8i32( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i32 16) %res = trunc %res.ext to ret %res } define @clmulh_nxv16i16_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv16i16_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a0, zero, e32, m8, ta, ma ; RV32V-NEXT: vzext.vf2 v16, v8 ; RV32V-NEXT: vzext.vf2 v24, v12 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vi v8, v24, 2 ; RV32V-NEXT: vand.vi v0, v24, 1 ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v0, v8 ; RV32V-NEXT: vand.vi v0, v24, 4 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vi v0, v24, 8 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: li a0, 1 ; RV32V-NEXT: slli a0, a0, 11 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: lui a0, 1 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: lui a0, 2 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: lui a0, 4 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a0 ; RV32V-NEXT: lui a0, 8 ; RV32V-NEXT: vand.vx v24, v24, a0 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vmul.vv v16, v16, v24 ; RV32V-NEXT: vxor.vv v16, v8, v16 ; RV32V-NEXT: vsetvli zero, zero, e16, m4, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v16, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv16i16_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e32, m8, ta, ma ; RV64V-NEXT: vzext.vf2 v16, v8 ; RV64V-NEXT: vzext.vf2 v24, v12 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vand.vi v8, v24, 2 ; RV64V-NEXT: vand.vi v0, v24, 1 ; RV64V-NEXT: vmul.vv v8, v16, v8 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v0, v8 ; RV64V-NEXT: vand.vi v0, v24, 4 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vi v0, v24, 8 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: li a0, 256 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: li a0, 512 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: li a0, 1024 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: slli a0, a0, 11 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: lui a0, 1 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: lui a0, 2 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: lui a0, 4 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: lui a0, 8 ; RV64V-NEXT: vand.vx v24, v24, a0 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vmul.vv v16, v16, v24 ; RV64V-NEXT: vxor.vv v16, v8, v16 ; RV64V-NEXT: vsetvli zero, zero, e16, m4, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v16, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv16i16_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e32, m8, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v16, v8 ; RV32ZVBC64-NEXT: vzext.vf2 v24, v12 ; RV32ZVBC64-NEXT: li a0, 16 ; RV32ZVBC64-NEXT: vand.vi v8, v24, 2 ; RV32ZVBC64-NEXT: vand.vi v0, v24, 1 ; RV32ZVBC64-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v0, v8 ; RV32ZVBC64-NEXT: vand.vi v0, v24, 4 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vi v0, v24, 8 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: li a0, 64 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: li a0, 128 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: li a0, 256 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: li a0, 512 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: li a0, 1024 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: li a0, 1 ; RV32ZVBC64-NEXT: slli a0, a0, 11 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: lui a0, 1 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: lui a0, 2 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: lui a0, 4 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV32ZVBC64-NEXT: lui a0, 8 ; RV32ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vmul.vv v16, v16, v24 ; RV32ZVBC64-NEXT: vxor.vv v16, v8, v16 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, m4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v16, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv16i16_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e32, m8, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v16, v8 ; RV64ZVBC64-NEXT: vzext.vf2 v24, v12 ; RV64ZVBC64-NEXT: li a0, 16 ; RV64ZVBC64-NEXT: vand.vi v8, v24, 2 ; RV64ZVBC64-NEXT: vand.vi v0, v24, 1 ; RV64ZVBC64-NEXT: vmul.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v0, v8 ; RV64ZVBC64-NEXT: vand.vi v0, v24, 4 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vi v0, v24, 8 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: li a0, 64 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: li a0, 128 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: li a0, 256 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: li a0, 512 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: li a0, 1024 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: li a0, 1 ; RV64ZVBC64-NEXT: slli a0, a0, 11 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: lui a0, 1 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: lui a0, 2 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: lui a0, 4 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v24, a0 ; RV64ZVBC64-NEXT: lui a0, 8 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vmul.vv v16, v16, v24 ; RV64ZVBC64-NEXT: vxor.vv v16, v8, v16 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, m4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v16, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv16i16_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e16, m4, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v12 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv16i16_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e16, m4, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v12 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv16i32( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i32 16) %res = trunc %res.ext to ret %res } define @clmulh_nxv16i16_vx( %va, i16 %b) nounwind { ; RV32V-LABEL: clmulh_nxv16i16_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: vsetvli a1, zero, e16, m4, ta, ma ; RV32V-NEXT: vmv.v.x v24, a0 ; RV32V-NEXT: vsetvli zero, zero, e32, m8, ta, ma ; RV32V-NEXT: vzext.vf2 v16, v8 ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vzext.vf2 v8, v24 ; RV32V-NEXT: vand.vi v24, v8, 2 ; RV32V-NEXT: vand.vi v0, v8, 1 ; RV32V-NEXT: vmul.vv v24, v16, v24 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v0, v24 ; RV32V-NEXT: vand.vi v0, v8, 4 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vi v0, v8, 8 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: li a0, 1 ; RV32V-NEXT: slli a0, a0, 11 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: lui a0, 1 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: lui a0, 2 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: lui a0, 4 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: lui a0, 8 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: vxor.vv v16, v24, v8 ; RV32V-NEXT: vsetvli zero, zero, e16, m4, ta, ma ; RV32V-NEXT: vnsrl.wi v8, v16, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv16i16_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e16, m4, ta, ma ; RV64V-NEXT: vmv.v.x v24, a0 ; RV64V-NEXT: vsetvli zero, zero, e32, m8, ta, ma ; RV64V-NEXT: vzext.vf2 v16, v8 ; RV64V-NEXT: li a0, 16 ; RV64V-NEXT: vzext.vf2 v8, v24 ; RV64V-NEXT: vand.vi v24, v8, 2 ; RV64V-NEXT: vand.vi v0, v8, 1 ; RV64V-NEXT: vmul.vv v24, v16, v24 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v0, v24 ; RV64V-NEXT: vand.vi v0, v8, 4 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vi v0, v8, 8 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: li a0, 128 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: li a0, 256 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: li a0, 512 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: li a0, 1024 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: slli a0, a0, 11 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: lui a0, 1 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: lui a0, 2 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: lui a0, 4 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: lui a0, 8 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vv v8, v16, v8 ; RV64V-NEXT: vxor.vv v16, v24, v8 ; RV64V-NEXT: vsetvli zero, zero, e16, m4, ta, ma ; RV64V-NEXT: vnsrl.wi v8, v16, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv16i16_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e16, m4, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v24, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m8, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v16, v8 ; RV32ZVBC64-NEXT: li a0, 16 ; RV32ZVBC64-NEXT: vzext.vf2 v8, v24 ; RV32ZVBC64-NEXT: vand.vi v24, v8, 2 ; RV32ZVBC64-NEXT: vand.vi v0, v8, 1 ; RV32ZVBC64-NEXT: vmul.vv v24, v16, v24 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v0, v24 ; RV32ZVBC64-NEXT: vand.vi v0, v8, 4 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vi v0, v8, 8 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: li a0, 64 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: li a0, 128 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: li a0, 256 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: li a0, 512 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: li a0, 1024 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: li a0, 1 ; RV32ZVBC64-NEXT: slli a0, a0, 11 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: lui a0, 1 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: lui a0, 2 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: lui a0, 4 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC64-NEXT: lui a0, 8 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vxor.vv v16, v24, v8 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e16, m4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wi v8, v16, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv16i16_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e16, m4, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v24, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m8, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v16, v8 ; RV64ZVBC64-NEXT: li a0, 16 ; RV64ZVBC64-NEXT: vzext.vf2 v8, v24 ; RV64ZVBC64-NEXT: vand.vi v24, v8, 2 ; RV64ZVBC64-NEXT: vand.vi v0, v8, 1 ; RV64ZVBC64-NEXT: vmul.vv v24, v16, v24 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v0, v24 ; RV64ZVBC64-NEXT: vand.vi v0, v8, 4 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vi v0, v8, 8 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: li a0, 64 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: li a0, 128 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: li a0, 256 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: li a0, 512 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: li a0, 1024 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: li a0, 1 ; RV64ZVBC64-NEXT: slli a0, a0, 11 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: lui a0, 1 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: lui a0, 2 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: lui a0, 4 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vand.vx v0, v8, a0 ; RV64ZVBC64-NEXT: lui a0, 8 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vmul.vv v0, v16, v0 ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vmul.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vxor.vv v16, v24, v8 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e16, m4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wi v8, v16, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv16i16_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e16, m4, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv16i16_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e16, m4, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i16 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv16i32( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i32 16) %res = trunc %res.ext to ret %res } define @clmulh_nxv32i16_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv32i16_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: sub sp, sp, a0 ; RV32V-NEXT: vsetvli a0, zero, e16, m8, ta, ma ; RV32V-NEXT: vsrl.vi v24, v8, 8 ; RV32V-NEXT: vsll.vi v8, v8, 8 ; RV32V-NEXT: lui a3, 1 ; RV32V-NEXT: lui a0, 3 ; RV32V-NEXT: lui a6, 5 ; RV32V-NEXT: vsrl.vi v0, v16, 8 ; RV32V-NEXT: vsll.vi v16, v16, 8 ; RV32V-NEXT: li t4, 16 ; RV32V-NEXT: li a7, 32 ; RV32V-NEXT: li a4, 64 ; RV32V-NEXT: li a5, 128 ; RV32V-NEXT: li t0, 256 ; RV32V-NEXT: li t1, 512 ; RV32V-NEXT: li t2, 1024 ; RV32V-NEXT: li t5, 1 ; RV32V-NEXT: lui t3, 2 ; RV32V-NEXT: addi a2, a3, -241 ; RV32V-NEXT: addi a1, a0, 819 ; RV32V-NEXT: addi a0, a6, 1365 ; RV32V-NEXT: vor.vv v16, v16, v0 ; RV32V-NEXT: vsrl.vi v0, v16, 4 ; RV32V-NEXT: vand.vx v16, v16, a2 ; RV32V-NEXT: vand.vx v0, v0, a2 ; RV32V-NEXT: vsll.vi v16, v16, 4 ; RV32V-NEXT: vor.vv v16, v0, v16 ; RV32V-NEXT: vsrl.vi v0, v16, 2 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vand.vx v0, v0, a1 ; RV32V-NEXT: vsll.vi v16, v16, 2 ; RV32V-NEXT: vor.vv v16, v0, v16 ; RV32V-NEXT: vsrl.vi v0, v16, 1 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vand.vx v0, v0, a0 ; RV32V-NEXT: vadd.vv v16, v16, v16 ; RV32V-NEXT: vor.vv v0, v0, v16 ; RV32V-NEXT: vand.vx v16, v0, t4 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: mv t4, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add t4, t4, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add t4, t4, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, t4 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a6, 4 ; RV32V-NEXT: vor.vv v8, v8, v24 ; RV32V-NEXT: vsrl.vi v16, v8, 4 ; RV32V-NEXT: vand.vx v8, v8, a2 ; RV32V-NEXT: vand.vx v16, v16, a2 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: vand.vx v8, v8, a1 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vand.vx v16, v0, a7 ; RV32V-NEXT: csrr a7, vlenb ; RV32V-NEXT: slli a7, a7, 4 ; RV32V-NEXT: mv t4, a7 ; RV32V-NEXT: slli a7, a7, 1 ; RV32V-NEXT: add t4, t4, a7 ; RV32V-NEXT: slli a7, a7, 1 ; RV32V-NEXT: add a7, a7, t4 ; RV32V-NEXT: add a7, sp, a7 ; RV32V-NEXT: addi a7, a7, 16 ; RV32V-NEXT: vs8r.v v16, (a7) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a7, 8 ; RV32V-NEXT: slli t5, t5, 11 ; RV32V-NEXT: vand.vx v16, v0, a4 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv t4, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add t4, t4, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, t4 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, a5 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t0 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t1 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t2 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t5 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 6 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, a3 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t3 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v16, v0, 2 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v24, v0, 1 ; RV32V-NEXT: vand.vi v16, v0, 4 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v16, v0, 8 ; RV32V-NEXT: addi a3, sp, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, a6 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, a7 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vmul.vv v16, v8, v24 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v24, v8, v16 ; RV32V-NEXT: addi a3, sp, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v0, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 6 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 6 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v8, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v8, v16 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v16, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 6 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v24, v8 ; RV32V-NEXT: vsll.vi v16, v16, 8 ; RV32V-NEXT: vsrl.vi v8, v8, 8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 4 ; RV32V-NEXT: vand.vx v8, v8, a2 ; RV32V-NEXT: vand.vx v16, v16, a2 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: vand.vx v8, v8, a1 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv32i16_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: sub sp, sp, a0 ; RV64V-NEXT: vsetvli a0, zero, e16, m8, ta, ma ; RV64V-NEXT: vsrl.vi v24, v8, 8 ; RV64V-NEXT: vsll.vi v8, v8, 8 ; RV64V-NEXT: lui a3, 1 ; RV64V-NEXT: lui a0, 3 ; RV64V-NEXT: lui a6, 5 ; RV64V-NEXT: vsrl.vi v0, v16, 8 ; RV64V-NEXT: vsll.vi v16, v16, 8 ; RV64V-NEXT: li t4, 16 ; RV64V-NEXT: li a7, 32 ; RV64V-NEXT: li a4, 64 ; RV64V-NEXT: li a5, 128 ; RV64V-NEXT: li t0, 256 ; RV64V-NEXT: li t1, 512 ; RV64V-NEXT: li t2, 1024 ; RV64V-NEXT: li t5, 1 ; RV64V-NEXT: lui t3, 2 ; RV64V-NEXT: addi a2, a3, -241 ; RV64V-NEXT: addi a1, a0, 819 ; RV64V-NEXT: addi a0, a6, 1365 ; RV64V-NEXT: vor.vv v16, v16, v0 ; RV64V-NEXT: vsrl.vi v0, v16, 4 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vand.vx v0, v0, a2 ; RV64V-NEXT: vsll.vi v16, v16, 4 ; RV64V-NEXT: vor.vv v16, v0, v16 ; RV64V-NEXT: vsrl.vi v0, v16, 2 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vand.vx v0, v0, a1 ; RV64V-NEXT: vsll.vi v16, v16, 2 ; RV64V-NEXT: vor.vv v16, v0, v16 ; RV64V-NEXT: vsrl.vi v0, v16, 1 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vand.vx v0, v0, a0 ; RV64V-NEXT: vadd.vv v16, v16, v16 ; RV64V-NEXT: vor.vv v0, v0, v16 ; RV64V-NEXT: vand.vx v16, v0, t4 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv t4, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add t4, t4, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add t4, t4, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, t4 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 16 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: lui a6, 4 ; RV64V-NEXT: vor.vv v8, v8, v24 ; RV64V-NEXT: vsrl.vi v16, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a2 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vand.vx v16, v0, a7 ; RV64V-NEXT: csrr a7, vlenb ; RV64V-NEXT: slli a7, a7, 4 ; RV64V-NEXT: mv t4, a7 ; RV64V-NEXT: slli a7, a7, 1 ; RV64V-NEXT: add t4, t4, a7 ; RV64V-NEXT: slli a7, a7, 1 ; RV64V-NEXT: add a7, a7, t4 ; RV64V-NEXT: add a7, sp, a7 ; RV64V-NEXT: addi a7, a7, 16 ; RV64V-NEXT: vs8r.v v16, (a7) # vscale x 64-byte Folded Spill ; RV64V-NEXT: lui a7, 8 ; RV64V-NEXT: slli t5, t5, 11 ; RV64V-NEXT: vand.vx v16, v0, a4 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv t4, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add t4, t4, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, t4 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 16 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a5 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 16 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t0 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 16 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t1 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 16 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t2 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 16 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t5 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 6 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 16 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a3 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t3 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 2 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v24, v0, 1 ; RV64V-NEXT: vand.vi v16, v0, 4 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 8 ; RV64V-NEXT: addi a3, sp, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a6 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a7 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vmul.vv v16, v8, v24 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v24, v8, v16 ; RV64V-NEXT: addi a3, sp, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v0, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 6 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 6 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v8, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v8, v16 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v16, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 6 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v24, v8 ; RV64V-NEXT: vsll.vi v16, v16, 8 ; RV64V-NEXT: vsrl.vi v8, v8, 8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a2 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: addi sp, sp, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv32i16_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: addi sp, sp, -16 ; RV32ZVBC64-NEXT: csrr a0, vlenb ; RV32ZVBC64-NEXT: slli a0, a0, 7 ; RV32ZVBC64-NEXT: sub sp, sp, a0 ; RV32ZVBC64-NEXT: vsetvli a0, zero, e16, m8, ta, ma ; RV32ZVBC64-NEXT: vsrl.vi v24, v8, 8 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 8 ; RV32ZVBC64-NEXT: lui a3, 1 ; RV32ZVBC64-NEXT: lui a0, 3 ; RV32ZVBC64-NEXT: lui a6, 5 ; RV32ZVBC64-NEXT: vsrl.vi v0, v16, 8 ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 8 ; RV32ZVBC64-NEXT: li t4, 16 ; RV32ZVBC64-NEXT: li a7, 32 ; RV32ZVBC64-NEXT: li a4, 64 ; RV32ZVBC64-NEXT: li a5, 128 ; RV32ZVBC64-NEXT: li t0, 256 ; RV32ZVBC64-NEXT: li t1, 512 ; RV32ZVBC64-NEXT: li t2, 1024 ; RV32ZVBC64-NEXT: li t5, 1 ; RV32ZVBC64-NEXT: lui t3, 2 ; RV32ZVBC64-NEXT: addi a2, a3, -241 ; RV32ZVBC64-NEXT: addi a1, a0, 819 ; RV32ZVBC64-NEXT: addi a0, a6, 1365 ; RV32ZVBC64-NEXT: vor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: vsrl.vi v0, v16, 4 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV32ZVBC64-NEXT: vand.vx v0, v0, a2 ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 4 ; RV32ZVBC64-NEXT: vor.vv v16, v0, v16 ; RV32ZVBC64-NEXT: vsrl.vi v0, v16, 2 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vand.vx v0, v0, a1 ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 2 ; RV32ZVBC64-NEXT: vor.vv v16, v0, v16 ; RV32ZVBC64-NEXT: vsrl.vi v0, v16, 1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vand.vx v0, v0, a0 ; RV32ZVBC64-NEXT: vadd.vv v16, v16, v16 ; RV32ZVBC64-NEXT: vor.vv v0, v0, v16 ; RV32ZVBC64-NEXT: vand.vx v16, v0, t4 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: mv t4, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add t4, t4, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add t4, t4, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, t4 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: lui a6, 4 ; RV32ZVBC64-NEXT: vor.vv v8, v8, v24 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vand.vx v16, v0, a7 ; RV32ZVBC64-NEXT: csrr a7, vlenb ; RV32ZVBC64-NEXT: slli a7, a7, 4 ; RV32ZVBC64-NEXT: mv t4, a7 ; RV32ZVBC64-NEXT: slli a7, a7, 1 ; RV32ZVBC64-NEXT: add t4, t4, a7 ; RV32ZVBC64-NEXT: slli a7, a7, 1 ; RV32ZVBC64-NEXT: add a7, a7, t4 ; RV32ZVBC64-NEXT: add a7, sp, a7 ; RV32ZVBC64-NEXT: addi a7, a7, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a7) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: lui a7, 8 ; RV32ZVBC64-NEXT: slli t5, t5, 11 ; RV32ZVBC64-NEXT: vand.vx v16, v0, a4 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv t4, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add t4, t4, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, t4 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, a5 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t0 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t1 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t2 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t5 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 6 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, a3 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t3 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v16, v0, 2 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v24, v0, 1 ; RV32ZVBC64-NEXT: vand.vi v16, v0, 4 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v16, v0, 8 ; RV32ZVBC64-NEXT: addi a3, sp, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, a7 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v24 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v24, v8, v16 ; RV32ZVBC64-NEXT: addi a3, sp, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v0, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 6 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 6 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v8, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v8, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v8, v16 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v16, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 6 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v8, v24, v8 ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 8 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC64-NEXT: csrr a0, vlenb ; RV32ZVBC64-NEXT: slli a0, a0, 7 ; RV32ZVBC64-NEXT: add sp, sp, a0 ; RV32ZVBC64-NEXT: addi sp, sp, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv32i16_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: addi sp, sp, -16 ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 7 ; RV64ZVBC64-NEXT: sub sp, sp, a0 ; RV64ZVBC64-NEXT: vsetvli a0, zero, e16, m8, ta, ma ; RV64ZVBC64-NEXT: vsrl.vi v24, v8, 8 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 8 ; RV64ZVBC64-NEXT: lui a3, 1 ; RV64ZVBC64-NEXT: lui a0, 3 ; RV64ZVBC64-NEXT: lui a6, 5 ; RV64ZVBC64-NEXT: vsrl.vi v0, v16, 8 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 8 ; RV64ZVBC64-NEXT: li t4, 16 ; RV64ZVBC64-NEXT: li a7, 32 ; RV64ZVBC64-NEXT: li a4, 64 ; RV64ZVBC64-NEXT: li a5, 128 ; RV64ZVBC64-NEXT: li t0, 256 ; RV64ZVBC64-NEXT: li t1, 512 ; RV64ZVBC64-NEXT: li t2, 1024 ; RV64ZVBC64-NEXT: li t5, 1 ; RV64ZVBC64-NEXT: lui t3, 2 ; RV64ZVBC64-NEXT: addi a2, a3, -241 ; RV64ZVBC64-NEXT: addi a1, a0, 819 ; RV64ZVBC64-NEXT: addi a0, a6, 1365 ; RV64ZVBC64-NEXT: vor.vv v16, v16, v0 ; RV64ZVBC64-NEXT: vsrl.vi v0, v16, 4 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC64-NEXT: vand.vx v0, v0, a2 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 4 ; RV64ZVBC64-NEXT: vor.vv v16, v0, v16 ; RV64ZVBC64-NEXT: vsrl.vi v0, v16, 2 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vand.vx v0, v0, a1 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 2 ; RV64ZVBC64-NEXT: vor.vv v16, v0, v16 ; RV64ZVBC64-NEXT: vsrl.vi v0, v16, 1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vand.vx v0, v0, a0 ; RV64ZVBC64-NEXT: vadd.vv v16, v16, v16 ; RV64ZVBC64-NEXT: vor.vv v0, v0, v16 ; RV64ZVBC64-NEXT: vand.vx v16, v0, t4 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv t4, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add t4, t4, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add t4, t4, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, t4 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: lui a6, 4 ; RV64ZVBC64-NEXT: vor.vv v8, v8, v24 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a7 ; RV64ZVBC64-NEXT: csrr a7, vlenb ; RV64ZVBC64-NEXT: slli a7, a7, 4 ; RV64ZVBC64-NEXT: mv t4, a7 ; RV64ZVBC64-NEXT: slli a7, a7, 1 ; RV64ZVBC64-NEXT: add t4, t4, a7 ; RV64ZVBC64-NEXT: slli a7, a7, 1 ; RV64ZVBC64-NEXT: add a7, a7, t4 ; RV64ZVBC64-NEXT: add a7, sp, a7 ; RV64ZVBC64-NEXT: addi a7, a7, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a7) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: lui a7, 8 ; RV64ZVBC64-NEXT: slli t5, t5, 11 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a4 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv t4, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add t4, t4, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, t4 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a5 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t0 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t1 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t2 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t5 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 6 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a3 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t3 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v16, v0, 2 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v24, v0, 1 ; RV64ZVBC64-NEXT: vand.vi v16, v0, 4 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v16, v0, 8 ; RV64ZVBC64-NEXT: addi a3, sp, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a7 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v24 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v24, v8, v16 ; RV64ZVBC64-NEXT: addi a3, sp, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v0, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 6 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 6 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v8, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v8, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v8, v16 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v16, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 6 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v24, v8 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 8 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 7 ; RV64ZVBC64-NEXT: add sp, sp, a0 ; RV64ZVBC64-NEXT: addi sp, sp, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv32i16_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e16, m8, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v16 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv32i16_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e16, m8, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v16 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv32i32( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i32 16) %res = trunc %res.ext to ret %res } define @clmulh_nxv32i16_vx( %va, i16 %b) nounwind { ; RV32V-LABEL: clmulh_nxv32i16_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: csrr a1, vlenb ; RV32V-NEXT: slli a1, a1, 7 ; RV32V-NEXT: sub sp, sp, a1 ; RV32V-NEXT: vsetvli a1, zero, e16, m8, ta, ma ; RV32V-NEXT: vmv.v.x v24, a0 ; RV32V-NEXT: vsrl.vi v16, v8, 8 ; RV32V-NEXT: vsll.vi v8, v8, 8 ; RV32V-NEXT: lui a3, 1 ; RV32V-NEXT: lui a0, 3 ; RV32V-NEXT: lui a7, 5 ; RV32V-NEXT: li t4, 16 ; RV32V-NEXT: li a6, 32 ; RV32V-NEXT: li a4, 64 ; RV32V-NEXT: li a5, 128 ; RV32V-NEXT: li t0, 256 ; RV32V-NEXT: li t1, 512 ; RV32V-NEXT: li t2, 1024 ; RV32V-NEXT: li t5, 1 ; RV32V-NEXT: lui t3, 2 ; RV32V-NEXT: addi a2, a3, -241 ; RV32V-NEXT: addi a1, a0, 819 ; RV32V-NEXT: addi a0, a7, 1365 ; RV32V-NEXT: vsrl.vi v0, v24, 8 ; RV32V-NEXT: vsll.vi v24, v24, 8 ; RV32V-NEXT: vor.vv v24, v24, v0 ; RV32V-NEXT: vsrl.vi v0, v24, 4 ; RV32V-NEXT: vand.vx v24, v24, a2 ; RV32V-NEXT: vand.vx v0, v0, a2 ; RV32V-NEXT: vsll.vi v24, v24, 4 ; RV32V-NEXT: vor.vv v24, v0, v24 ; RV32V-NEXT: vsrl.vi v0, v24, 2 ; RV32V-NEXT: vand.vx v24, v24, a1 ; RV32V-NEXT: vand.vx v0, v0, a1 ; RV32V-NEXT: vsll.vi v24, v24, 2 ; RV32V-NEXT: vor.vv v24, v0, v24 ; RV32V-NEXT: vsrl.vi v0, v24, 1 ; RV32V-NEXT: vand.vx v24, v24, a0 ; RV32V-NEXT: vand.vx v0, v0, a0 ; RV32V-NEXT: vadd.vv v24, v24, v24 ; RV32V-NEXT: vor.vv v0, v0, v24 ; RV32V-NEXT: vand.vx v24, v0, t4 ; RV32V-NEXT: csrr a7, vlenb ; RV32V-NEXT: slli a7, a7, 3 ; RV32V-NEXT: mv t4, a7 ; RV32V-NEXT: slli a7, a7, 1 ; RV32V-NEXT: add t4, t4, a7 ; RV32V-NEXT: slli a7, a7, 1 ; RV32V-NEXT: add t4, t4, a7 ; RV32V-NEXT: slli a7, a7, 1 ; RV32V-NEXT: add a7, a7, t4 ; RV32V-NEXT: add a7, sp, a7 ; RV32V-NEXT: addi a7, a7, 16 ; RV32V-NEXT: vs8r.v v24, (a7) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a7, 4 ; RV32V-NEXT: vor.vv v8, v8, v16 ; RV32V-NEXT: vsrl.vi v16, v8, 4 ; RV32V-NEXT: vand.vx v8, v8, a2 ; RV32V-NEXT: vand.vx v16, v16, a2 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: vand.vx v8, v8, a1 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vand.vx v16, v0, a6 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 4 ; RV32V-NEXT: mv t4, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add t4, t4, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, t4 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a6, 8 ; RV32V-NEXT: slli t5, t5, 11 ; RV32V-NEXT: vand.vx v16, v0, a4 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv t4, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add t4, t4, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, t4 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, a5 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t0 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t1 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t2 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t5 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 6 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, a3 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t3 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v16, v0, 2 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v24, v0, 1 ; RV32V-NEXT: vand.vi v16, v0, 4 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v16, v0, 8 ; RV32V-NEXT: addi a3, sp, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, a7 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, a6 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vmul.vv v16, v8, v24 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v24, v8, v16 ; RV32V-NEXT: addi a3, sp, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v0, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 6 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 6 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v8, v16 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v8, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v8, v16 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v16, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 2 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 6 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a4, a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 4 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 5 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: mv a4, a3 ; RV32V-NEXT: slli a3, a3, 1 ; RV32V-NEXT: add a3, a3, a4 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v24, v8 ; RV32V-NEXT: vsll.vi v16, v16, 8 ; RV32V-NEXT: vsrl.vi v8, v8, 8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 4 ; RV32V-NEXT: vand.vx v8, v8, a2 ; RV32V-NEXT: vand.vx v16, v16, a2 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: vand.vx v8, v8, a1 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv32i16_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -16 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 7 ; RV64V-NEXT: sub sp, sp, a1 ; RV64V-NEXT: vsetvli a1, zero, e16, m8, ta, ma ; RV64V-NEXT: vmv.v.x v24, a0 ; RV64V-NEXT: vsrl.vi v16, v8, 8 ; RV64V-NEXT: vsll.vi v8, v8, 8 ; RV64V-NEXT: lui a3, 1 ; RV64V-NEXT: lui a0, 3 ; RV64V-NEXT: lui a7, 5 ; RV64V-NEXT: li t4, 16 ; RV64V-NEXT: li a6, 32 ; RV64V-NEXT: li a4, 64 ; RV64V-NEXT: li a5, 128 ; RV64V-NEXT: li t0, 256 ; RV64V-NEXT: li t1, 512 ; RV64V-NEXT: li t2, 1024 ; RV64V-NEXT: li t5, 1 ; RV64V-NEXT: lui t3, 2 ; RV64V-NEXT: addi a2, a3, -241 ; RV64V-NEXT: addi a1, a0, 819 ; RV64V-NEXT: addi a0, a7, 1365 ; RV64V-NEXT: vsrl.vi v0, v24, 8 ; RV64V-NEXT: vsll.vi v24, v24, 8 ; RV64V-NEXT: vor.vv v24, v24, v0 ; RV64V-NEXT: vsrl.vi v0, v24, 4 ; RV64V-NEXT: vand.vx v24, v24, a2 ; RV64V-NEXT: vand.vx v0, v0, a2 ; RV64V-NEXT: vsll.vi v24, v24, 4 ; RV64V-NEXT: vor.vv v24, v0, v24 ; RV64V-NEXT: vsrl.vi v0, v24, 2 ; RV64V-NEXT: vand.vx v24, v24, a1 ; RV64V-NEXT: vand.vx v0, v0, a1 ; RV64V-NEXT: vsll.vi v24, v24, 2 ; RV64V-NEXT: vor.vv v24, v0, v24 ; RV64V-NEXT: vsrl.vi v0, v24, 1 ; RV64V-NEXT: vand.vx v24, v24, a0 ; RV64V-NEXT: vand.vx v0, v0, a0 ; RV64V-NEXT: vadd.vv v24, v24, v24 ; RV64V-NEXT: vor.vv v0, v0, v24 ; RV64V-NEXT: vand.vx v24, v0, t4 ; RV64V-NEXT: csrr a7, vlenb ; RV64V-NEXT: slli a7, a7, 3 ; RV64V-NEXT: mv t4, a7 ; RV64V-NEXT: slli a7, a7, 1 ; RV64V-NEXT: add t4, t4, a7 ; RV64V-NEXT: slli a7, a7, 1 ; RV64V-NEXT: add t4, t4, a7 ; RV64V-NEXT: slli a7, a7, 1 ; RV64V-NEXT: add a7, a7, t4 ; RV64V-NEXT: add a7, sp, a7 ; RV64V-NEXT: addi a7, a7, 16 ; RV64V-NEXT: vs8r.v v24, (a7) # vscale x 64-byte Folded Spill ; RV64V-NEXT: lui a7, 4 ; RV64V-NEXT: vor.vv v8, v8, v16 ; RV64V-NEXT: vsrl.vi v16, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a2 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vand.vx v16, v0, a6 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: mv t4, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add t4, t4, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, t4 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 16 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: lui a6, 8 ; RV64V-NEXT: slli t5, t5, 11 ; RV64V-NEXT: vand.vx v16, v0, a4 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv t4, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add t4, t4, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, t4 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 16 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a5 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 16 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t0 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 16 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t1 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 16 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t2 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 16 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t5 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 6 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 16 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a3 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t3 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 2 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v24, v0, 1 ; RV64V-NEXT: vand.vi v16, v0, 4 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 8 ; RV64V-NEXT: addi a3, sp, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a7 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a6 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vmul.vv v16, v8, v24 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v24, v8, v16 ; RV64V-NEXT: addi a3, sp, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v0, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 6 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 6 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vs8r.v v8, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v8, v16 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v16, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 6 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 16 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v24, v8 ; RV64V-NEXT: vsll.vi v16, v16, 8 ; RV64V-NEXT: vsrl.vi v8, v8, 8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a2 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: addi sp, sp, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv32i16_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: addi sp, sp, -16 ; RV32ZVBC64-NEXT: csrr a1, vlenb ; RV32ZVBC64-NEXT: slli a1, a1, 7 ; RV32ZVBC64-NEXT: sub sp, sp, a1 ; RV32ZVBC64-NEXT: vsetvli a1, zero, e16, m8, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v24, a0 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 8 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 8 ; RV32ZVBC64-NEXT: lui a3, 1 ; RV32ZVBC64-NEXT: lui a0, 3 ; RV32ZVBC64-NEXT: lui a7, 5 ; RV32ZVBC64-NEXT: li t4, 16 ; RV32ZVBC64-NEXT: li a6, 32 ; RV32ZVBC64-NEXT: li a4, 64 ; RV32ZVBC64-NEXT: li a5, 128 ; RV32ZVBC64-NEXT: li t0, 256 ; RV32ZVBC64-NEXT: li t1, 512 ; RV32ZVBC64-NEXT: li t2, 1024 ; RV32ZVBC64-NEXT: li t5, 1 ; RV32ZVBC64-NEXT: lui t3, 2 ; RV32ZVBC64-NEXT: addi a2, a3, -241 ; RV32ZVBC64-NEXT: addi a1, a0, 819 ; RV32ZVBC64-NEXT: addi a0, a7, 1365 ; RV32ZVBC64-NEXT: vsrl.vi v0, v24, 8 ; RV32ZVBC64-NEXT: vsll.vi v24, v24, 8 ; RV32ZVBC64-NEXT: vor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vsrl.vi v0, v24, 4 ; RV32ZVBC64-NEXT: vand.vx v24, v24, a2 ; RV32ZVBC64-NEXT: vand.vx v0, v0, a2 ; RV32ZVBC64-NEXT: vsll.vi v24, v24, 4 ; RV32ZVBC64-NEXT: vor.vv v24, v0, v24 ; RV32ZVBC64-NEXT: vsrl.vi v0, v24, 2 ; RV32ZVBC64-NEXT: vand.vx v24, v24, a1 ; RV32ZVBC64-NEXT: vand.vx v0, v0, a1 ; RV32ZVBC64-NEXT: vsll.vi v24, v24, 2 ; RV32ZVBC64-NEXT: vor.vv v24, v0, v24 ; RV32ZVBC64-NEXT: vsrl.vi v0, v24, 1 ; RV32ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV32ZVBC64-NEXT: vand.vx v0, v0, a0 ; RV32ZVBC64-NEXT: vadd.vv v24, v24, v24 ; RV32ZVBC64-NEXT: vor.vv v0, v0, v24 ; RV32ZVBC64-NEXT: vand.vx v24, v0, t4 ; RV32ZVBC64-NEXT: csrr a7, vlenb ; RV32ZVBC64-NEXT: slli a7, a7, 3 ; RV32ZVBC64-NEXT: mv t4, a7 ; RV32ZVBC64-NEXT: slli a7, a7, 1 ; RV32ZVBC64-NEXT: add t4, t4, a7 ; RV32ZVBC64-NEXT: slli a7, a7, 1 ; RV32ZVBC64-NEXT: add t4, t4, a7 ; RV32ZVBC64-NEXT: slli a7, a7, 1 ; RV32ZVBC64-NEXT: add a7, a7, t4 ; RV32ZVBC64-NEXT: add a7, sp, a7 ; RV32ZVBC64-NEXT: addi a7, a7, 16 ; RV32ZVBC64-NEXT: vs8r.v v24, (a7) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: lui a7, 4 ; RV32ZVBC64-NEXT: vor.vv v8, v8, v16 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 4 ; RV32ZVBC64-NEXT: mv t4, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add t4, t4, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, t4 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: lui a6, 8 ; RV32ZVBC64-NEXT: slli t5, t5, 11 ; RV32ZVBC64-NEXT: vand.vx v16, v0, a4 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv t4, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add t4, t4, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, t4 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, a5 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t0 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t1 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t2 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t5 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 6 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, a3 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t3 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v16, v0, 2 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v24, v0, 1 ; RV32ZVBC64-NEXT: vand.vi v16, v0, 4 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v16, v0, 8 ; RV32ZVBC64-NEXT: addi a3, sp, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, a7 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v24 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v24, v8, v16 ; RV32ZVBC64-NEXT: addi a3, sp, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v0, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 6 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 6 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v8, v8, v16 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vs8r.v v8, (a3) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v8, v16 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v16, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 2 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 6 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a4, a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 4 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 5 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a3, vlenb ; RV32ZVBC64-NEXT: slli a3, a3, 3 ; RV32ZVBC64-NEXT: mv a4, a3 ; RV32ZVBC64-NEXT: slli a3, a3, 1 ; RV32ZVBC64-NEXT: add a3, a3, a4 ; RV32ZVBC64-NEXT: add a3, sp, a3 ; RV32ZVBC64-NEXT: addi a3, a3, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v8, v24, v8 ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 8 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC64-NEXT: csrr a0, vlenb ; RV32ZVBC64-NEXT: slli a0, a0, 7 ; RV32ZVBC64-NEXT: add sp, sp, a0 ; RV32ZVBC64-NEXT: addi sp, sp, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv32i16_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: addi sp, sp, -16 ; RV64ZVBC64-NEXT: csrr a1, vlenb ; RV64ZVBC64-NEXT: slli a1, a1, 7 ; RV64ZVBC64-NEXT: sub sp, sp, a1 ; RV64ZVBC64-NEXT: vsetvli a1, zero, e16, m8, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v24, a0 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 8 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 8 ; RV64ZVBC64-NEXT: lui a3, 1 ; RV64ZVBC64-NEXT: lui a0, 3 ; RV64ZVBC64-NEXT: lui a7, 5 ; RV64ZVBC64-NEXT: li t4, 16 ; RV64ZVBC64-NEXT: li a6, 32 ; RV64ZVBC64-NEXT: li a4, 64 ; RV64ZVBC64-NEXT: li a5, 128 ; RV64ZVBC64-NEXT: li t0, 256 ; RV64ZVBC64-NEXT: li t1, 512 ; RV64ZVBC64-NEXT: li t2, 1024 ; RV64ZVBC64-NEXT: li t5, 1 ; RV64ZVBC64-NEXT: lui t3, 2 ; RV64ZVBC64-NEXT: addi a2, a3, -241 ; RV64ZVBC64-NEXT: addi a1, a0, 819 ; RV64ZVBC64-NEXT: addi a0, a7, 1365 ; RV64ZVBC64-NEXT: vsrl.vi v0, v24, 8 ; RV64ZVBC64-NEXT: vsll.vi v24, v24, 8 ; RV64ZVBC64-NEXT: vor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: vsrl.vi v0, v24, 4 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a2 ; RV64ZVBC64-NEXT: vand.vx v0, v0, a2 ; RV64ZVBC64-NEXT: vsll.vi v24, v24, 4 ; RV64ZVBC64-NEXT: vor.vv v24, v0, v24 ; RV64ZVBC64-NEXT: vsrl.vi v0, v24, 2 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a1 ; RV64ZVBC64-NEXT: vand.vx v0, v0, a1 ; RV64ZVBC64-NEXT: vsll.vi v24, v24, 2 ; RV64ZVBC64-NEXT: vor.vv v24, v0, v24 ; RV64ZVBC64-NEXT: vsrl.vi v0, v24, 1 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV64ZVBC64-NEXT: vand.vx v0, v0, a0 ; RV64ZVBC64-NEXT: vadd.vv v24, v24, v24 ; RV64ZVBC64-NEXT: vor.vv v0, v0, v24 ; RV64ZVBC64-NEXT: vand.vx v24, v0, t4 ; RV64ZVBC64-NEXT: csrr a7, vlenb ; RV64ZVBC64-NEXT: slli a7, a7, 3 ; RV64ZVBC64-NEXT: mv t4, a7 ; RV64ZVBC64-NEXT: slli a7, a7, 1 ; RV64ZVBC64-NEXT: add t4, t4, a7 ; RV64ZVBC64-NEXT: slli a7, a7, 1 ; RV64ZVBC64-NEXT: add t4, t4, a7 ; RV64ZVBC64-NEXT: slli a7, a7, 1 ; RV64ZVBC64-NEXT: add a7, a7, t4 ; RV64ZVBC64-NEXT: add a7, sp, a7 ; RV64ZVBC64-NEXT: addi a7, a7, 16 ; RV64ZVBC64-NEXT: vs8r.v v24, (a7) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: lui a7, 4 ; RV64ZVBC64-NEXT: vor.vv v8, v8, v16 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: mv t4, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add t4, t4, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, t4 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: lui a6, 8 ; RV64ZVBC64-NEXT: slli t5, t5, 11 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a4 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv t4, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add t4, t4, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, t4 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a5 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t0 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t1 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t2 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t5 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 6 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a3 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t3 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v16, v0, 2 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v24, v0, 1 ; RV64ZVBC64-NEXT: vand.vi v16, v0, 4 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v16, v0, 8 ; RV64ZVBC64-NEXT: addi a3, sp, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a7 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v24 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v24, v8, v16 ; RV64ZVBC64-NEXT: addi a3, sp, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v0, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 6 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 6 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v16, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v8, v8, v16 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vs8r.v v8, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v8, v16 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v16, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 2 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 6 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a4, a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 4 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 5 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a3, vlenb ; RV64ZVBC64-NEXT: slli a3, a3, 3 ; RV64ZVBC64-NEXT: mv a4, a3 ; RV64ZVBC64-NEXT: slli a3, a3, 1 ; RV64ZVBC64-NEXT: add a3, a3, a4 ; RV64ZVBC64-NEXT: add a3, sp, a3 ; RV64ZVBC64-NEXT: addi a3, a3, 16 ; RV64ZVBC64-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v24, v8 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 8 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 7 ; RV64ZVBC64-NEXT: add sp, sp, a0 ; RV64ZVBC64-NEXT: addi sp, sp, 16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv32i16_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e16, m8, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv32i16_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e16, m8, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i16 %b, i32 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv32i32( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i32 16) %res = trunc %res.ext to ret %res } define @clmulh_nxv1i32_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv1i32_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: lui a0, 524288 ; RV32V-NEXT: vsetvli a1, zero, e64, m1, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: vzext.vf2 v8, v9 ; RV32V-NEXT: li a2, 16 ; RV32V-NEXT: li a1, 32 ; RV32V-NEXT: vand.vx v9, v8, a2 ; RV32V-NEXT: li a2, 64 ; RV32V-NEXT: vand.vi v11, v8, 2 ; RV32V-NEXT: vand.vi v12, v8, 1 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v11, v12, v11 ; RV32V-NEXT: vand.vi v12, v8, 4 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v11, v11, v12 ; RV32V-NEXT: vand.vi v12, v8, 8 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v11, v11, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: li a2, 128 ; RV32V-NEXT: vmul.vv v9, v10, v9 ; RV32V-NEXT: vxor.vv v9, v11, v9 ; RV32V-NEXT: vand.vx v11, v8, a1 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: li a2, 256 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: li a2, 512 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: li a2, 1024 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 1 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: li a2, 1 ; RV32V-NEXT: slli a2, a2, 11 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 2 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 4 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 8 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 16 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 32 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 64 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 128 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 256 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 512 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 1024 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 2048 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 4096 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 8192 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 16384 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 32768 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 65536 ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 131072 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: addi a2, sp, 8 ; RV32V-NEXT: sw a0, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: vmul.vv v11, v10, v11 ; RV32V-NEXT: vxor.vv v9, v9, v11 ; RV32V-NEXT: vlse64.v v11, (a2), zero ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v9, v9, v12 ; RV32V-NEXT: lui a0, 262144 ; RV32V-NEXT: vand.vv v11, v8, v11 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v8, v9, v8 ; RV32V-NEXT: vmul.vv v9, v10, v11 ; RV32V-NEXT: vxor.vv v8, v8, v9 ; RV32V-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV32V-NEXT: vnsrl.wx v8, v8, a1 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv1i32_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e64, m1, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: vzext.vf2 v8, v9 ; RV64V-NEXT: li a1, 16 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: li a2, 64 ; RV64V-NEXT: vand.vi v9, v8, 2 ; RV64V-NEXT: vand.vi v11, v8, 1 ; RV64V-NEXT: vmul.vv v9, v10, v9 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v11, v9 ; RV64V-NEXT: vand.vi v11, v8, 4 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vi v11, v8, 8 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a1 ; RV64V-NEXT: li a1, 128 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: li a2, 256 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a1 ; RV64V-NEXT: li a1, 512 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: li a2, 1024 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a1 ; RV64V-NEXT: li a1, 1 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: slli a2, a1, 11 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 1 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 2 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 4 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 8 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 16 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 32 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 64 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 128 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 256 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 512 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 1024 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 2048 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 4096 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 8192 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 16384 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 32768 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 65536 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 131072 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 262144 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: slli a1, a1, 31 ; RV64V-NEXT: vmul.vv v11, v10, v11 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vxor.vv v8, v9, v8 ; RV64V-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV64V-NEXT: vnsrl.wx v8, v8, a0 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv1i32_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m1, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v10, v9 ; RV32ZVBC64-NEXT: vzext.vf2 v9, v8 ; RV32ZVBC64-NEXT: vclmul.vv v8, v9, v10 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wx v8, v8, a0 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv1i32_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m1, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v10, v9 ; RV64ZVBC64-NEXT: vzext.vf2 v9, v8 ; RV64ZVBC64-NEXT: vclmul.vv v8, v9, v10 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wx v8, v8, a0 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv1i32_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e32, mf2, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv1i32_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e32, mf2, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv1i64( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i64 32) %res = trunc %res.ext to ret %res } define @clmulh_nxv1i32_vx( %va, i32 %b) nounwind { ; RV32V-LABEL: clmulh_nxv1i32_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: vsetvli a1, zero, e32, mf2, ta, ma ; RV32V-NEXT: vmv.v.x v10, a0 ; RV32V-NEXT: lui a0, 524288 ; RV32V-NEXT: vsetvli zero, zero, e64, m1, ta, ma ; RV32V-NEXT: vzext.vf2 v9, v8 ; RV32V-NEXT: li a2, 16 ; RV32V-NEXT: li a1, 32 ; RV32V-NEXT: vzext.vf2 v8, v10 ; RV32V-NEXT: vand.vx v10, v8, a2 ; RV32V-NEXT: li a2, 64 ; RV32V-NEXT: vand.vi v11, v8, 2 ; RV32V-NEXT: vand.vi v12, v8, 1 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v11, v12, v11 ; RV32V-NEXT: vand.vi v12, v8, 4 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v11, v11, v12 ; RV32V-NEXT: vand.vi v12, v8, 8 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v11, v11, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: li a2, 128 ; RV32V-NEXT: vmul.vv v10, v9, v10 ; RV32V-NEXT: vxor.vv v10, v11, v10 ; RV32V-NEXT: vand.vx v11, v8, a1 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: li a2, 256 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v10, v10, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: li a2, 512 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: li a2, 1024 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v10, v10, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: li a2, 1 ; RV32V-NEXT: slli a2, a2, 11 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 1 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v10, v10, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 2 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 4 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v10, v10, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 8 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 16 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v10, v10, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 32 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 64 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v10, v10, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 128 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 256 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v10, v10, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 512 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 1024 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v10, v10, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 2048 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 4096 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v10, v10, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 8192 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 16384 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v10, v10, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 32768 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: lui a2, 65536 ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v10, v10, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: lui a2, 131072 ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: vand.vx v11, v8, a2 ; RV32V-NEXT: addi a2, sp, 8 ; RV32V-NEXT: sw a0, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: vmul.vv v12, v9, v12 ; RV32V-NEXT: vxor.vv v10, v10, v12 ; RV32V-NEXT: vlse64.v v12, (a2), zero ; RV32V-NEXT: vmul.vv v11, v9, v11 ; RV32V-NEXT: vxor.vv v10, v10, v11 ; RV32V-NEXT: lui a0, 262144 ; RV32V-NEXT: vand.vv v11, v8, v12 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v8, v9, v8 ; RV32V-NEXT: vxor.vv v8, v10, v8 ; RV32V-NEXT: vmul.vv v9, v9, v11 ; RV32V-NEXT: vxor.vv v8, v8, v9 ; RV32V-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV32V-NEXT: vnsrl.wx v8, v8, a1 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv1i32_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e32, mf2, ta, ma ; RV64V-NEXT: vmv.v.x v10, a0 ; RV64V-NEXT: vsetvli zero, zero, e64, m1, ta, ma ; RV64V-NEXT: vzext.vf2 v9, v8 ; RV64V-NEXT: li a1, 16 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: li a2, 64 ; RV64V-NEXT: vzext.vf2 v8, v10 ; RV64V-NEXT: vand.vi v10, v8, 2 ; RV64V-NEXT: vand.vi v11, v8, 1 ; RV64V-NEXT: vmul.vv v10, v9, v10 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v11, v10 ; RV64V-NEXT: vand.vi v11, v8, 4 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vi v11, v8, 8 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a1 ; RV64V-NEXT: li a1, 128 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a0 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: li a2, 256 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a1 ; RV64V-NEXT: li a1, 512 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: li a2, 1024 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a1 ; RV64V-NEXT: li a1, 1 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: slli a2, a1, 11 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 1 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 2 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 4 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 8 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 16 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 32 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 64 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 128 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 256 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 512 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 1024 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 2048 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 4096 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 8192 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 16384 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 32768 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 65536 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 131072 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: lui a2, 262144 ; RV64V-NEXT: slli a1, a1, 31 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vand.vx v11, v8, a2 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vmul.vv v11, v9, v11 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vmul.vv v8, v9, v8 ; RV64V-NEXT: vxor.vv v8, v10, v8 ; RV64V-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV64V-NEXT: vnsrl.wx v8, v8, a0 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv1i32_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e32, mf2, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v9, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e64, m1, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v10, v8 ; RV32ZVBC64-NEXT: vzext.vf2 v8, v9 ; RV32ZVBC64-NEXT: vclmul.vv v8, v10, v8 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wx v8, v8, a0 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv1i32_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e32, mf2, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v9, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e64, m1, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v10, v8 ; RV64ZVBC64-NEXT: vzext.vf2 v8, v9 ; RV64ZVBC64-NEXT: vclmul.vv v8, v10, v8 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, mf2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wx v8, v8, a0 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv1i32_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e32, mf2, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv1i32_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e32, mf2, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i32 %b, i64 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv1i64( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i64 32) %res = trunc %res.ext to ret %res } define @clmulh_nxv2i32_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv2i32_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: lui a0, 524288 ; RV32V-NEXT: vsetvli a1, zero, e64, m2, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: vzext.vf2 v12, v9 ; RV32V-NEXT: li a2, 16 ; RV32V-NEXT: li a1, 32 ; RV32V-NEXT: vand.vx v8, v12, a2 ; RV32V-NEXT: li a2, 64 ; RV32V-NEXT: vand.vi v14, v12, 2 ; RV32V-NEXT: vand.vi v16, v12, 1 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v14, v16, v14 ; RV32V-NEXT: vand.vi v16, v12, 4 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: vand.vi v16, v12, 8 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: li a2, 128 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v8, v14, v8 ; RV32V-NEXT: vand.vx v14, v12, a1 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a2 ; RV32V-NEXT: li a2, 256 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: li a2, 512 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a2 ; RV32V-NEXT: li a2, 1024 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: lui a2, 1 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a2 ; RV32V-NEXT: li a2, 1 ; RV32V-NEXT: slli a2, a2, 11 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: lui a2, 2 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: lui a2, 4 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a2 ; RV32V-NEXT: lui a2, 8 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: lui a2, 16 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a2 ; RV32V-NEXT: lui a2, 32 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: lui a2, 64 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a2 ; RV32V-NEXT: lui a2, 128 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: lui a2, 256 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a2 ; RV32V-NEXT: lui a2, 512 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: lui a2, 1024 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a2 ; RV32V-NEXT: lui a2, 2048 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: lui a2, 4096 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a2 ; RV32V-NEXT: lui a2, 8192 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: lui a2, 16384 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a2 ; RV32V-NEXT: lui a2, 32768 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: lui a2, 65536 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vand.vx v14, v12, a2 ; RV32V-NEXT: lui a2, 131072 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vand.vx v16, v12, a2 ; RV32V-NEXT: addi a2, sp, 8 ; RV32V-NEXT: sw a0, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: vlse64.v v14, (a2), zero ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: lui a0, 262144 ; RV32V-NEXT: vand.vv v14, v12, v14 ; RV32V-NEXT: vand.vx v12, v12, a0 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v8, v8, v12 ; RV32V-NEXT: vmul.vv v10, v10, v14 ; RV32V-NEXT: vxor.vv v10, v8, v10 ; RV32V-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV32V-NEXT: vnsrl.wx v8, v10, a1 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv2i32_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e64, m2, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: vzext.vf2 v12, v9 ; RV64V-NEXT: li a1, 16 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: li a2, 64 ; RV64V-NEXT: vand.vi v8, v12, 2 ; RV64V-NEXT: vand.vi v14, v12, 1 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v14, v8 ; RV64V-NEXT: vand.vi v14, v12, 4 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vi v14, v12, 8 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a1 ; RV64V-NEXT: li a1, 128 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a0 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: li a2, 256 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a1 ; RV64V-NEXT: li a1, 512 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: li a2, 1024 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a1 ; RV64V-NEXT: li a1, 1 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: slli a2, a1, 11 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 1 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 2 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 4 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 8 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 16 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 32 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 64 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 128 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 256 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 512 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 1024 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 2048 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 4096 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 8192 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 16384 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 32768 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 65536 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 131072 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: lui a2, 262144 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vand.vx v14, v12, a2 ; RV64V-NEXT: slli a1, a1, 31 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vand.vx v12, v12, a1 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vmul.vv v10, v10, v12 ; RV64V-NEXT: vxor.vv v10, v8, v10 ; RV64V-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV64V-NEXT: vnsrl.wx v8, v10, a0 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv2i32_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m2, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v10, v9 ; RV32ZVBC64-NEXT: vzext.vf2 v12, v8 ; RV32ZVBC64-NEXT: vclmul.vv v10, v12, v10 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wx v8, v10, a0 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv2i32_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m2, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v10, v9 ; RV64ZVBC64-NEXT: vzext.vf2 v12, v8 ; RV64ZVBC64-NEXT: vclmul.vv v10, v12, v10 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wx v8, v10, a0 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv2i32_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e32, m1, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv2i32_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e32, m1, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v9 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv2i64( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i64 32) %res = trunc %res.ext to ret %res } define @clmulh_nxv2i32_vx( %va, i32 %b) nounwind { ; RV32V-LABEL: clmulh_nxv2i32_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: vsetvli a1, zero, e32, m1, ta, ma ; RV32V-NEXT: vmv.v.x v12, a0 ; RV32V-NEXT: lui a0, 524288 ; RV32V-NEXT: vsetvli zero, zero, e64, m2, ta, ma ; RV32V-NEXT: vzext.vf2 v10, v8 ; RV32V-NEXT: li a2, 16 ; RV32V-NEXT: li a1, 32 ; RV32V-NEXT: vzext.vf2 v8, v12 ; RV32V-NEXT: vand.vx v12, v8, a2 ; RV32V-NEXT: li a2, 64 ; RV32V-NEXT: vand.vi v14, v8, 2 ; RV32V-NEXT: vand.vi v16, v8, 1 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v14, v16, v14 ; RV32V-NEXT: vand.vi v16, v8, 4 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: vand.vi v16, v8, 8 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: li a2, 128 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: vxor.vv v12, v14, v12 ; RV32V-NEXT: vand.vx v14, v8, a1 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a2 ; RV32V-NEXT: li a2, 256 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: li a2, 512 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a2 ; RV32V-NEXT: li a2, 1024 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: li a2, 1 ; RV32V-NEXT: slli a2, a2, 11 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a2 ; RV32V-NEXT: lui a2, 1 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: lui a2, 2 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a2 ; RV32V-NEXT: lui a2, 4 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: lui a2, 8 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a2 ; RV32V-NEXT: lui a2, 16 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: lui a2, 32 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a2 ; RV32V-NEXT: lui a2, 64 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: lui a2, 128 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a2 ; RV32V-NEXT: lui a2, 256 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: lui a2, 512 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a2 ; RV32V-NEXT: lui a2, 1024 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: lui a2, 2048 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a2 ; RV32V-NEXT: lui a2, 4096 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: lui a2, 8192 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a2 ; RV32V-NEXT: lui a2, 16384 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: lui a2, 32768 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a2 ; RV32V-NEXT: lui a2, 65536 ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: lui a2, 131072 ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: vand.vx v14, v8, a2 ; RV32V-NEXT: addi a2, sp, 8 ; RV32V-NEXT: sw a0, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: vmul.vv v16, v10, v16 ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: vlse64.v v16, (a2), zero ; RV32V-NEXT: vmul.vv v14, v10, v14 ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: lui a0, 262144 ; RV32V-NEXT: vand.vv v14, v8, v16 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: vxor.vv v8, v12, v8 ; RV32V-NEXT: vmul.vv v10, v10, v14 ; RV32V-NEXT: vxor.vv v10, v8, v10 ; RV32V-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV32V-NEXT: vnsrl.wx v8, v10, a1 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv2i32_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e32, m1, ta, ma ; RV64V-NEXT: vmv.v.x v12, a0 ; RV64V-NEXT: vsetvli zero, zero, e64, m2, ta, ma ; RV64V-NEXT: vzext.vf2 v10, v8 ; RV64V-NEXT: li a1, 16 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: li a2, 64 ; RV64V-NEXT: vzext.vf2 v8, v12 ; RV64V-NEXT: vand.vi v12, v8, 2 ; RV64V-NEXT: vand.vi v14, v8, 1 ; RV64V-NEXT: vmul.vv v12, v10, v12 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v14, v12 ; RV64V-NEXT: vand.vi v14, v8, 4 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vi v14, v8, 8 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a1 ; RV64V-NEXT: li a1, 128 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a0 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: li a2, 256 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a1 ; RV64V-NEXT: li a1, 512 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: li a2, 1024 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a1 ; RV64V-NEXT: li a1, 1 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: slli a2, a1, 11 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 1 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 2 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 4 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 8 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 16 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 32 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 64 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 128 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 256 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 512 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 1024 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 2048 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 4096 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 8192 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 16384 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 32768 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 65536 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 131072 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: lui a2, 262144 ; RV64V-NEXT: slli a1, a1, 31 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vand.vx v14, v8, a2 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vmul.vv v14, v10, v14 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vv v8, v10, v8 ; RV64V-NEXT: vxor.vv v10, v12, v8 ; RV64V-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV64V-NEXT: vnsrl.wx v8, v10, a0 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv2i32_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e32, m1, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v12, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e64, m2, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v10, v8 ; RV32ZVBC64-NEXT: vzext.vf2 v8, v12 ; RV32ZVBC64-NEXT: vclmul.vv v10, v10, v8 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wx v8, v10, a0 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv2i32_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e32, m1, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v12, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e64, m2, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v10, v8 ; RV64ZVBC64-NEXT: vzext.vf2 v8, v12 ; RV64ZVBC64-NEXT: vclmul.vv v10, v10, v8 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m1, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wx v8, v10, a0 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv2i32_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e32, m1, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv2i32_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e32, m1, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i32 %b, i64 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv2i64( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i64 32) %res = trunc %res.ext to ret %res } define @clmulh_nxv4i32_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv4i32_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: lui a0, 524288 ; RV32V-NEXT: vsetvli a1, zero, e64, m4, ta, ma ; RV32V-NEXT: vzext.vf2 v12, v8 ; RV32V-NEXT: vzext.vf2 v16, v10 ; RV32V-NEXT: li a2, 16 ; RV32V-NEXT: li a1, 32 ; RV32V-NEXT: vand.vx v8, v16, a2 ; RV32V-NEXT: li a2, 64 ; RV32V-NEXT: vand.vi v20, v16, 2 ; RV32V-NEXT: vand.vi v24, v16, 1 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v20, v24, v20 ; RV32V-NEXT: vand.vi v24, v16, 4 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v20, v20, v24 ; RV32V-NEXT: vand.vi v24, v16, 8 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v20, v20, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: li a2, 128 ; RV32V-NEXT: vmul.vv v8, v12, v8 ; RV32V-NEXT: vxor.vv v8, v20, v8 ; RV32V-NEXT: vand.vx v20, v16, a1 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a2 ; RV32V-NEXT: li a2, 256 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: li a2, 512 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a2 ; RV32V-NEXT: li a2, 1024 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: lui a2, 1 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a2 ; RV32V-NEXT: li a2, 1 ; RV32V-NEXT: slli a2, a2, 11 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: lui a2, 2 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: lui a2, 4 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a2 ; RV32V-NEXT: lui a2, 8 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: lui a2, 16 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a2 ; RV32V-NEXT: lui a2, 32 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: lui a2, 64 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a2 ; RV32V-NEXT: lui a2, 128 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: lui a2, 256 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a2 ; RV32V-NEXT: lui a2, 512 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: lui a2, 1024 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a2 ; RV32V-NEXT: lui a2, 2048 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: lui a2, 4096 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a2 ; RV32V-NEXT: lui a2, 8192 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: lui a2, 16384 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a2 ; RV32V-NEXT: lui a2, 32768 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: lui a2, 65536 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vand.vx v20, v16, a2 ; RV32V-NEXT: lui a2, 131072 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: vand.vx v24, v16, a2 ; RV32V-NEXT: addi a2, sp, 8 ; RV32V-NEXT: sw a0, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vlse64.v v20, (a2), zero ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v8, v8, v24 ; RV32V-NEXT: lui a0, 262144 ; RV32V-NEXT: vand.vv v20, v16, v20 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vmul.vv v16, v12, v16 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vmul.vv v12, v12, v20 ; RV32V-NEXT: vxor.vv v12, v8, v12 ; RV32V-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV32V-NEXT: vnsrl.wx v8, v12, a1 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv4i32_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV64V-NEXT: vzext.vf2 v12, v8 ; RV64V-NEXT: vzext.vf2 v16, v10 ; RV64V-NEXT: li a1, 16 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: li a2, 64 ; RV64V-NEXT: vand.vi v8, v16, 2 ; RV64V-NEXT: vand.vi v20, v16, 1 ; RV64V-NEXT: vmul.vv v8, v12, v8 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v20, v8 ; RV64V-NEXT: vand.vi v20, v16, 4 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vi v20, v16, 8 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a1 ; RV64V-NEXT: li a1, 128 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a0 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: li a2, 256 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a1 ; RV64V-NEXT: li a1, 512 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: li a2, 1024 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a1 ; RV64V-NEXT: li a1, 1 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: slli a2, a1, 11 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 1 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 2 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 4 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 8 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 16 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 32 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 64 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 128 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 256 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 512 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 1024 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 2048 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 4096 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 8192 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 16384 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 32768 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 65536 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 131072 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: lui a2, 262144 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vand.vx v20, v16, a2 ; RV64V-NEXT: slli a1, a1, 31 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vxor.vv v8, v8, v20 ; RV64V-NEXT: vmul.vv v12, v12, v16 ; RV64V-NEXT: vxor.vv v12, v8, v12 ; RV64V-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV64V-NEXT: vnsrl.wx v8, v12, a0 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv4i32_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v12, v10 ; RV32ZVBC64-NEXT: vzext.vf2 v16, v8 ; RV32ZVBC64-NEXT: vclmul.vv v12, v16, v12 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wx v8, v12, a0 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv4i32_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v12, v10 ; RV64ZVBC64-NEXT: vzext.vf2 v16, v8 ; RV64ZVBC64-NEXT: vclmul.vv v12, v16, v12 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wx v8, v12, a0 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv4i32_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e32, m2, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v10 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv4i32_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e32, m2, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v10 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv4i64( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i64 32) %res = trunc %res.ext to ret %res } define @clmulh_nxv4i32_vx( %va, i32 %b) nounwind { ; RV32V-LABEL: clmulh_nxv4i32_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: vsetvli a1, zero, e32, m2, ta, ma ; RV32V-NEXT: vmv.v.x v16, a0 ; RV32V-NEXT: lui a0, 524288 ; RV32V-NEXT: vsetvli zero, zero, e64, m4, ta, ma ; RV32V-NEXT: vzext.vf2 v12, v8 ; RV32V-NEXT: li a2, 16 ; RV32V-NEXT: li a1, 32 ; RV32V-NEXT: vzext.vf2 v8, v16 ; RV32V-NEXT: vand.vx v16, v8, a2 ; RV32V-NEXT: li a2, 64 ; RV32V-NEXT: vand.vi v20, v8, 2 ; RV32V-NEXT: vand.vi v24, v8, 1 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v20, v24, v20 ; RV32V-NEXT: vand.vi v24, v8, 4 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v20, v20, v24 ; RV32V-NEXT: vand.vi v24, v8, 8 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v20, v20, v24 ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: li a2, 128 ; RV32V-NEXT: vmul.vv v16, v12, v16 ; RV32V-NEXT: vxor.vv v16, v20, v16 ; RV32V-NEXT: vand.vx v20, v8, a1 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: li a2, 256 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: li a2, 512 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: li a2, 1024 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: li a2, 1 ; RV32V-NEXT: slli a2, a2, 11 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: lui a2, 1 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: lui a2, 2 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: lui a2, 4 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: lui a2, 8 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: lui a2, 16 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: lui a2, 32 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: lui a2, 64 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: lui a2, 128 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: lui a2, 256 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: lui a2, 512 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: lui a2, 1024 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: lui a2, 2048 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: lui a2, 4096 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: lui a2, 8192 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: lui a2, 16384 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: lui a2, 32768 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: lui a2, 65536 ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: lui a2, 131072 ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: addi a2, sp, 8 ; RV32V-NEXT: sw a0, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: vmul.vv v24, v12, v24 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vlse64.v v24, (a2), zero ; RV32V-NEXT: vmul.vv v20, v12, v20 ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: lui a0, 262144 ; RV32V-NEXT: vand.vv v20, v8, v24 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v8, v12, v8 ; RV32V-NEXT: vxor.vv v8, v16, v8 ; RV32V-NEXT: vmul.vv v12, v12, v20 ; RV32V-NEXT: vxor.vv v12, v8, v12 ; RV32V-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV32V-NEXT: vnsrl.wx v8, v12, a1 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv4i32_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e32, m2, ta, ma ; RV64V-NEXT: vmv.v.x v16, a0 ; RV64V-NEXT: vsetvli zero, zero, e64, m4, ta, ma ; RV64V-NEXT: vzext.vf2 v12, v8 ; RV64V-NEXT: li a1, 16 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: li a2, 64 ; RV64V-NEXT: vzext.vf2 v8, v16 ; RV64V-NEXT: vand.vi v16, v8, 2 ; RV64V-NEXT: vand.vi v20, v8, 1 ; RV64V-NEXT: vmul.vv v16, v12, v16 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v20, v16 ; RV64V-NEXT: vand.vi v20, v8, 4 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vi v20, v8, 8 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a1 ; RV64V-NEXT: li a1, 128 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a0 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: li a2, 256 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a1 ; RV64V-NEXT: li a1, 512 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: li a2, 1024 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a1 ; RV64V-NEXT: li a1, 1 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: slli a2, a1, 11 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 1 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 2 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 4 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 8 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 16 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 32 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 64 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 128 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 256 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 512 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 1024 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 2048 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 4096 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 8192 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 16384 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 32768 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 65536 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 131072 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: lui a2, 262144 ; RV64V-NEXT: slli a1, a1, 31 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v20, v8, a2 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vmul.vv v20, v12, v20 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vmul.vv v8, v12, v8 ; RV64V-NEXT: vxor.vv v12, v16, v8 ; RV64V-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV64V-NEXT: vnsrl.wx v8, v12, a0 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv4i32_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e32, m2, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v16, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e64, m4, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v12, v8 ; RV32ZVBC64-NEXT: vzext.vf2 v8, v16 ; RV32ZVBC64-NEXT: vclmul.vv v12, v12, v8 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wx v8, v12, a0 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv4i32_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e32, m2, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v16, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e64, m4, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v12, v8 ; RV64ZVBC64-NEXT: vzext.vf2 v8, v16 ; RV64ZVBC64-NEXT: vclmul.vv v12, v12, v8 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m2, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wx v8, v12, a0 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv4i32_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e32, m2, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv4i32_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e32, m2, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i32 %b, i64 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv4i64( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i64 32) %res = trunc %res.ext to ret %res } define @clmulh_nxv8i32_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv8i32_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: sub sp, sp, a0 ; RV32V-NEXT: lui a0, 524288 ; RV32V-NEXT: vsetvli a1, zero, e64, m8, ta, ma ; RV32V-NEXT: vzext.vf2 v16, v8 ; RV32V-NEXT: vzext.vf2 v24, v12 ; RV32V-NEXT: li a2, 16 ; RV32V-NEXT: li a1, 32 ; RV32V-NEXT: vand.vi v8, v24, 2 ; RV32V-NEXT: vand.vi v0, v24, 1 ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v0, v8 ; RV32V-NEXT: vand.vi v0, v24, 4 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vi v0, v24, 8 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: li a2, 64 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a1 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: li a2, 128 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: li a2, 256 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: li a2, 512 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: li a2, 1024 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: li a2, 1 ; RV32V-NEXT: slli a2, a2, 11 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 1 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 2 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 4 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 8 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 16 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 32 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 64 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 128 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 256 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 512 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 1024 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 2048 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 4096 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 8192 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 16384 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 32768 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 65536 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: lui a2, 131072 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v8, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v0, v24, a2 ; RV32V-NEXT: addi a2, sp, 8 ; RV32V-NEXT: sw a0, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: vlse64.v v8, (a2), zero ; RV32V-NEXT: addi a0, sp, 16 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 16 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v0, v8, v0 ; RV32V-NEXT: lui a0, 262144 ; RV32V-NEXT: addi a2, sp, 16 ; RV32V-NEXT: vl8r.v v8, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v24, v8 ; RV32V-NEXT: vand.vx v24, v24, a0 ; RV32V-NEXT: vmul.vv v24, v16, v24 ; RV32V-NEXT: vxor.vv v24, v0, v24 ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: vxor.vv v16, v24, v8 ; RV32V-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV32V-NEXT: vnsrl.wx v8, v16, a1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv8i32_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a0, zero, e64, m8, ta, ma ; RV64V-NEXT: vzext.vf2 v16, v8 ; RV64V-NEXT: vzext.vf2 v24, v12 ; RV64V-NEXT: li a1, 16 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: li a2, 64 ; RV64V-NEXT: vand.vi v8, v24, 2 ; RV64V-NEXT: vand.vi v0, v24, 1 ; RV64V-NEXT: vmul.vv v8, v16, v8 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v0, v8 ; RV64V-NEXT: vand.vi v0, v24, 4 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vi v0, v24, 8 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a1 ; RV64V-NEXT: li a1, 128 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a0 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: li a2, 256 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a1 ; RV64V-NEXT: li a1, 512 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: li a2, 1024 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a1 ; RV64V-NEXT: li a1, 1 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: slli a2, a1, 11 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 1 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 2 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 4 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 8 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 16 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 32 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 64 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 128 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 256 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 512 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 1024 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 2048 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 4096 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 8192 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 16384 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 32768 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 65536 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 131072 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: lui a2, 262144 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vand.vx v0, v24, a2 ; RV64V-NEXT: slli a1, a1, 31 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vand.vx v24, v24, a1 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vmul.vv v16, v16, v24 ; RV64V-NEXT: vxor.vv v16, v8, v16 ; RV64V-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV64V-NEXT: vnsrl.wx v8, v16, a0 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv8i32_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m8, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v16, v12 ; RV32ZVBC64-NEXT: vzext.vf2 v24, v8 ; RV32ZVBC64-NEXT: vclmul.vv v16, v24, v16 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wx v8, v16, a0 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv8i32_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m8, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v16, v12 ; RV64ZVBC64-NEXT: vzext.vf2 v24, v8 ; RV64ZVBC64-NEXT: vclmul.vv v16, v24, v16 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wx v8, v16, a0 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv8i32_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e32, m4, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v12 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv8i32_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e32, m4, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v12 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv8i64( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i64 32) %res = trunc %res.ext to ret %res } define @clmulh_nxv8i32_vx( %va, i32 %b) nounwind { ; RV32V-LABEL: clmulh_nxv8i32_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: csrr a1, vlenb ; RV32V-NEXT: slli a1, a1, 4 ; RV32V-NEXT: sub sp, sp, a1 ; RV32V-NEXT: vsetvli a1, zero, e32, m4, ta, ma ; RV32V-NEXT: vmv.v.x v24, a0 ; RV32V-NEXT: lui a0, 524288 ; RV32V-NEXT: vsetvli zero, zero, e64, m8, ta, ma ; RV32V-NEXT: vzext.vf2 v16, v8 ; RV32V-NEXT: li a2, 16 ; RV32V-NEXT: li a1, 32 ; RV32V-NEXT: vzext.vf2 v8, v24 ; RV32V-NEXT: vand.vi v24, v8, 2 ; RV32V-NEXT: vand.vi v0, v8, 1 ; RV32V-NEXT: vmul.vv v24, v16, v24 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v0, v24 ; RV32V-NEXT: vand.vi v0, v8, 4 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vi v0, v8, 8 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: li a2, 64 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a1 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: li a2, 128 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: li a2, 256 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: li a2, 512 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: li a2, 1024 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: li a2, 1 ; RV32V-NEXT: slli a2, a2, 11 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 1 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 2 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 4 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 8 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 16 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 32 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 64 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 128 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 256 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 512 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 1024 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 2048 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 4096 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 8192 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 16384 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 32768 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 65536 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: lui a2, 131072 ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: csrr a3, vlenb ; RV32V-NEXT: slli a3, a3, 3 ; RV32V-NEXT: add a3, sp, a3 ; RV32V-NEXT: addi a3, a3, 16 ; RV32V-NEXT: vs8r.v v24, (a3) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v0, v8, a2 ; RV32V-NEXT: addi a2, sp, 8 ; RV32V-NEXT: sw a0, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: vlse64.v v24, (a2), zero ; RV32V-NEXT: addi a0, sp, 16 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 16 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v0, v24, v0 ; RV32V-NEXT: lui a0, 262144 ; RV32V-NEXT: addi a2, sp, 16 ; RV32V-NEXT: vl8r.v v24, (a2) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: vxor.vv v8, v0, v8 ; RV32V-NEXT: vmul.vv v16, v16, v24 ; RV32V-NEXT: vxor.vv v16, v8, v16 ; RV32V-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV32V-NEXT: vnsrl.wx v8, v16, a1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv8i32_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: vsetvli a1, zero, e32, m4, ta, ma ; RV64V-NEXT: vmv.v.x v24, a0 ; RV64V-NEXT: vsetvli zero, zero, e64, m8, ta, ma ; RV64V-NEXT: vzext.vf2 v16, v8 ; RV64V-NEXT: li a1, 16 ; RV64V-NEXT: li a0, 32 ; RV64V-NEXT: li a2, 64 ; RV64V-NEXT: vzext.vf2 v8, v24 ; RV64V-NEXT: vand.vi v24, v8, 2 ; RV64V-NEXT: vand.vi v0, v8, 1 ; RV64V-NEXT: vmul.vv v24, v16, v24 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v0, v24 ; RV64V-NEXT: vand.vi v0, v8, 4 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vi v0, v8, 8 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a1 ; RV64V-NEXT: li a1, 128 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a0 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: li a2, 256 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a1 ; RV64V-NEXT: li a1, 512 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: li a2, 1024 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a1 ; RV64V-NEXT: li a1, 1 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: slli a2, a1, 11 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 1 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 2 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 4 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 8 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 16 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 32 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 64 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 128 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 256 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 512 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 1024 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 2048 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 4096 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 8192 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 16384 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 32768 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 65536 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 131072 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: lui a2, 262144 ; RV64V-NEXT: slli a1, a1, 31 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vmul.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vv v8, v16, v8 ; RV64V-NEXT: vxor.vv v16, v24, v8 ; RV64V-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV64V-NEXT: vnsrl.wx v8, v16, a0 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv8i32_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a1, zero, e32, m4, ta, ma ; RV32ZVBC64-NEXT: vmv.v.x v24, a0 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e64, m8, ta, ma ; RV32ZVBC64-NEXT: vzext.vf2 v16, v8 ; RV32ZVBC64-NEXT: vzext.vf2 v8, v24 ; RV32ZVBC64-NEXT: vclmul.vv v16, v16, v8 ; RV32ZVBC64-NEXT: li a0, 32 ; RV32ZVBC64-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV32ZVBC64-NEXT: vnsrl.wx v8, v16, a0 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv8i32_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e32, m4, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v24, a0 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e64, m8, ta, ma ; RV64ZVBC64-NEXT: vzext.vf2 v16, v8 ; RV64ZVBC64-NEXT: vzext.vf2 v8, v24 ; RV64ZVBC64-NEXT: vclmul.vv v16, v16, v8 ; RV64ZVBC64-NEXT: li a0, 32 ; RV64ZVBC64-NEXT: vsetvli zero, zero, e32, m4, ta, ma ; RV64ZVBC64-NEXT: vnsrl.wx v8, v16, a0 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv8i32_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e32, m4, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv8i32_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e32, m4, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i32 %b, i64 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv8i64( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i64 32) %res = trunc %res.ext to ret %res } define @clmulh_nxv16i32_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv16i32_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -80 ; RV32V-NEXT: sw ra, 76(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s0, 72(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s1, 68(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s2, 64(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s3, 60(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s4, 56(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s5, 52(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s6, 48(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s7, 44(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s8, 40(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s9, 36(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s10, 32(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s11, 28(sp) # 4-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: sub sp, sp, a0 ; RV32V-NEXT: vsetvli a0, zero, e32, m8, ta, ma ; RV32V-NEXT: vsrl.vi v24, v8, 8 ; RV32V-NEXT: lui a0, 16 ; RV32V-NEXT: vsrl.vi v0, v8, 24 ; RV32V-NEXT: addi a0, a0, -256 ; RV32V-NEXT: vand.vx v24, v24, a0 ; RV32V-NEXT: vor.vv v24, v24, v0 ; RV32V-NEXT: csrr a1, vlenb ; RV32V-NEXT: slli a1, a1, 3 ; RV32V-NEXT: mv a2, a1 ; RV32V-NEXT: slli a1, a1, 1 ; RV32V-NEXT: add a2, a2, a1 ; RV32V-NEXT: slli a1, a1, 4 ; RV32V-NEXT: add a1, a1, a2 ; RV32V-NEXT: add a1, sp, a1 ; RV32V-NEXT: addi a1, a1, 16 ; RV32V-NEXT: vs8r.v v24, (a1) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vsrl.vi v0, v16, 8 ; RV32V-NEXT: vand.vx v0, v0, a0 ; RV32V-NEXT: vsrl.vi v24, v16, 24 ; RV32V-NEXT: vor.vv v0, v0, v24 ; RV32V-NEXT: vsll.vi v24, v8, 24 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vsll.vi v8, v8, 8 ; RV32V-NEXT: vor.vv v8, v24, v8 ; RV32V-NEXT: vsll.vi v24, v16, 24 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vsll.vi v16, v16, 8 ; RV32V-NEXT: vor.vv v16, v24, v16 ; RV32V-NEXT: lui a1, 61681 ; RV32V-NEXT: lui a2, 209715 ; RV32V-NEXT: lui t6, 349525 ; RV32V-NEXT: li s5, 16 ; RV32V-NEXT: li t2, 32 ; RV32V-NEXT: li a7, 256 ; RV32V-NEXT: li t0, 512 ; RV32V-NEXT: li t1, 1024 ; RV32V-NEXT: li s6, 1 ; RV32V-NEXT: lui t3, 1 ; RV32V-NEXT: lui t4, 2 ; RV32V-NEXT: lui t5, 4 ; RV32V-NEXT: lui s0, 8 ; RV32V-NEXT: lui s1, 32 ; RV32V-NEXT: lui s2, 64 ; RV32V-NEXT: lui s3, 128 ; RV32V-NEXT: lui s4, 256 ; RV32V-NEXT: lui s7, 512 ; RV32V-NEXT: lui s8, 1024 ; RV32V-NEXT: lui s9, 2048 ; RV32V-NEXT: lui s10, 4096 ; RV32V-NEXT: lui s11, 8192 ; RV32V-NEXT: lui ra, 16384 ; RV32V-NEXT: lui a5, 32768 ; RV32V-NEXT: addi a3, a1, -241 ; RV32V-NEXT: addi a2, a2, 819 ; RV32V-NEXT: addi a1, t6, 1365 ; RV32V-NEXT: vor.vv v16, v16, v0 ; RV32V-NEXT: vsrl.vi v24, v16, 4 ; RV32V-NEXT: vand.vx v16, v16, a3 ; RV32V-NEXT: vand.vx v24, v24, a3 ; RV32V-NEXT: vsll.vi v16, v16, 4 ; RV32V-NEXT: vor.vv v16, v24, v16 ; RV32V-NEXT: vsrl.vi v24, v16, 2 ; RV32V-NEXT: vand.vx v16, v16, a2 ; RV32V-NEXT: vand.vx v24, v24, a2 ; RV32V-NEXT: vsll.vi v16, v16, 2 ; RV32V-NEXT: vor.vv v16, v24, v16 ; RV32V-NEXT: vsrl.vi v24, v16, 1 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vand.vx v24, v24, a1 ; RV32V-NEXT: vadd.vv v16, v16, v16 ; RV32V-NEXT: vor.vv v0, v24, v16 ; RV32V-NEXT: vand.vx v16, v0, s5 ; RV32V-NEXT: sw a0, 4(sp) # 4-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a4, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 16 ; RV32V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui t6, 65536 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a4, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a4, a4, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 16 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v8, v8, v16 ; RV32V-NEXT: vsrl.vi v16, v8, 4 ; RV32V-NEXT: vand.vx v8, v8, a3 ; RV32V-NEXT: vand.vx v16, v16, a3 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: vand.vx v8, v8, a2 ; RV32V-NEXT: vand.vx v16, v16, a2 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vx v8, v8, a1 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vand.vx v16, v0, t2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a4, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a4, a4, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 16 ; RV32V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a4, 131072 ; RV32V-NEXT: slli s6, s6, 11 ; RV32V-NEXT: lui t2, 262144 ; RV32V-NEXT: lui s5, 524288 ; RV32V-NEXT: li a6, 64 ; RV32V-NEXT: vand.vx v16, v0, a6 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: mv a0, a6 ; RV32V-NEXT: slli a6, a6, 5 ; RV32V-NEXT: add a6, a6, a0 ; RV32V-NEXT: lw a0, 4(sp) # 4-byte Folded Reload ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: li a6, 128 ; RV32V-NEXT: vand.vx v16, v0, a6 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 8 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, a7 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t0 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 4 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t1 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 2 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, s6 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 5 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t3 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 2 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t4 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 4 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 2 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t5 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, s0 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 6 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a6, 16 ; RV32V-NEXT: vand.vx v16, v0, a6 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 2 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, s1 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 4 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 2 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, s2 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 2 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 2 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, s3 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 5 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 2 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, s4 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, s7 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 4 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, s8 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 4 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, s9 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, s10 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, s11 ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 4 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, ra ; RV32V-NEXT: csrr a6, vlenb ; RV32V-NEXT: slli a6, a6, 3 ; RV32V-NEXT: mv a7, a6 ; RV32V-NEXT: slli a6, a6, 2 ; RV32V-NEXT: add a7, a7, a6 ; RV32V-NEXT: slli a6, a6, 1 ; RV32V-NEXT: add a6, a6, a7 ; RV32V-NEXT: add a6, sp, a6 ; RV32V-NEXT: addi a6, a6, 16 ; RV32V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, a5 ; RV32V-NEXT: csrr a5, vlenb ; RV32V-NEXT: slli a5, a5, 5 ; RV32V-NEXT: mv a6, a5 ; RV32V-NEXT: slli a5, a5, 1 ; RV32V-NEXT: add a5, a5, a6 ; RV32V-NEXT: add a5, sp, a5 ; RV32V-NEXT: addi a5, a5, 16 ; RV32V-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t6 ; RV32V-NEXT: csrr a5, vlenb ; RV32V-NEXT: slli a5, a5, 3 ; RV32V-NEXT: mv a6, a5 ; RV32V-NEXT: slli a5, a5, 1 ; RV32V-NEXT: add a6, a6, a5 ; RV32V-NEXT: slli a5, a5, 2 ; RV32V-NEXT: add a5, a5, a6 ; RV32V-NEXT: add a5, sp, a5 ; RV32V-NEXT: addi a5, a5, 16 ; RV32V-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, a4 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v16, v0, 2 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v24, v0, 1 ; RV32V-NEXT: vand.vi v16, v0, 4 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v16, v0, 8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, t2 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 6 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v0, s5 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vmul.vv v16, v8, v24 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v24, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v0, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 8 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: addi a4, sp, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 6 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 6 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 7 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 7 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 8 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 6 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v8, v16 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v8, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v16, v8 ; RV32V-NEXT: addi a4, sp, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 6 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 2 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 7 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v0, v24, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v0, v0, v8 ; RV32V-NEXT: vsll.vi v16, v16, 24 ; RV32V-NEXT: vand.vx v8, v24, a0 ; RV32V-NEXT: vsll.vi v8, v8, 8 ; RV32V-NEXT: vor.vv v16, v16, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v0, v8 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 5 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 8 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a5, a5, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add a4, a4, a5 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: vsrl.vi v24, v24, 8 ; RV32V-NEXT: vand.vx v24, v24, a0 ; RV32V-NEXT: vsrl.vi v8, v8, 24 ; RV32V-NEXT: vor.vv v8, v24, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 4 ; RV32V-NEXT: vand.vx v8, v8, a3 ; RV32V-NEXT: vand.vx v16, v16, a3 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: vand.vx v8, v8, a2 ; RV32V-NEXT: vand.vx v16, v16, a2 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vx v8, v8, a1 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: lw ra, 76(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s0, 72(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s1, 68(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s2, 64(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s3, 60(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s4, 56(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s5, 52(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s6, 48(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s7, 44(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s8, 40(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s9, 36(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s10, 32(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s11, 28(sp) # 4-byte Folded Reload ; RV32V-NEXT: addi sp, sp, 80 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv16i32_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -144 ; RV64V-NEXT: sd ra, 136(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s0, 128(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s1, 120(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s2, 112(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s3, 104(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s4, 96(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s5, 88(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s6, 80(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s7, 72(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s8, 64(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s9, 56(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s10, 48(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s11, 40(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: sub sp, sp, a0 ; RV64V-NEXT: vsetvli a0, zero, e32, m8, ta, ma ; RV64V-NEXT: vsrl.vi v24, v8, 8 ; RV64V-NEXT: lui a0, 16 ; RV64V-NEXT: vsrl.vi v0, v8, 24 ; RV64V-NEXT: addi a0, a0, -256 ; RV64V-NEXT: vand.vx v24, v24, a0 ; RV64V-NEXT: vor.vv v24, v24, v0 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 4 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 32 ; RV64V-NEXT: vs8r.v v24, (a1) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vsrl.vi v0, v16, 8 ; RV64V-NEXT: vand.vx v0, v0, a0 ; RV64V-NEXT: vsrl.vi v24, v16, 24 ; RV64V-NEXT: vor.vv v0, v0, v24 ; RV64V-NEXT: vsll.vi v24, v8, 24 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vsll.vi v8, v8, 8 ; RV64V-NEXT: vor.vv v8, v24, v8 ; RV64V-NEXT: vsll.vi v24, v16, 24 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vsll.vi v16, v16, 8 ; RV64V-NEXT: vor.vv v16, v24, v16 ; RV64V-NEXT: lui a1, 61681 ; RV64V-NEXT: lui a2, 209715 ; RV64V-NEXT: lui t6, 349525 ; RV64V-NEXT: li s5, 16 ; RV64V-NEXT: li t2, 32 ; RV64V-NEXT: li a7, 256 ; RV64V-NEXT: li t0, 512 ; RV64V-NEXT: li t1, 1024 ; RV64V-NEXT: li s6, 1 ; RV64V-NEXT: lui t3, 1 ; RV64V-NEXT: lui t4, 2 ; RV64V-NEXT: lui t5, 4 ; RV64V-NEXT: lui s0, 8 ; RV64V-NEXT: lui s1, 32 ; RV64V-NEXT: lui s2, 64 ; RV64V-NEXT: lui s3, 128 ; RV64V-NEXT: lui s4, 256 ; RV64V-NEXT: lui s7, 512 ; RV64V-NEXT: lui s8, 1024 ; RV64V-NEXT: lui s9, 2048 ; RV64V-NEXT: lui s10, 4096 ; RV64V-NEXT: lui s11, 8192 ; RV64V-NEXT: lui ra, 16384 ; RV64V-NEXT: lui a5, 32768 ; RV64V-NEXT: addi a3, a1, -241 ; RV64V-NEXT: addi a2, a2, 819 ; RV64V-NEXT: addi a1, t6, 1365 ; RV64V-NEXT: vor.vv v16, v16, v0 ; RV64V-NEXT: vsrl.vi v24, v16, 4 ; RV64V-NEXT: vand.vx v16, v16, a3 ; RV64V-NEXT: vand.vx v24, v24, a3 ; RV64V-NEXT: vsll.vi v16, v16, 4 ; RV64V-NEXT: vor.vv v16, v24, v16 ; RV64V-NEXT: vsrl.vi v24, v16, 2 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vand.vx v24, v24, a2 ; RV64V-NEXT: vsll.vi v16, v16, 2 ; RV64V-NEXT: vor.vv v16, v24, v16 ; RV64V-NEXT: vsrl.vi v24, v16, 1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vand.vx v24, v24, a1 ; RV64V-NEXT: vadd.vv v16, v16, v16 ; RV64V-NEXT: vor.vv v0, v24, v16 ; RV64V-NEXT: vand.vx v16, v0, s5 ; RV64V-NEXT: sd a0, 8(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a4, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 32 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: lui t6, 65536 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a4, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a4, a4, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 32 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vor.vv v8, v8, v16 ; RV64V-NEXT: vsrl.vi v16, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: vand.vx v16, v16, a3 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a2 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vand.vx v16, v0, t2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a4, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a4, a4, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 32 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: lui a4, 131072 ; RV64V-NEXT: slli s6, s6, 11 ; RV64V-NEXT: lui t2, 262144 ; RV64V-NEXT: lui s5, 524288 ; RV64V-NEXT: li a6, 64 ; RV64V-NEXT: vand.vx v16, v0, a6 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a0, a6 ; RV64V-NEXT: slli a6, a6, 5 ; RV64V-NEXT: add a6, a6, a0 ; RV64V-NEXT: ld a0, 8(sp) # 8-byte Folded Reload ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: li a6, 128 ; RV64V-NEXT: vand.vx v16, v0, a6 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 8 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a7 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t0 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t1 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s6 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 5 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t3 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t4 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t5 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s0 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 6 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: lui a6, 16 ; RV64V-NEXT: vand.vx v16, v0, a6 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s1 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s2 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s3 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 5 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s4 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s7 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s8 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s9 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s10 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s11 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, ra ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a5 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 5 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 32 ; RV64V-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t6 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 32 ; RV64V-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a4 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 2 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v24, v0, 1 ; RV64V-NEXT: vand.vi v16, v0, 4 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t2 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 6 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s5 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vmul.vv v16, v8, v24 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v24, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v0, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 8 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: addi a4, sp, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 6 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 6 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 7 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 7 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 8 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 6 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v8, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v8, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v16, v8 ; RV64V-NEXT: addi a4, sp, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 6 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 7 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v0, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v0, v0, v8 ; RV64V-NEXT: vsll.vi v16, v16, 24 ; RV64V-NEXT: vand.vx v8, v24, a0 ; RV64V-NEXT: vsll.vi v8, v8, 8 ; RV64V-NEXT: vor.vv v16, v16, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v0, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 8 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vsrl.vi v24, v24, 8 ; RV64V-NEXT: vand.vx v24, v24, a0 ; RV64V-NEXT: vsrl.vi v8, v8, 24 ; RV64V-NEXT: vor.vv v8, v24, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: vand.vx v16, v16, a3 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a2 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: ld ra, 136(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s0, 128(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s1, 120(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s2, 112(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s3, 104(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s4, 96(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s5, 88(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s6, 80(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s7, 72(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s8, 64(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s9, 56(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s10, 48(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s11, 40(sp) # 8-byte Folded Reload ; RV64V-NEXT: addi sp, sp, 144 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv16i32_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: addi sp, sp, -80 ; RV32ZVBC64-NEXT: sw ra, 76(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: sw s0, 72(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: sw s1, 68(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: sw s2, 64(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: sw s3, 60(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: sw s4, 56(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: sw s5, 52(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: sw s6, 48(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: sw s7, 44(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: sw s8, 40(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: sw s9, 36(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: sw s10, 32(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: sw s11, 28(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a0, vlenb ; RV32ZVBC64-NEXT: slli a0, a0, 5 ; RV32ZVBC64-NEXT: mv a1, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 3 ; RV32ZVBC64-NEXT: add a0, a0, a1 ; RV32ZVBC64-NEXT: sub sp, sp, a0 ; RV32ZVBC64-NEXT: vsetvli a0, zero, e32, m8, ta, ma ; RV32ZVBC64-NEXT: vsrl.vi v24, v8, 8 ; RV32ZVBC64-NEXT: lui a0, 16 ; RV32ZVBC64-NEXT: vsrl.vi v0, v8, 24 ; RV32ZVBC64-NEXT: addi a0, a0, -256 ; RV32ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV32ZVBC64-NEXT: vor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: csrr a1, vlenb ; RV32ZVBC64-NEXT: slli a1, a1, 3 ; RV32ZVBC64-NEXT: mv a2, a1 ; RV32ZVBC64-NEXT: slli a1, a1, 1 ; RV32ZVBC64-NEXT: add a2, a2, a1 ; RV32ZVBC64-NEXT: slli a1, a1, 4 ; RV32ZVBC64-NEXT: add a1, a1, a2 ; RV32ZVBC64-NEXT: add a1, sp, a1 ; RV32ZVBC64-NEXT: addi a1, a1, 16 ; RV32ZVBC64-NEXT: vs8r.v v24, (a1) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vsrl.vi v0, v16, 8 ; RV32ZVBC64-NEXT: vand.vx v0, v0, a0 ; RV32ZVBC64-NEXT: vsrl.vi v24, v16, 24 ; RV32ZVBC64-NEXT: vor.vv v0, v0, v24 ; RV32ZVBC64-NEXT: vsll.vi v24, v8, 24 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 8 ; RV32ZVBC64-NEXT: vor.vv v8, v24, v8 ; RV32ZVBC64-NEXT: vsll.vi v24, v16, 24 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 8 ; RV32ZVBC64-NEXT: vor.vv v16, v24, v16 ; RV32ZVBC64-NEXT: lui a1, 61681 ; RV32ZVBC64-NEXT: lui a2, 209715 ; RV32ZVBC64-NEXT: lui t6, 349525 ; RV32ZVBC64-NEXT: li s5, 16 ; RV32ZVBC64-NEXT: li t2, 32 ; RV32ZVBC64-NEXT: li a7, 256 ; RV32ZVBC64-NEXT: li t0, 512 ; RV32ZVBC64-NEXT: li t1, 1024 ; RV32ZVBC64-NEXT: li s6, 1 ; RV32ZVBC64-NEXT: lui t3, 1 ; RV32ZVBC64-NEXT: lui t4, 2 ; RV32ZVBC64-NEXT: lui t5, 4 ; RV32ZVBC64-NEXT: lui s0, 8 ; RV32ZVBC64-NEXT: lui s1, 32 ; RV32ZVBC64-NEXT: lui s2, 64 ; RV32ZVBC64-NEXT: lui s3, 128 ; RV32ZVBC64-NEXT: lui s4, 256 ; RV32ZVBC64-NEXT: lui s7, 512 ; RV32ZVBC64-NEXT: lui s8, 1024 ; RV32ZVBC64-NEXT: lui s9, 2048 ; RV32ZVBC64-NEXT: lui s10, 4096 ; RV32ZVBC64-NEXT: lui s11, 8192 ; RV32ZVBC64-NEXT: lui ra, 16384 ; RV32ZVBC64-NEXT: lui a5, 32768 ; RV32ZVBC64-NEXT: addi a3, a1, -241 ; RV32ZVBC64-NEXT: addi a2, a2, 819 ; RV32ZVBC64-NEXT: addi a1, t6, 1365 ; RV32ZVBC64-NEXT: vor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: vsrl.vi v24, v16, 4 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a3 ; RV32ZVBC64-NEXT: vand.vx v24, v24, a3 ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 4 ; RV32ZVBC64-NEXT: vor.vv v16, v24, v16 ; RV32ZVBC64-NEXT: vsrl.vi v24, v16, 2 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV32ZVBC64-NEXT: vand.vx v24, v24, a2 ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 2 ; RV32ZVBC64-NEXT: vor.vv v16, v24, v16 ; RV32ZVBC64-NEXT: vsrl.vi v24, v16, 1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vand.vx v24, v24, a1 ; RV32ZVBC64-NEXT: vadd.vv v16, v16, v16 ; RV32ZVBC64-NEXT: vor.vv v0, v24, v16 ; RV32ZVBC64-NEXT: vand.vx v16, v0, s5 ; RV32ZVBC64-NEXT: sw a0, 4(sp) # 4-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a0, vlenb ; RV32ZVBC64-NEXT: slli a0, a0, 4 ; RV32ZVBC64-NEXT: mv a4, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 4 ; RV32ZVBC64-NEXT: add a0, a0, a4 ; RV32ZVBC64-NEXT: add a0, sp, a0 ; RV32ZVBC64-NEXT: addi a0, a0, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: lui t6, 65536 ; RV32ZVBC64-NEXT: csrr a0, vlenb ; RV32ZVBC64-NEXT: slli a0, a0, 3 ; RV32ZVBC64-NEXT: mv a4, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 1 ; RV32ZVBC64-NEXT: add a4, a4, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 4 ; RV32ZVBC64-NEXT: add a0, a0, a4 ; RV32ZVBC64-NEXT: add a0, sp, a0 ; RV32ZVBC64-NEXT: addi a0, a0, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vor.vv v8, v8, v16 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a3 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a3 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vand.vx v16, v0, t2 ; RV32ZVBC64-NEXT: csrr a0, vlenb ; RV32ZVBC64-NEXT: slli a0, a0, 3 ; RV32ZVBC64-NEXT: mv a4, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 1 ; RV32ZVBC64-NEXT: add a4, a4, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 4 ; RV32ZVBC64-NEXT: add a0, a0, a4 ; RV32ZVBC64-NEXT: add a0, sp, a0 ; RV32ZVBC64-NEXT: addi a0, a0, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: lui a4, 131072 ; RV32ZVBC64-NEXT: slli s6, s6, 11 ; RV32ZVBC64-NEXT: lui t2, 262144 ; RV32ZVBC64-NEXT: lui s5, 524288 ; RV32ZVBC64-NEXT: li a6, 64 ; RV32ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: mv a0, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 5 ; RV32ZVBC64-NEXT: add a6, a6, a0 ; RV32ZVBC64-NEXT: lw a0, 4(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: li a6, 128 ; RV32ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 8 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, a7 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t0 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 4 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t1 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 2 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, s6 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 5 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t3 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 2 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t4 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 4 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 2 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t5 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, s0 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 6 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: lui a6, 16 ; RV32ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 2 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, s1 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 4 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 2 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, s2 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 2 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 2 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, s3 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 5 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 2 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, s4 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, s7 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 4 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, s8 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 4 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, s9 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, s10 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, s11 ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 4 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, ra ; RV32ZVBC64-NEXT: csrr a6, vlenb ; RV32ZVBC64-NEXT: slli a6, a6, 3 ; RV32ZVBC64-NEXT: mv a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 2 ; RV32ZVBC64-NEXT: add a7, a7, a6 ; RV32ZVBC64-NEXT: slli a6, a6, 1 ; RV32ZVBC64-NEXT: add a6, a6, a7 ; RV32ZVBC64-NEXT: add a6, sp, a6 ; RV32ZVBC64-NEXT: addi a6, a6, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, a5 ; RV32ZVBC64-NEXT: csrr a5, vlenb ; RV32ZVBC64-NEXT: slli a5, a5, 5 ; RV32ZVBC64-NEXT: mv a6, a5 ; RV32ZVBC64-NEXT: slli a5, a5, 1 ; RV32ZVBC64-NEXT: add a5, a5, a6 ; RV32ZVBC64-NEXT: add a5, sp, a5 ; RV32ZVBC64-NEXT: addi a5, a5, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t6 ; RV32ZVBC64-NEXT: csrr a5, vlenb ; RV32ZVBC64-NEXT: slli a5, a5, 3 ; RV32ZVBC64-NEXT: mv a6, a5 ; RV32ZVBC64-NEXT: slli a5, a5, 1 ; RV32ZVBC64-NEXT: add a6, a6, a5 ; RV32ZVBC64-NEXT: slli a5, a5, 2 ; RV32ZVBC64-NEXT: add a5, a5, a6 ; RV32ZVBC64-NEXT: add a5, sp, a5 ; RV32ZVBC64-NEXT: addi a5, a5, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, a4 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v16, v0, 2 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v24, v0, 1 ; RV32ZVBC64-NEXT: vand.vi v16, v0, 4 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vi v16, v0, 8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, t2 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 6 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vand.vx v16, v0, s5 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v24 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v24, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v0, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 8 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: addi a4, sp, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 6 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 6 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 7 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 7 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 8 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 6 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vmul.vv v8, v8, v16 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v8, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v16, v8 ; RV32ZVBC64-NEXT: addi a4, sp, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 6 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 2 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 7 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v0, v24, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v0, v0, v8 ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 24 ; RV32ZVBC64-NEXT: vand.vx v8, v24, a0 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 8 ; RV32ZVBC64-NEXT: vor.vv v16, v16, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v8, v0, v8 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 5 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 8 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 4 ; RV32ZVBC64-NEXT: mv a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a5, a5, a4 ; RV32ZVBC64-NEXT: slli a4, a4, 1 ; RV32ZVBC64-NEXT: add a4, a4, a5 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC64-NEXT: vsrl.vi v24, v24, 8 ; RV32ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 24 ; RV32ZVBC64-NEXT: vor.vv v8, v24, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a3 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a3 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC64-NEXT: csrr a0, vlenb ; RV32ZVBC64-NEXT: slli a0, a0, 5 ; RV32ZVBC64-NEXT: mv a1, a0 ; RV32ZVBC64-NEXT: slli a0, a0, 3 ; RV32ZVBC64-NEXT: add a0, a0, a1 ; RV32ZVBC64-NEXT: add sp, sp, a0 ; RV32ZVBC64-NEXT: lw ra, 76(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: lw s0, 72(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: lw s1, 68(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: lw s2, 64(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: lw s3, 60(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: lw s4, 56(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: lw s5, 52(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: lw s6, 48(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: lw s7, 44(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: lw s8, 40(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: lw s9, 36(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: lw s10, 32(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: lw s11, 28(sp) # 4-byte Folded Reload ; RV32ZVBC64-NEXT: addi sp, sp, 80 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv16i32_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: addi sp, sp, -144 ; RV64ZVBC64-NEXT: sd ra, 136(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s0, 128(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s1, 120(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s2, 112(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s3, 104(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s4, 96(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s5, 88(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s6, 80(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s7, 72(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s8, 64(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s9, 56(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s10, 48(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s11, 40(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 5 ; RV64ZVBC64-NEXT: mv a1, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 3 ; RV64ZVBC64-NEXT: add a0, a0, a1 ; RV64ZVBC64-NEXT: sub sp, sp, a0 ; RV64ZVBC64-NEXT: vsetvli a0, zero, e32, m8, ta, ma ; RV64ZVBC64-NEXT: vsrl.vi v24, v8, 8 ; RV64ZVBC64-NEXT: lui a0, 16 ; RV64ZVBC64-NEXT: vsrl.vi v0, v8, 24 ; RV64ZVBC64-NEXT: addi a0, a0, -256 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV64ZVBC64-NEXT: vor.vv v24, v24, v0 ; RV64ZVBC64-NEXT: csrr a1, vlenb ; RV64ZVBC64-NEXT: slli a1, a1, 3 ; RV64ZVBC64-NEXT: mv a2, a1 ; RV64ZVBC64-NEXT: slli a1, a1, 1 ; RV64ZVBC64-NEXT: add a2, a2, a1 ; RV64ZVBC64-NEXT: slli a1, a1, 4 ; RV64ZVBC64-NEXT: add a1, a1, a2 ; RV64ZVBC64-NEXT: add a1, sp, a1 ; RV64ZVBC64-NEXT: addi a1, a1, 32 ; RV64ZVBC64-NEXT: vs8r.v v24, (a1) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vsrl.vi v0, v16, 8 ; RV64ZVBC64-NEXT: vand.vx v0, v0, a0 ; RV64ZVBC64-NEXT: vsrl.vi v24, v16, 24 ; RV64ZVBC64-NEXT: vor.vv v0, v0, v24 ; RV64ZVBC64-NEXT: vsll.vi v24, v8, 24 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 8 ; RV64ZVBC64-NEXT: vor.vv v8, v24, v8 ; RV64ZVBC64-NEXT: vsll.vi v24, v16, 24 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 8 ; RV64ZVBC64-NEXT: vor.vv v16, v24, v16 ; RV64ZVBC64-NEXT: lui a1, 61681 ; RV64ZVBC64-NEXT: lui a2, 209715 ; RV64ZVBC64-NEXT: lui t6, 349525 ; RV64ZVBC64-NEXT: li s5, 16 ; RV64ZVBC64-NEXT: li t2, 32 ; RV64ZVBC64-NEXT: li a7, 256 ; RV64ZVBC64-NEXT: li t0, 512 ; RV64ZVBC64-NEXT: li t1, 1024 ; RV64ZVBC64-NEXT: li s6, 1 ; RV64ZVBC64-NEXT: lui t3, 1 ; RV64ZVBC64-NEXT: lui t4, 2 ; RV64ZVBC64-NEXT: lui t5, 4 ; RV64ZVBC64-NEXT: lui s0, 8 ; RV64ZVBC64-NEXT: lui s1, 32 ; RV64ZVBC64-NEXT: lui s2, 64 ; RV64ZVBC64-NEXT: lui s3, 128 ; RV64ZVBC64-NEXT: lui s4, 256 ; RV64ZVBC64-NEXT: lui s7, 512 ; RV64ZVBC64-NEXT: lui s8, 1024 ; RV64ZVBC64-NEXT: lui s9, 2048 ; RV64ZVBC64-NEXT: lui s10, 4096 ; RV64ZVBC64-NEXT: lui s11, 8192 ; RV64ZVBC64-NEXT: lui ra, 16384 ; RV64ZVBC64-NEXT: lui a5, 32768 ; RV64ZVBC64-NEXT: addi a3, a1, -241 ; RV64ZVBC64-NEXT: addi a2, a2, 819 ; RV64ZVBC64-NEXT: addi a1, t6, 1365 ; RV64ZVBC64-NEXT: vor.vv v16, v16, v0 ; RV64ZVBC64-NEXT: vsrl.vi v24, v16, 4 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a3 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a3 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 4 ; RV64ZVBC64-NEXT: vor.vv v16, v24, v16 ; RV64ZVBC64-NEXT: vsrl.vi v24, v16, 2 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a2 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 2 ; RV64ZVBC64-NEXT: vor.vv v16, v24, v16 ; RV64ZVBC64-NEXT: vsrl.vi v24, v16, 1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a1 ; RV64ZVBC64-NEXT: vadd.vv v16, v16, v16 ; RV64ZVBC64-NEXT: vor.vv v0, v24, v16 ; RV64ZVBC64-NEXT: vand.vx v16, v0, s5 ; RV64ZVBC64-NEXT: sd a0, 8(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 4 ; RV64ZVBC64-NEXT: mv a4, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 4 ; RV64ZVBC64-NEXT: add a0, a0, a4 ; RV64ZVBC64-NEXT: add a0, sp, a0 ; RV64ZVBC64-NEXT: addi a0, a0, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: lui t6, 65536 ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 3 ; RV64ZVBC64-NEXT: mv a4, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 1 ; RV64ZVBC64-NEXT: add a4, a4, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 4 ; RV64ZVBC64-NEXT: add a0, a0, a4 ; RV64ZVBC64-NEXT: add a0, sp, a0 ; RV64ZVBC64-NEXT: addi a0, a0, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vor.vv v8, v8, v16 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a3 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vand.vx v16, v0, t2 ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 3 ; RV64ZVBC64-NEXT: mv a4, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 1 ; RV64ZVBC64-NEXT: add a4, a4, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 4 ; RV64ZVBC64-NEXT: add a0, a0, a4 ; RV64ZVBC64-NEXT: add a0, sp, a0 ; RV64ZVBC64-NEXT: addi a0, a0, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: lui a4, 131072 ; RV64ZVBC64-NEXT: slli s6, s6, 11 ; RV64ZVBC64-NEXT: lui t2, 262144 ; RV64ZVBC64-NEXT: lui s5, 524288 ; RV64ZVBC64-NEXT: li a6, 64 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a0, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 5 ; RV64ZVBC64-NEXT: add a6, a6, a0 ; RV64ZVBC64-NEXT: ld a0, 8(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: li a6, 128 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 8 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a7 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t0 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t1 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s6 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 5 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t3 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t4 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t5 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s0 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 6 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: lui a6, 16 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s1 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s2 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s3 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 5 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s4 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s7 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s8 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s9 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s10 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s11 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, ra ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a5 ; RV64ZVBC64-NEXT: csrr a5, vlenb ; RV64ZVBC64-NEXT: slli a5, a5, 5 ; RV64ZVBC64-NEXT: mv a6, a5 ; RV64ZVBC64-NEXT: slli a5, a5, 1 ; RV64ZVBC64-NEXT: add a5, a5, a6 ; RV64ZVBC64-NEXT: add a5, sp, a5 ; RV64ZVBC64-NEXT: addi a5, a5, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t6 ; RV64ZVBC64-NEXT: csrr a5, vlenb ; RV64ZVBC64-NEXT: slli a5, a5, 3 ; RV64ZVBC64-NEXT: mv a6, a5 ; RV64ZVBC64-NEXT: slli a5, a5, 1 ; RV64ZVBC64-NEXT: add a6, a6, a5 ; RV64ZVBC64-NEXT: slli a5, a5, 2 ; RV64ZVBC64-NEXT: add a5, a5, a6 ; RV64ZVBC64-NEXT: add a5, sp, a5 ; RV64ZVBC64-NEXT: addi a5, a5, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a4 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v16, v0, 2 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v24, v0, 1 ; RV64ZVBC64-NEXT: vand.vi v16, v0, 4 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v16, v0, 8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t2 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 6 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s5 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v24 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v24, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v0, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 8 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: addi a4, sp, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 6 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 6 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 7 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 7 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 8 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 6 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v8, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v8, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v16, v8 ; RV64ZVBC64-NEXT: addi a4, sp, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 6 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 7 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v0, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v0, v0, v8 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 24 ; RV64ZVBC64-NEXT: vand.vx v8, v24, a0 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 8 ; RV64ZVBC64-NEXT: vor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v0, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 8 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vsrl.vi v24, v24, 8 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 24 ; RV64ZVBC64-NEXT: vor.vv v8, v24, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a3 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 5 ; RV64ZVBC64-NEXT: mv a1, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 3 ; RV64ZVBC64-NEXT: add a0, a0, a1 ; RV64ZVBC64-NEXT: add sp, sp, a0 ; RV64ZVBC64-NEXT: ld ra, 136(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s0, 128(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s1, 120(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s2, 112(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s3, 104(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s4, 96(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s5, 88(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s6, 80(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s7, 72(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s8, 64(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s9, 56(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s10, 48(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s11, 40(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: addi sp, sp, 144 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv16i32_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a0, zero, e32, m8, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vv v8, v8, v16 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv16i32_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a0, zero, e32, m8, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vv v8, v8, v16 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv16i64( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i64 32) %res = trunc %res.ext to ret %res } define @clmulh_nxv16i32_vx( %va, i32 %b) nounwind { ; RV32V-LABEL: clmulh_nxv16i32_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -16 ; RV32V-NEXT: csrr a1, vlenb ; RV32V-NEXT: slli a1, a1, 4 ; RV32V-NEXT: sub sp, sp, a1 ; RV32V-NEXT: vsetvli a1, zero, e32, m8, ta, ma ; RV32V-NEXT: vsrl.vi v16, v8, 8 ; RV32V-NEXT: lui a4, 16 ; RV32V-NEXT: vsrl.vi v24, v8, 24 ; RV32V-NEXT: vsll.vi v0, v8, 24 ; RV32V-NEXT: lui a2, 61681 ; RV32V-NEXT: lui a5, 209715 ; RV32V-NEXT: lui a7, 349525 ; RV32V-NEXT: srli a3, a0, 8 ; RV32V-NEXT: srli a6, a0, 24 ; RV32V-NEXT: addi a1, a4, -256 ; RV32V-NEXT: and a3, a3, a1 ; RV32V-NEXT: or t0, a3, a6 ; RV32V-NEXT: slli a3, a0, 24 ; RV32V-NEXT: and a0, a0, a1 ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: or t1, a3, a0 ; RV32V-NEXT: li a6, 1 ; RV32V-NEXT: addi a3, a2, -241 ; RV32V-NEXT: addi a2, a5, 819 ; RV32V-NEXT: addi a0, a7, 1365 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vand.vx v8, v8, a1 ; RV32V-NEXT: vor.vv v16, v16, v24 ; RV32V-NEXT: vsll.vi v8, v8, 8 ; RV32V-NEXT: vor.vv v8, v0, v8 ; RV32V-NEXT: vor.vv v8, v8, v16 ; RV32V-NEXT: or a5, t1, t0 ; RV32V-NEXT: vsrl.vi v16, v8, 4 ; RV32V-NEXT: vand.vx v8, v8, a3 ; RV32V-NEXT: srli a7, a5, 4 ; RV32V-NEXT: and a5, a5, a3 ; RV32V-NEXT: vand.vx v16, v16, a3 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: and a7, a7, a3 ; RV32V-NEXT: slli a5, a5, 4 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: or a5, a7, a5 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: vand.vx v8, v8, a2 ; RV32V-NEXT: srli a7, a5, 2 ; RV32V-NEXT: and a5, a5, a2 ; RV32V-NEXT: vand.vx v16, v16, a2 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: and a7, a7, a2 ; RV32V-NEXT: slli a5, a5, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: or a5, a7, a5 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: srli a7, a5, 1 ; RV32V-NEXT: and a5, a5, a0 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: and a7, a7, a0 ; RV32V-NEXT: slli a5, a5, 1 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: or a5, a7, a5 ; RV32V-NEXT: andi a7, a5, 2 ; RV32V-NEXT: vmul.vx v16, v8, a7 ; RV32V-NEXT: andi a7, a5, 1 ; RV32V-NEXT: vmul.vx v24, v8, a7 ; RV32V-NEXT: andi a7, a5, 4 ; RV32V-NEXT: vmul.vx v0, v8, a7 ; RV32V-NEXT: andi a7, a5, 8 ; RV32V-NEXT: vxor.vv v16, v24, v16 ; RV32V-NEXT: vmul.vx v24, v8, a7 ; RV32V-NEXT: andi a7, a5, 16 ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: vmul.vx v0, v8, a7 ; RV32V-NEXT: andi a7, a5, 32 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vmul.vx v24, v8, a7 ; RV32V-NEXT: andi a7, a5, 64 ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: vmul.vx v0, v8, a7 ; RV32V-NEXT: andi a7, a5, 128 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vmul.vx v24, v8, a7 ; RV32V-NEXT: andi a7, a5, 256 ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: vmul.vx v0, v8, a7 ; RV32V-NEXT: andi a7, a5, 512 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr t0, vlenb ; RV32V-NEXT: slli t0, t0, 3 ; RV32V-NEXT: add t0, sp, t0 ; RV32V-NEXT: addi t0, t0, 16 ; RV32V-NEXT: vs8r.v v16, (t0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vmul.vx v24, v8, a7 ; RV32V-NEXT: andi a7, a5, 1024 ; RV32V-NEXT: vxor.vv v0, v16, v0 ; RV32V-NEXT: vxor.vv v24, v0, v24 ; RV32V-NEXT: vmul.vx v0, v8, a7 ; RV32V-NEXT: lui a7, 1 ; RV32V-NEXT: slli a6, a6, 11 ; RV32V-NEXT: and a6, a5, a6 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a6 ; RV32V-NEXT: lui a6, 2 ; RV32V-NEXT: and a7, a5, a7 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a7 ; RV32V-NEXT: lui a7, 4 ; RV32V-NEXT: and a6, a5, a6 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a6 ; RV32V-NEXT: lui a6, 8 ; RV32V-NEXT: and a7, a5, a7 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a7 ; RV32V-NEXT: lui a7, 32 ; RV32V-NEXT: and a6, a5, a6 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a6 ; RV32V-NEXT: lui a6, 64 ; RV32V-NEXT: and a4, a5, a4 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a4 ; RV32V-NEXT: lui a4, 128 ; RV32V-NEXT: and a7, a5, a7 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a7 ; RV32V-NEXT: lui a7, 256 ; RV32V-NEXT: and a6, a5, a6 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a6 ; RV32V-NEXT: lui a6, 512 ; RV32V-NEXT: and a4, a5, a4 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a4 ; RV32V-NEXT: lui a4, 1024 ; RV32V-NEXT: and a7, a5, a7 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a7 ; RV32V-NEXT: lui a7, 2048 ; RV32V-NEXT: and a6, a5, a6 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a6 ; RV32V-NEXT: lui a6, 4096 ; RV32V-NEXT: and a4, a5, a4 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a4 ; RV32V-NEXT: lui a4, 8192 ; RV32V-NEXT: and a7, a5, a7 ; RV32V-NEXT: and a6, a5, a6 ; RV32V-NEXT: and a4, a5, a4 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a7 ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vmul.vx v0, v8, a6 ; RV32V-NEXT: vxor.vv v0, v24, v0 ; RV32V-NEXT: vmul.vx v16, v8, a4 ; RV32V-NEXT: vxor.vv v16, v0, v16 ; RV32V-NEXT: addi a4, sp, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vsll.vi v16, v16, 24 ; RV32V-NEXT: vand.vx v0, v24, a1 ; RV32V-NEXT: vsll.vi v0, v0, 8 ; RV32V-NEXT: vor.vv v16, v16, v0 ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 16 ; RV32V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a4, 16384 ; RV32V-NEXT: and a4, a5, a4 ; RV32V-NEXT: vmul.vx v0, v8, a4 ; RV32V-NEXT: addi a4, sp, 16 ; RV32V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v0, v16, v0 ; RV32V-NEXT: lui a4, 32768 ; RV32V-NEXT: and a4, a5, a4 ; RV32V-NEXT: vmul.vx v16, v8, a4 ; RV32V-NEXT: vxor.vv v16, v0, v16 ; RV32V-NEXT: lui a4, 65536 ; RV32V-NEXT: and a4, a5, a4 ; RV32V-NEXT: vmul.vx v0, v8, a4 ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: lui a4, 131072 ; RV32V-NEXT: and a4, a5, a4 ; RV32V-NEXT: vmul.vx v0, v8, a4 ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: lui a4, 262144 ; RV32V-NEXT: and a4, a5, a4 ; RV32V-NEXT: vmul.vx v0, v8, a4 ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: lui a4, 524288 ; RV32V-NEXT: and a4, a5, a4 ; RV32V-NEXT: vmul.vx v8, v8, a4 ; RV32V-NEXT: vxor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v24, 8 ; RV32V-NEXT: vand.vx v16, v16, a1 ; RV32V-NEXT: vsrl.vi v8, v8, 24 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: csrr a1, vlenb ; RV32V-NEXT: slli a1, a1, 3 ; RV32V-NEXT: add a1, sp, a1 ; RV32V-NEXT: addi a1, a1, 16 ; RV32V-NEXT: vl8r.v v16, (a1) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 4 ; RV32V-NEXT: vand.vx v8, v8, a3 ; RV32V-NEXT: vand.vx v16, v16, a3 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: vand.vx v8, v8, a2 ; RV32V-NEXT: vand.vx v16, v16, a2 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vx v8, v8, a0 ; RV32V-NEXT: vand.vx v16, v16, a0 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: addi sp, sp, 16 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv16i32_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -144 ; RV64V-NEXT: sd ra, 136(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s0, 128(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s1, 120(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s2, 112(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s3, 104(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s4, 96(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s5, 88(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s6, 80(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s7, 72(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s8, 64(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s9, 56(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s10, 48(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s11, 40(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 5 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: sub sp, sp, a1 ; RV64V-NEXT: vsetvli a1, zero, e32, m8, ta, ma ; RV64V-NEXT: vmv.v.x v0, a0 ; RV64V-NEXT: vsrl.vi v16, v8, 8 ; RV64V-NEXT: lui a0, 16 ; RV64V-NEXT: vsrl.vi v24, v8, 24 ; RV64V-NEXT: addi a0, a0, -256 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vor.vv v16, v16, v24 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 4 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 32 ; RV64V-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vsrl.vi v24, v0, 8 ; RV64V-NEXT: vand.vx v24, v24, a0 ; RV64V-NEXT: vsrl.vi v16, v0, 24 ; RV64V-NEXT: vor.vv v24, v24, v16 ; RV64V-NEXT: vsll.vi v16, v8, 24 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vsll.vi v8, v8, 8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsll.vi v16, v0, 24 ; RV64V-NEXT: vand.vx v0, v0, a0 ; RV64V-NEXT: vsll.vi v0, v0, 8 ; RV64V-NEXT: vor.vv v0, v16, v0 ; RV64V-NEXT: lui a1, 61681 ; RV64V-NEXT: lui a2, 209715 ; RV64V-NEXT: lui t6, 349525 ; RV64V-NEXT: li s5, 16 ; RV64V-NEXT: li t2, 32 ; RV64V-NEXT: li a7, 256 ; RV64V-NEXT: li t0, 512 ; RV64V-NEXT: li t1, 1024 ; RV64V-NEXT: li s6, 1 ; RV64V-NEXT: lui t3, 1 ; RV64V-NEXT: lui t4, 2 ; RV64V-NEXT: lui t5, 4 ; RV64V-NEXT: lui s0, 8 ; RV64V-NEXT: lui s1, 32 ; RV64V-NEXT: lui s2, 64 ; RV64V-NEXT: lui s3, 128 ; RV64V-NEXT: lui s4, 256 ; RV64V-NEXT: lui s7, 512 ; RV64V-NEXT: lui s8, 1024 ; RV64V-NEXT: lui s9, 2048 ; RV64V-NEXT: lui s10, 4096 ; RV64V-NEXT: lui s11, 8192 ; RV64V-NEXT: lui ra, 16384 ; RV64V-NEXT: lui a5, 32768 ; RV64V-NEXT: addi a3, a1, -241 ; RV64V-NEXT: addi a2, a2, 819 ; RV64V-NEXT: addi a1, t6, 1365 ; RV64V-NEXT: vor.vv v16, v0, v24 ; RV64V-NEXT: vsrl.vi v24, v16, 4 ; RV64V-NEXT: vand.vx v16, v16, a3 ; RV64V-NEXT: vand.vx v24, v24, a3 ; RV64V-NEXT: vsll.vi v16, v16, 4 ; RV64V-NEXT: vor.vv v16, v24, v16 ; RV64V-NEXT: vsrl.vi v24, v16, 2 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vand.vx v24, v24, a2 ; RV64V-NEXT: vsll.vi v16, v16, 2 ; RV64V-NEXT: vor.vv v16, v24, v16 ; RV64V-NEXT: vsrl.vi v24, v16, 1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vand.vx v24, v24, a1 ; RV64V-NEXT: vadd.vv v16, v16, v16 ; RV64V-NEXT: vor.vv v0, v24, v16 ; RV64V-NEXT: vand.vx v16, v0, s5 ; RV64V-NEXT: sd a0, 8(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a4, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 32 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: lui t6, 65536 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a4, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a4, a4, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 32 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vor.vv v8, v8, v16 ; RV64V-NEXT: vsrl.vi v16, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: vand.vx v16, v16, a3 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a2 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vand.vx v16, v0, t2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a4, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a4, a4, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 32 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: lui a4, 131072 ; RV64V-NEXT: slli s6, s6, 11 ; RV64V-NEXT: lui t2, 262144 ; RV64V-NEXT: lui s5, 524288 ; RV64V-NEXT: li a6, 64 ; RV64V-NEXT: vand.vx v16, v0, a6 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a0, a6 ; RV64V-NEXT: slli a6, a6, 5 ; RV64V-NEXT: add a6, a6, a0 ; RV64V-NEXT: ld a0, 8(sp) # 8-byte Folded Reload ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: li a6, 128 ; RV64V-NEXT: vand.vx v16, v0, a6 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 8 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a7 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t0 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t1 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s6 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 5 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t3 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t4 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t5 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s0 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 6 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: lui a6, 16 ; RV64V-NEXT: vand.vx v16, v0, a6 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s1 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s2 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s3 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 5 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s4 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s7 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s8 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s9 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s10 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s11 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 4 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, ra ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 3 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a7, a7, a6 ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 32 ; RV64V-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a5 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 5 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 32 ; RV64V-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t6 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 32 ; RV64V-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a4 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 2 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v24, v0, 1 ; RV64V-NEXT: vand.vi v16, v0, 4 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t2 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 6 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s5 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vmul.vv v16, v8, v24 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v24, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v0, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 8 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: addi a4, sp, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 6 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 6 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 7 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 7 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 8 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 6 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v8, v8, v16 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vs8r.v v8, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v16, v8 ; RV64V-NEXT: addi a4, sp, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 6 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 7 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v0, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v0, v0, v8 ; RV64V-NEXT: vsll.vi v16, v16, 24 ; RV64V-NEXT: vand.vx v8, v24, a0 ; RV64V-NEXT: vsll.vi v8, v8, 8 ; RV64V-NEXT: vor.vv v16, v16, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v0, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 5 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 8 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 32 ; RV64V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: vsrl.vi v24, v24, 8 ; RV64V-NEXT: vand.vx v24, v24, a0 ; RV64V-NEXT: vsrl.vi v8, v8, 24 ; RV64V-NEXT: vor.vv v8, v24, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: vand.vx v16, v16, a3 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a2 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: ld ra, 136(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s0, 128(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s1, 120(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s2, 112(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s3, 104(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s4, 96(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s5, 88(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s6, 80(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s7, 72(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s8, 64(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s9, 56(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s10, 48(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s11, 40(sp) # 8-byte Folded Reload ; RV64V-NEXT: addi sp, sp, 144 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv16i32_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: addi sp, sp, -16 ; RV32ZVBC64-NEXT: csrr a1, vlenb ; RV32ZVBC64-NEXT: slli a1, a1, 4 ; RV32ZVBC64-NEXT: sub sp, sp, a1 ; RV32ZVBC64-NEXT: vsetvli a1, zero, e32, m8, ta, ma ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 8 ; RV32ZVBC64-NEXT: lui a4, 16 ; RV32ZVBC64-NEXT: vsrl.vi v24, v8, 24 ; RV32ZVBC64-NEXT: vsll.vi v0, v8, 24 ; RV32ZVBC64-NEXT: lui a2, 61681 ; RV32ZVBC64-NEXT: lui a5, 209715 ; RV32ZVBC64-NEXT: lui a7, 349525 ; RV32ZVBC64-NEXT: srli a3, a0, 8 ; RV32ZVBC64-NEXT: srli a6, a0, 24 ; RV32ZVBC64-NEXT: addi a1, a4, -256 ; RV32ZVBC64-NEXT: and a3, a3, a1 ; RV32ZVBC64-NEXT: or t0, a3, a6 ; RV32ZVBC64-NEXT: slli a3, a0, 24 ; RV32ZVBC64-NEXT: and a0, a0, a1 ; RV32ZVBC64-NEXT: slli a0, a0, 8 ; RV32ZVBC64-NEXT: or t1, a3, a0 ; RV32ZVBC64-NEXT: li a6, 1 ; RV32ZVBC64-NEXT: addi a3, a2, -241 ; RV32ZVBC64-NEXT: addi a2, a5, 819 ; RV32ZVBC64-NEXT: addi a0, a7, 1365 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV32ZVBC64-NEXT: vor.vv v16, v16, v24 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 8 ; RV32ZVBC64-NEXT: vor.vv v8, v0, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v8, v16 ; RV32ZVBC64-NEXT: or a5, t1, t0 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a3 ; RV32ZVBC64-NEXT: srli a7, a5, 4 ; RV32ZVBC64-NEXT: and a5, a5, a3 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a3 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC64-NEXT: and a7, a7, a3 ; RV32ZVBC64-NEXT: slli a5, a5, 4 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: or a5, a7, a5 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV32ZVBC64-NEXT: srli a7, a5, 2 ; RV32ZVBC64-NEXT: and a5, a5, a2 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC64-NEXT: and a7, a7, a2 ; RV32ZVBC64-NEXT: slli a5, a5, 2 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: or a5, a7, a5 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: srli a7, a5, 1 ; RV32ZVBC64-NEXT: and a5, a5, a0 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC64-NEXT: and a7, a7, a0 ; RV32ZVBC64-NEXT: slli a5, a5, 1 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: or a5, a7, a5 ; RV32ZVBC64-NEXT: andi a7, a5, 2 ; RV32ZVBC64-NEXT: vmul.vx v16, v8, a7 ; RV32ZVBC64-NEXT: andi a7, a5, 1 ; RV32ZVBC64-NEXT: vmul.vx v24, v8, a7 ; RV32ZVBC64-NEXT: andi a7, a5, 4 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a7 ; RV32ZVBC64-NEXT: andi a7, a5, 8 ; RV32ZVBC64-NEXT: vxor.vv v16, v24, v16 ; RV32ZVBC64-NEXT: vmul.vx v24, v8, a7 ; RV32ZVBC64-NEXT: andi a7, a5, 16 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a7 ; RV32ZVBC64-NEXT: andi a7, a5, 32 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC64-NEXT: vmul.vx v24, v8, a7 ; RV32ZVBC64-NEXT: andi a7, a5, 64 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a7 ; RV32ZVBC64-NEXT: andi a7, a5, 128 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC64-NEXT: vmul.vx v24, v8, a7 ; RV32ZVBC64-NEXT: andi a7, a5, 256 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a7 ; RV32ZVBC64-NEXT: andi a7, a5, 512 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC64-NEXT: csrr t0, vlenb ; RV32ZVBC64-NEXT: slli t0, t0, 3 ; RV32ZVBC64-NEXT: add t0, sp, t0 ; RV32ZVBC64-NEXT: addi t0, t0, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (t0) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: vmul.vx v24, v8, a7 ; RV32ZVBC64-NEXT: andi a7, a5, 1024 ; RV32ZVBC64-NEXT: vxor.vv v0, v16, v0 ; RV32ZVBC64-NEXT: vxor.vv v24, v0, v24 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a7 ; RV32ZVBC64-NEXT: lui a7, 1 ; RV32ZVBC64-NEXT: slli a6, a6, 11 ; RV32ZVBC64-NEXT: and a6, a5, a6 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a6 ; RV32ZVBC64-NEXT: lui a6, 2 ; RV32ZVBC64-NEXT: and a7, a5, a7 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a7 ; RV32ZVBC64-NEXT: lui a7, 4 ; RV32ZVBC64-NEXT: and a6, a5, a6 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a6 ; RV32ZVBC64-NEXT: lui a6, 8 ; RV32ZVBC64-NEXT: and a7, a5, a7 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a7 ; RV32ZVBC64-NEXT: lui a7, 32 ; RV32ZVBC64-NEXT: and a6, a5, a6 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a6 ; RV32ZVBC64-NEXT: lui a6, 64 ; RV32ZVBC64-NEXT: and a4, a5, a4 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a4 ; RV32ZVBC64-NEXT: lui a4, 128 ; RV32ZVBC64-NEXT: and a7, a5, a7 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a7 ; RV32ZVBC64-NEXT: lui a7, 256 ; RV32ZVBC64-NEXT: and a6, a5, a6 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a6 ; RV32ZVBC64-NEXT: lui a6, 512 ; RV32ZVBC64-NEXT: and a4, a5, a4 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a4 ; RV32ZVBC64-NEXT: lui a4, 1024 ; RV32ZVBC64-NEXT: and a7, a5, a7 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a7 ; RV32ZVBC64-NEXT: lui a7, 2048 ; RV32ZVBC64-NEXT: and a6, a5, a6 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a6 ; RV32ZVBC64-NEXT: lui a6, 4096 ; RV32ZVBC64-NEXT: and a4, a5, a4 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a4 ; RV32ZVBC64-NEXT: lui a4, 8192 ; RV32ZVBC64-NEXT: and a7, a5, a7 ; RV32ZVBC64-NEXT: and a6, a5, a6 ; RV32ZVBC64-NEXT: and a4, a5, a4 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a7 ; RV32ZVBC64-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a6 ; RV32ZVBC64-NEXT: vxor.vv v0, v24, v0 ; RV32ZVBC64-NEXT: vmul.vx v16, v8, a4 ; RV32ZVBC64-NEXT: vxor.vv v16, v0, v16 ; RV32ZVBC64-NEXT: addi a4, sp, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vsll.vi v16, v16, 24 ; RV32ZVBC64-NEXT: vand.vx v0, v24, a1 ; RV32ZVBC64-NEXT: vsll.vi v0, v0, 8 ; RV32ZVBC64-NEXT: vor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: csrr a4, vlenb ; RV32ZVBC64-NEXT: slli a4, a4, 3 ; RV32ZVBC64-NEXT: add a4, sp, a4 ; RV32ZVBC64-NEXT: addi a4, a4, 16 ; RV32ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC64-NEXT: lui a4, 16384 ; RV32ZVBC64-NEXT: and a4, a5, a4 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a4 ; RV32ZVBC64-NEXT: addi a4, sp, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vxor.vv v0, v16, v0 ; RV32ZVBC64-NEXT: lui a4, 32768 ; RV32ZVBC64-NEXT: and a4, a5, a4 ; RV32ZVBC64-NEXT: vmul.vx v16, v8, a4 ; RV32ZVBC64-NEXT: vxor.vv v16, v0, v16 ; RV32ZVBC64-NEXT: lui a4, 65536 ; RV32ZVBC64-NEXT: and a4, a5, a4 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a4 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: lui a4, 131072 ; RV32ZVBC64-NEXT: and a4, a5, a4 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a4 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: lui a4, 262144 ; RV32ZVBC64-NEXT: and a4, a5, a4 ; RV32ZVBC64-NEXT: vmul.vx v0, v8, a4 ; RV32ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC64-NEXT: lui a4, 524288 ; RV32ZVBC64-NEXT: and a4, a5, a4 ; RV32ZVBC64-NEXT: vmul.vx v8, v8, a4 ; RV32ZVBC64-NEXT: vxor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v24, 8 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 24 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: csrr a1, vlenb ; RV32ZVBC64-NEXT: slli a1, a1, 3 ; RV32ZVBC64-NEXT: add a1, sp, a1 ; RV32ZVBC64-NEXT: addi a1, a1, 16 ; RV32ZVBC64-NEXT: vl8r.v v16, (a1) # vscale x 64-byte Folded Reload ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a3 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a3 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV32ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV32ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV32ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC64-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC64-NEXT: csrr a0, vlenb ; RV32ZVBC64-NEXT: slli a0, a0, 4 ; RV32ZVBC64-NEXT: add sp, sp, a0 ; RV32ZVBC64-NEXT: addi sp, sp, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv16i32_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: addi sp, sp, -144 ; RV64ZVBC64-NEXT: sd ra, 136(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s0, 128(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s1, 120(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s2, 112(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s3, 104(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s4, 96(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s5, 88(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s6, 80(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s7, 72(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s8, 64(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s9, 56(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s10, 48(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: sd s11, 40(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a1, vlenb ; RV64ZVBC64-NEXT: slli a1, a1, 5 ; RV64ZVBC64-NEXT: mv a2, a1 ; RV64ZVBC64-NEXT: slli a1, a1, 3 ; RV64ZVBC64-NEXT: add a1, a1, a2 ; RV64ZVBC64-NEXT: sub sp, sp, a1 ; RV64ZVBC64-NEXT: vsetvli a1, zero, e32, m8, ta, ma ; RV64ZVBC64-NEXT: vmv.v.x v0, a0 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 8 ; RV64ZVBC64-NEXT: lui a0, 16 ; RV64ZVBC64-NEXT: vsrl.vi v24, v8, 24 ; RV64ZVBC64-NEXT: addi a0, a0, -256 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC64-NEXT: vor.vv v16, v16, v24 ; RV64ZVBC64-NEXT: csrr a1, vlenb ; RV64ZVBC64-NEXT: slli a1, a1, 3 ; RV64ZVBC64-NEXT: mv a2, a1 ; RV64ZVBC64-NEXT: slli a1, a1, 1 ; RV64ZVBC64-NEXT: add a2, a2, a1 ; RV64ZVBC64-NEXT: slli a1, a1, 4 ; RV64ZVBC64-NEXT: add a1, a1, a2 ; RV64ZVBC64-NEXT: add a1, sp, a1 ; RV64ZVBC64-NEXT: addi a1, a1, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vsrl.vi v24, v0, 8 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV64ZVBC64-NEXT: vsrl.vi v16, v0, 24 ; RV64ZVBC64-NEXT: vor.vv v24, v24, v16 ; RV64ZVBC64-NEXT: vsll.vi v16, v8, 24 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsll.vi v16, v0, 24 ; RV64ZVBC64-NEXT: vand.vx v0, v0, a0 ; RV64ZVBC64-NEXT: vsll.vi v0, v0, 8 ; RV64ZVBC64-NEXT: vor.vv v0, v16, v0 ; RV64ZVBC64-NEXT: lui a1, 61681 ; RV64ZVBC64-NEXT: lui a2, 209715 ; RV64ZVBC64-NEXT: lui t6, 349525 ; RV64ZVBC64-NEXT: li s5, 16 ; RV64ZVBC64-NEXT: li t2, 32 ; RV64ZVBC64-NEXT: li a7, 256 ; RV64ZVBC64-NEXT: li t0, 512 ; RV64ZVBC64-NEXT: li t1, 1024 ; RV64ZVBC64-NEXT: li s6, 1 ; RV64ZVBC64-NEXT: lui t3, 1 ; RV64ZVBC64-NEXT: lui t4, 2 ; RV64ZVBC64-NEXT: lui t5, 4 ; RV64ZVBC64-NEXT: lui s0, 8 ; RV64ZVBC64-NEXT: lui s1, 32 ; RV64ZVBC64-NEXT: lui s2, 64 ; RV64ZVBC64-NEXT: lui s3, 128 ; RV64ZVBC64-NEXT: lui s4, 256 ; RV64ZVBC64-NEXT: lui s7, 512 ; RV64ZVBC64-NEXT: lui s8, 1024 ; RV64ZVBC64-NEXT: lui s9, 2048 ; RV64ZVBC64-NEXT: lui s10, 4096 ; RV64ZVBC64-NEXT: lui s11, 8192 ; RV64ZVBC64-NEXT: lui ra, 16384 ; RV64ZVBC64-NEXT: lui a5, 32768 ; RV64ZVBC64-NEXT: addi a3, a1, -241 ; RV64ZVBC64-NEXT: addi a2, a2, 819 ; RV64ZVBC64-NEXT: addi a1, t6, 1365 ; RV64ZVBC64-NEXT: vor.vv v16, v0, v24 ; RV64ZVBC64-NEXT: vsrl.vi v24, v16, 4 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a3 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a3 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 4 ; RV64ZVBC64-NEXT: vor.vv v16, v24, v16 ; RV64ZVBC64-NEXT: vsrl.vi v24, v16, 2 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a2 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 2 ; RV64ZVBC64-NEXT: vor.vv v16, v24, v16 ; RV64ZVBC64-NEXT: vsrl.vi v24, v16, 1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a1 ; RV64ZVBC64-NEXT: vadd.vv v16, v16, v16 ; RV64ZVBC64-NEXT: vor.vv v0, v24, v16 ; RV64ZVBC64-NEXT: vand.vx v16, v0, s5 ; RV64ZVBC64-NEXT: sd a0, 8(sp) # 8-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 4 ; RV64ZVBC64-NEXT: mv a4, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 4 ; RV64ZVBC64-NEXT: add a0, a0, a4 ; RV64ZVBC64-NEXT: add a0, sp, a0 ; RV64ZVBC64-NEXT: addi a0, a0, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: lui t6, 65536 ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 3 ; RV64ZVBC64-NEXT: mv a4, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 1 ; RV64ZVBC64-NEXT: add a4, a4, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 4 ; RV64ZVBC64-NEXT: add a0, a0, a4 ; RV64ZVBC64-NEXT: add a0, sp, a0 ; RV64ZVBC64-NEXT: addi a0, a0, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vor.vv v8, v8, v16 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a3 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vand.vx v16, v0, t2 ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 3 ; RV64ZVBC64-NEXT: mv a4, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 1 ; RV64ZVBC64-NEXT: add a4, a4, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 4 ; RV64ZVBC64-NEXT: add a0, a0, a4 ; RV64ZVBC64-NEXT: add a0, sp, a0 ; RV64ZVBC64-NEXT: addi a0, a0, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: lui a4, 131072 ; RV64ZVBC64-NEXT: slli s6, s6, 11 ; RV64ZVBC64-NEXT: lui t2, 262144 ; RV64ZVBC64-NEXT: lui s5, 524288 ; RV64ZVBC64-NEXT: li a6, 64 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a0, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 5 ; RV64ZVBC64-NEXT: add a6, a6, a0 ; RV64ZVBC64-NEXT: ld a0, 8(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: li a6, 128 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 8 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a7 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t0 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t1 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s6 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 5 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t3 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t4 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t5 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s0 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 6 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: lui a6, 16 ; RV64ZVBC64-NEXT: vand.vx v16, v0, a6 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s1 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s2 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s3 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 5 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s4 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s7 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s8 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s9 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s10 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s11 ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 4 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, ra ; RV64ZVBC64-NEXT: csrr a6, vlenb ; RV64ZVBC64-NEXT: slli a6, a6, 3 ; RV64ZVBC64-NEXT: mv a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 2 ; RV64ZVBC64-NEXT: add a7, a7, a6 ; RV64ZVBC64-NEXT: slli a6, a6, 1 ; RV64ZVBC64-NEXT: add a6, a6, a7 ; RV64ZVBC64-NEXT: add a6, sp, a6 ; RV64ZVBC64-NEXT: addi a6, a6, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a6) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a5 ; RV64ZVBC64-NEXT: csrr a5, vlenb ; RV64ZVBC64-NEXT: slli a5, a5, 5 ; RV64ZVBC64-NEXT: mv a6, a5 ; RV64ZVBC64-NEXT: slli a5, a5, 1 ; RV64ZVBC64-NEXT: add a5, a5, a6 ; RV64ZVBC64-NEXT: add a5, sp, a5 ; RV64ZVBC64-NEXT: addi a5, a5, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t6 ; RV64ZVBC64-NEXT: csrr a5, vlenb ; RV64ZVBC64-NEXT: slli a5, a5, 3 ; RV64ZVBC64-NEXT: mv a6, a5 ; RV64ZVBC64-NEXT: slli a5, a5, 1 ; RV64ZVBC64-NEXT: add a6, a6, a5 ; RV64ZVBC64-NEXT: slli a5, a5, 2 ; RV64ZVBC64-NEXT: add a5, a5, a6 ; RV64ZVBC64-NEXT: add a5, sp, a5 ; RV64ZVBC64-NEXT: addi a5, a5, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, a4 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v16, v0, 2 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v24, v0, 1 ; RV64ZVBC64-NEXT: vand.vi v16, v0, 4 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vi v16, v0, 8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, t2 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 6 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vand.vx v16, v0, s5 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v24 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v24, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v0, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 8 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: addi a4, sp, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 6 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 6 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 7 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 7 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 8 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 6 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v16, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vmul.vv v8, v8, v16 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vs8r.v v8, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v16, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v16, v8 ; RV64ZVBC64-NEXT: addi a4, sp, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 6 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 2 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 7 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v24, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v0, v24, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v0, v0, v8 ; RV64ZVBC64-NEXT: vsll.vi v16, v16, 24 ; RV64ZVBC64-NEXT: vand.vx v8, v24, a0 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 8 ; RV64ZVBC64-NEXT: vor.vv v16, v16, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v0, v8 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 5 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 8 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 3 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: csrr a4, vlenb ; RV64ZVBC64-NEXT: slli a4, a4, 4 ; RV64ZVBC64-NEXT: mv a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a5, a5, a4 ; RV64ZVBC64-NEXT: slli a4, a4, 1 ; RV64ZVBC64-NEXT: add a4, a4, a5 ; RV64ZVBC64-NEXT: add a4, sp, a4 ; RV64ZVBC64-NEXT: addi a4, a4, 32 ; RV64ZVBC64-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC64-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC64-NEXT: vsrl.vi v24, v24, 8 ; RV64ZVBC64-NEXT: vand.vx v24, v24, a0 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 24 ; RV64ZVBC64-NEXT: vor.vv v8, v24, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 4 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a3 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a2 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC64-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC64-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC64-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC64-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC64-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC64-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC64-NEXT: csrr a0, vlenb ; RV64ZVBC64-NEXT: slli a0, a0, 5 ; RV64ZVBC64-NEXT: mv a1, a0 ; RV64ZVBC64-NEXT: slli a0, a0, 3 ; RV64ZVBC64-NEXT: add a0, a0, a1 ; RV64ZVBC64-NEXT: add sp, sp, a0 ; RV64ZVBC64-NEXT: ld ra, 136(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s0, 128(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s1, 120(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s2, 112(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s3, 104(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s4, 96(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s5, 88(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s6, 80(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s7, 72(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s8, 64(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s9, 56(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s10, 48(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: ld s11, 40(sp) # 8-byte Folded Reload ; RV64ZVBC64-NEXT: addi sp, sp, 144 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv16i32_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: vsetvli a1, zero, e32, m8, ta, ma ; RV32ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv16i32_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: vsetvli a1, zero, e32, m8, ta, ma ; RV64ZVBC32-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i32 %b, i64 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv16i64( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i64 32) %res = trunc %res.ext to ret %res } define @clmulh_nxv1i64_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv1i64_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -352 ; RV32V-NEXT: sw ra, 348(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s0, 344(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s1, 340(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s2, 336(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s3, 332(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s4, 328(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s5, 324(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s6, 320(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s7, 316(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s8, 312(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s9, 308(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s10, 304(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s11, 300(sp) # 4-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: sub sp, sp, a0 ; RV32V-NEXT: vsetvli a0, zero, e32, m1, ta, ma ; RV32V-NEXT: vmv1r.v v10, v8 ; RV32V-NEXT: lui s7, 1044480 ; RV32V-NEXT: lui s1, 524288 ; RV32V-NEXT: li s11, 1 ; RV32V-NEXT: li s6, 2 ; RV32V-NEXT: li s5, 4 ; RV32V-NEXT: li s10, 8 ; RV32V-NEXT: li s9, 64 ; RV32V-NEXT: li s8, 128 ; RV32V-NEXT: li s4, 256 ; RV32V-NEXT: li s3, 512 ; RV32V-NEXT: li s2, 1024 ; RV32V-NEXT: lui s0, 1 ; RV32V-NEXT: lui t6, 2 ; RV32V-NEXT: lui t5, 4 ; RV32V-NEXT: lui t4, 8 ; RV32V-NEXT: lui t3, 16 ; RV32V-NEXT: lui t2, 32 ; RV32V-NEXT: lui t1, 64 ; RV32V-NEXT: lui t0, 128 ; RV32V-NEXT: lui a7, 256 ; RV32V-NEXT: lui a5, 512 ; RV32V-NEXT: lui a4, 1024 ; RV32V-NEXT: lui a2, 2048 ; RV32V-NEXT: lui a1, 4096 ; RV32V-NEXT: lui a0, 8192 ; RV32V-NEXT: lui a3, 16384 ; RV32V-NEXT: sw s7, 248(sp) ; RV32V-NEXT: lui ra, 32768 ; RV32V-NEXT: sw zero, 252(sp) ; RV32V-NEXT: sw s1, 8(sp) ; RV32V-NEXT: lui a6, 524288 ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: sw zero, 272(sp) ; RV32V-NEXT: sw s11, 276(sp) ; RV32V-NEXT: sw zero, 256(sp) ; RV32V-NEXT: sw s6, 260(sp) ; RV32V-NEXT: lui s6, 65536 ; RV32V-NEXT: sw zero, 264(sp) ; RV32V-NEXT: sw s5, 268(sp) ; RV32V-NEXT: lui s7, 131072 ; RV32V-NEXT: sw zero, 240(sp) ; RV32V-NEXT: sw s10, 244(sp) ; RV32V-NEXT: lui s5, 262144 ; RV32V-NEXT: sw zero, 232(sp) ; RV32V-NEXT: li s1, 16 ; RV32V-NEXT: sw s1, 236(sp) ; RV32V-NEXT: li s1, 16 ; RV32V-NEXT: sw zero, 224(sp) ; RV32V-NEXT: li s10, 32 ; RV32V-NEXT: sw s10, 228(sp) ; RV32V-NEXT: sw zero, 216(sp) ; RV32V-NEXT: sw s9, 220(sp) ; RV32V-NEXT: li s10, 64 ; RV32V-NEXT: sw zero, 208(sp) ; RV32V-NEXT: sw s8, 212(sp) ; RV32V-NEXT: sw zero, 200(sp) ; RV32V-NEXT: sw s4, 204(sp) ; RV32V-NEXT: sw zero, 192(sp) ; RV32V-NEXT: sw s3, 196(sp) ; RV32V-NEXT: li s9, 512 ; RV32V-NEXT: sw zero, 184(sp) ; RV32V-NEXT: sw s2, 188(sp) ; RV32V-NEXT: li s2, 1024 ; RV32V-NEXT: slli s11, s11, 11 ; RV32V-NEXT: sw zero, 176(sp) ; RV32V-NEXT: sw s11, 180(sp) ; RV32V-NEXT: sw zero, 168(sp) ; RV32V-NEXT: sw s0, 172(sp) ; RV32V-NEXT: sw zero, 160(sp) ; RV32V-NEXT: sw t6, 164(sp) ; RV32V-NEXT: sw zero, 152(sp) ; RV32V-NEXT: sw t5, 156(sp) ; RV32V-NEXT: lui s8, 4 ; RV32V-NEXT: sw zero, 144(sp) ; RV32V-NEXT: sw t4, 148(sp) ; RV32V-NEXT: lui t5, 8 ; RV32V-NEXT: sw zero, 136(sp) ; RV32V-NEXT: sw t3, 140(sp) ; RV32V-NEXT: lui s0, 16 ; RV32V-NEXT: sw zero, 128(sp) ; RV32V-NEXT: sw t2, 132(sp) ; RV32V-NEXT: sw zero, 120(sp) ; RV32V-NEXT: sw t1, 124(sp) ; RV32V-NEXT: lui t3, 64 ; RV32V-NEXT: sw zero, 112(sp) ; RV32V-NEXT: sw t0, 116(sp) ; RV32V-NEXT: lui s4, 128 ; RV32V-NEXT: sw zero, 104(sp) ; RV32V-NEXT: sw a7, 108(sp) ; RV32V-NEXT: lui t4, 256 ; RV32V-NEXT: sw zero, 96(sp) ; RV32V-NEXT: sw a5, 100(sp) ; RV32V-NEXT: lui t0, 512 ; RV32V-NEXT: sw zero, 88(sp) ; RV32V-NEXT: sw a4, 92(sp) ; RV32V-NEXT: lui a5, 1024 ; RV32V-NEXT: sw zero, 80(sp) ; RV32V-NEXT: sw a2, 84(sp) ; RV32V-NEXT: lui a4, 2048 ; RV32V-NEXT: sw zero, 72(sp) ; RV32V-NEXT: sw a1, 76(sp) ; RV32V-NEXT: lui t1, 4096 ; RV32V-NEXT: sw zero, 64(sp) ; RV32V-NEXT: sw a0, 68(sp) ; RV32V-NEXT: lui t6, 8192 ; RV32V-NEXT: sw zero, 56(sp) ; RV32V-NEXT: sw a3, 60(sp) ; RV32V-NEXT: lui s3, 16384 ; RV32V-NEXT: sw zero, 48(sp) ; RV32V-NEXT: sw ra, 52(sp) ; RV32V-NEXT: lui a7, 32768 ; RV32V-NEXT: sw zero, 40(sp) ; RV32V-NEXT: sw s6, 44(sp) ; RV32V-NEXT: sw zero, 32(sp) ; RV32V-NEXT: sw s7, 36(sp) ; RV32V-NEXT: sw zero, 24(sp) ; RV32V-NEXT: sw s5, 28(sp) ; RV32V-NEXT: sw zero, 16(sp) ; RV32V-NEXT: sw a6, 20(sp) ; RV32V-NEXT: lui a0, 61681 ; RV32V-NEXT: addi a0, a0, -241 ; RV32V-NEXT: vmv.v.x v14, a0 ; RV32V-NEXT: lui a0, 209715 ; RV32V-NEXT: addi a0, a0, 819 ; RV32V-NEXT: vmv.v.x v11, a0 ; RV32V-NEXT: lui a0, 349525 ; RV32V-NEXT: addi a0, a0, 1365 ; RV32V-NEXT: vmv.v.x v12, a0 ; RV32V-NEXT: addi a0, sp, 248 ; RV32V-NEXT: vsetvli a1, zero, e64, m1, ta, ma ; RV32V-NEXT: vlse64.v v13, (a0), zero ; RV32V-NEXT: addi a0, sp, 8 ; RV32V-NEXT: vlse64.v v7, (a0), zero ; RV32V-NEXT: addi a0, sp, 272 ; RV32V-NEXT: vlse64.v v31, (a0), zero ; RV32V-NEXT: addi a0, sp, 256 ; RV32V-NEXT: vlse64.v v30, (a0), zero ; RV32V-NEXT: addi a0, sp, 264 ; RV32V-NEXT: vlse64.v v29, (a0), zero ; RV32V-NEXT: addi a0, sp, 240 ; RV32V-NEXT: vlse64.v v26, (a0), zero ; RV32V-NEXT: addi a0, sp, 232 ; RV32V-NEXT: vlse64.v v23, (a0), zero ; RV32V-NEXT: addi a0, sp, 224 ; RV32V-NEXT: vlse64.v v20, (a0), zero ; RV32V-NEXT: addi a0, sp, 216 ; RV32V-NEXT: vlse64.v v17, (a0), zero ; RV32V-NEXT: addi a0, sp, 208 ; RV32V-NEXT: vlse64.v v15, (a0), zero ; RV32V-NEXT: addi a0, sp, 200 ; RV32V-NEXT: vlse64.v v8, (a0), zero ; RV32V-NEXT: addi a0, sp, 288 ; RV32V-NEXT: vs1r.v v8, (a0) # vscale x 8-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 192 ; RV32V-NEXT: vlse64.v v18, (a0), zero ; RV32V-NEXT: addi a0, sp, 184 ; RV32V-NEXT: vlse64.v v16, (a0), zero ; RV32V-NEXT: addi a0, sp, 176 ; RV32V-NEXT: vlse64.v v19, (a0), zero ; RV32V-NEXT: addi a0, sp, 168 ; RV32V-NEXT: vlse64.v v21, (a0), zero ; RV32V-NEXT: addi a0, sp, 160 ; RV32V-NEXT: vlse64.v v22, (a0), zero ; RV32V-NEXT: addi a0, sp, 152 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: addi a0, sp, 144 ; RV32V-NEXT: vlse64.v v28, (a0), zero ; RV32V-NEXT: addi a0, sp, 136 ; RV32V-NEXT: vlse64.v v25, (a0), zero ; RV32V-NEXT: addi a0, sp, 128 ; RV32V-NEXT: vlse64.v v27, (a0), zero ; RV32V-NEXT: li ra, 56 ; RV32V-NEXT: vsrl.vi v6, v10, 24 ; RV32V-NEXT: vsrl.vi v5, v10, 8 ; RV32V-NEXT: vsrl.vx v4, v10, ra ; RV32V-NEXT: li a2, 40 ; RV32V-NEXT: vsrl.vx v3, v10, a2 ; RV32V-NEXT: vsll.vx v2, v10, ra ; RV32V-NEXT: vsrl.vx v1, v9, ra ; RV32V-NEXT: vsrl.vx v0, v9, a2 ; RV32V-NEXT: addi a0, s0, -256 ; RV32V-NEXT: vand.vx v3, v3, a0 ; RV32V-NEXT: vor.vv v3, v3, v4 ; RV32V-NEXT: vsll.vx v4, v9, ra ; RV32V-NEXT: vand.vx v0, v0, a0 ; RV32V-NEXT: vor.vv v1, v0, v1 ; RV32V-NEXT: vand.vx v0, v10, a0 ; RV32V-NEXT: vsll.vx v0, v0, a2 ; RV32V-NEXT: vor.vv v2, v2, v0 ; RV32V-NEXT: vand.vx v0, v9, a0 ; RV32V-NEXT: vsll.vx v0, v0, a2 ; RV32V-NEXT: vor.vv v4, v4, v0 ; RV32V-NEXT: vsrl.vi v0, v9, 24 ; RV32V-NEXT: lui a1, 4080 ; RV32V-NEXT: vand.vx v6, v6, a1 ; RV32V-NEXT: vand.vv v5, v5, v13 ; RV32V-NEXT: vor.vv v8, v5, v6 ; RV32V-NEXT: vsrl.vi v6, v9, 8 ; RV32V-NEXT: vand.vx v5, v0, a1 ; RV32V-NEXT: vand.vv v6, v6, v13 ; RV32V-NEXT: vor.vv v5, v6, v5 ; RV32V-NEXT: addi a3, sp, 120 ; RV32V-NEXT: vlse64.v v6, (a3), zero ; RV32V-NEXT: vor.vv v1, v5, v1 ; RV32V-NEXT: vand.vx v5, v9, a1 ; RV32V-NEXT: vsll.vi v5, v5, 24 ; RV32V-NEXT: vand.vv v9, v9, v13 ; RV32V-NEXT: vsll.vi v9, v9, 8 ; RV32V-NEXT: vor.vv v9, v5, v9 ; RV32V-NEXT: addi a3, sp, 112 ; RV32V-NEXT: vlse64.v v5, (a3), zero ; RV32V-NEXT: vor.vv v9, v4, v9 ; RV32V-NEXT: addi a3, sp, 104 ; RV32V-NEXT: vlse64.v v4, (a3), zero ; RV32V-NEXT: vor.vv v9, v9, v1 ; RV32V-NEXT: vsrl.vi v1, v9, 4 ; RV32V-NEXT: vand.vv v9, v9, v14 ; RV32V-NEXT: vand.vv v1, v1, v14 ; RV32V-NEXT: vsll.vi v9, v9, 4 ; RV32V-NEXT: vor.vv v9, v1, v9 ; RV32V-NEXT: vsrl.vi v1, v9, 2 ; RV32V-NEXT: vand.vv v9, v9, v11 ; RV32V-NEXT: vand.vv v1, v1, v11 ; RV32V-NEXT: vsll.vi v9, v9, 2 ; RV32V-NEXT: vor.vv v9, v1, v9 ; RV32V-NEXT: vsrl.vi v1, v9, 1 ; RV32V-NEXT: vand.vv v9, v9, v12 ; RV32V-NEXT: vand.vv v1, v1, v12 ; RV32V-NEXT: vadd.vv v9, v9, v9 ; RV32V-NEXT: vor.vv v9, v1, v9 ; RV32V-NEXT: vand.vx v1, v9, s1 ; RV32V-NEXT: vor.vv v8, v8, v3 ; RV32V-NEXT: vand.vx v3, v10, a1 ; RV32V-NEXT: vsll.vi v3, v3, 24 ; RV32V-NEXT: vand.vv v10, v10, v13 ; RV32V-NEXT: vsll.vi v10, v10, 8 ; RV32V-NEXT: vor.vv v10, v3, v10 ; RV32V-NEXT: li a3, 32 ; RV32V-NEXT: vand.vx v3, v9, a3 ; RV32V-NEXT: vor.vv v10, v2, v10 ; RV32V-NEXT: vor.vv v8, v10, v8 ; RV32V-NEXT: vsrl.vi v10, v8, 4 ; RV32V-NEXT: vand.vv v8, v8, v14 ; RV32V-NEXT: vand.vv v10, v10, v14 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v10, v8 ; RV32V-NEXT: vsrl.vi v10, v8, 2 ; RV32V-NEXT: vand.vv v8, v8, v11 ; RV32V-NEXT: vand.vv v10, v10, v11 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v10, v8 ; RV32V-NEXT: vsrl.vi v10, v8, 1 ; RV32V-NEXT: vand.vv v8, v8, v12 ; RV32V-NEXT: vand.vv v10, v10, v12 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v10, v8 ; RV32V-NEXT: vand.vi v10, v9, 2 ; RV32V-NEXT: vand.vi v2, v9, 1 ; RV32V-NEXT: vmul.vv v10, v8, v10 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v10, v2, v10 ; RV32V-NEXT: vand.vi v2, v9, 4 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v10, v10, v2 ; RV32V-NEXT: vand.vi v2, v9, 8 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v10, v10, v2 ; RV32V-NEXT: vand.vx v2, v9, s10 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v10, v10, v1 ; RV32V-NEXT: li a3, 128 ; RV32V-NEXT: vand.vx v1, v9, a3 ; RV32V-NEXT: vmul.vv v3, v8, v3 ; RV32V-NEXT: vxor.vv v10, v10, v3 ; RV32V-NEXT: li a3, 256 ; RV32V-NEXT: vand.vx v0, v9, a3 ; RV32V-NEXT: vmul.vv v3, v8, v2 ; RV32V-NEXT: vxor.vv v10, v10, v3 ; RV32V-NEXT: vand.vx v2, v9, s9 ; RV32V-NEXT: vmul.vv v3, v8, v1 ; RV32V-NEXT: vxor.vv v3, v10, v3 ; RV32V-NEXT: vand.vx v10, v9, s2 ; RV32V-NEXT: vmul.vv v1, v8, v0 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v1, v3, v1 ; RV32V-NEXT: vxor.vv v2, v1, v2 ; RV32V-NEXT: vand.vx v1, v9, s11 ; RV32V-NEXT: vmul.vv v10, v8, v10 ; RV32V-NEXT: vxor.vv v10, v2, v10 ; RV32V-NEXT: lui a3, 1 ; RV32V-NEXT: vand.vx v2, v9, a3 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v10, v10, v1 ; RV32V-NEXT: lui a3, 2 ; RV32V-NEXT: vand.vx v1, v9, a3 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v10, v10, v2 ; RV32V-NEXT: vand.vx v2, v9, s8 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v10, v10, v1 ; RV32V-NEXT: vand.vx v1, v9, t5 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v10, v10, v2 ; RV32V-NEXT: vand.vx v2, v9, s0 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v10, v10, v1 ; RV32V-NEXT: vand.vx v1, v9, t2 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v10, v10, v2 ; RV32V-NEXT: vand.vx v2, v9, t3 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v10, v10, v1 ; RV32V-NEXT: vand.vx v1, v9, s4 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v10, v10, v2 ; RV32V-NEXT: vand.vx v2, v9, t4 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v10, v10, v1 ; RV32V-NEXT: vand.vx v1, v9, t0 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v10, v10, v2 ; RV32V-NEXT: vand.vx v2, v9, a5 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v10, v10, v1 ; RV32V-NEXT: vand.vx v1, v9, a4 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v10, v10, v2 ; RV32V-NEXT: vand.vx v0, v9, t1 ; RV32V-NEXT: vmul.vv v2, v8, v1 ; RV32V-NEXT: vxor.vv v2, v10, v2 ; RV32V-NEXT: vand.vx v10, v9, t6 ; RV32V-NEXT: vmul.vv v1, v8, v0 ; RV32V-NEXT: vmul.vv v10, v8, v10 ; RV32V-NEXT: vxor.vv v1, v2, v1 ; RV32V-NEXT: vxor.vv v10, v1, v10 ; RV32V-NEXT: vand.vx v1, v9, s3 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v10, v10, v1 ; RV32V-NEXT: vand.vx v1, v9, a7 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v10, v10, v1 ; RV32V-NEXT: vand.vx v1, v9, s6 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v10, v10, v1 ; RV32V-NEXT: vand.vx v1, v9, s7 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v10, v10, v1 ; RV32V-NEXT: vand.vx v1, v9, s5 ; RV32V-NEXT: addi a3, sp, 96 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v10, v10, v1 ; RV32V-NEXT: vlse64.v v1, (a3), zero ; RV32V-NEXT: addi a3, sp, 88 ; RV32V-NEXT: vand.vv v7, v9, v7 ; RV32V-NEXT: vmul.vv v7, v8, v7 ; RV32V-NEXT: vxor.vv v10, v10, v7 ; RV32V-NEXT: vlse64.v v7, (a3), zero ; RV32V-NEXT: addi a3, sp, 80 ; RV32V-NEXT: vand.vv v31, v9, v31 ; RV32V-NEXT: vmul.vv v31, v8, v31 ; RV32V-NEXT: vxor.vv v10, v10, v31 ; RV32V-NEXT: vlse64.v v31, (a3), zero ; RV32V-NEXT: addi a3, sp, 72 ; RV32V-NEXT: vand.vv v30, v9, v30 ; RV32V-NEXT: vmul.vv v30, v8, v30 ; RV32V-NEXT: vxor.vv v10, v10, v30 ; RV32V-NEXT: vlse64.v v30, (a3), zero ; RV32V-NEXT: addi a3, sp, 64 ; RV32V-NEXT: vand.vv v29, v9, v29 ; RV32V-NEXT: vmul.vv v29, v8, v29 ; RV32V-NEXT: vxor.vv v10, v10, v29 ; RV32V-NEXT: vlse64.v v29, (a3), zero ; RV32V-NEXT: addi a3, sp, 56 ; RV32V-NEXT: vand.vv v26, v9, v26 ; RV32V-NEXT: vmul.vv v26, v8, v26 ; RV32V-NEXT: vxor.vv v10, v10, v26 ; RV32V-NEXT: vlse64.v v26, (a3), zero ; RV32V-NEXT: addi a3, sp, 48 ; RV32V-NEXT: vand.vv v23, v9, v23 ; RV32V-NEXT: vmul.vv v23, v8, v23 ; RV32V-NEXT: vxor.vv v10, v10, v23 ; RV32V-NEXT: vlse64.v v23, (a3), zero ; RV32V-NEXT: addi a3, sp, 40 ; RV32V-NEXT: vand.vv v20, v9, v20 ; RV32V-NEXT: vmul.vv v20, v8, v20 ; RV32V-NEXT: vxor.vv v10, v10, v20 ; RV32V-NEXT: vlse64.v v20, (a3), zero ; RV32V-NEXT: addi a3, sp, 32 ; RV32V-NEXT: vand.vv v17, v9, v17 ; RV32V-NEXT: vmul.vv v17, v8, v17 ; RV32V-NEXT: vxor.vv v10, v10, v17 ; RV32V-NEXT: vlse64.v v17, (a3), zero ; RV32V-NEXT: addi a3, sp, 24 ; RV32V-NEXT: vand.vv v15, v9, v15 ; RV32V-NEXT: vmul.vv v15, v8, v15 ; RV32V-NEXT: vxor.vv v15, v10, v15 ; RV32V-NEXT: vlse64.v v0, (a3), zero ; RV32V-NEXT: addi a3, sp, 16 ; RV32V-NEXT: addi a4, sp, 288 ; RV32V-NEXT: vl1r.v v10, (a4) # vscale x 8-byte Folded Reload ; RV32V-NEXT: vand.vv v10, v9, v10 ; RV32V-NEXT: vand.vv v18, v9, v18 ; RV32V-NEXT: vmul.vv v10, v8, v10 ; RV32V-NEXT: vmul.vv v18, v8, v18 ; RV32V-NEXT: vxor.vv v10, v15, v10 ; RV32V-NEXT: vxor.vv v10, v10, v18 ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: vand.vv v16, v9, v16 ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: vxor.vv v10, v10, v16 ; RV32V-NEXT: vand.vv v16, v9, v19 ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: vxor.vv v10, v10, v16 ; RV32V-NEXT: vand.vv v16, v9, v21 ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: vxor.vv v10, v10, v16 ; RV32V-NEXT: vand.vv v16, v9, v22 ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: vxor.vv v10, v10, v16 ; RV32V-NEXT: vand.vv v16, v9, v24 ; RV32V-NEXT: vand.vv v19, v9, v28 ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: vmul.vv v19, v8, v19 ; RV32V-NEXT: vxor.vv v10, v10, v16 ; RV32V-NEXT: vand.vx v16, v15, a1 ; RV32V-NEXT: vxor.vv v10, v10, v19 ; RV32V-NEXT: vsrl.vi v19, v10, 24 ; RV32V-NEXT: vand.vx v19, v19, a1 ; RV32V-NEXT: vand.vv v21, v9, v25 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v10, v10, v21 ; RV32V-NEXT: vand.vv v21, v9, v27 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v10, v10, v21 ; RV32V-NEXT: vand.vv v21, v9, v6 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v10, v10, v21 ; RV32V-NEXT: vand.vv v21, v9, v5 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v10, v10, v21 ; RV32V-NEXT: vand.vv v21, v9, v4 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v10, v10, v21 ; RV32V-NEXT: vand.vv v21, v9, v1 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v10, v10, v21 ; RV32V-NEXT: vand.vv v21, v9, v7 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v10, v10, v21 ; RV32V-NEXT: vand.vv v21, v9, v31 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vand.vx v22, v2, a0 ; RV32V-NEXT: vsll.vx v22, v22, a2 ; RV32V-NEXT: vxor.vv v10, v10, v21 ; RV32V-NEXT: vsrl.vx v21, v10, a2 ; RV32V-NEXT: vand.vx v21, v21, a0 ; RV32V-NEXT: vand.vv v24, v9, v30 ; RV32V-NEXT: vand.vv v25, v9, v29 ; RV32V-NEXT: vand.vv v26, v9, v26 ; RV32V-NEXT: vand.vv v23, v9, v23 ; RV32V-NEXT: vand.vv v20, v9, v20 ; RV32V-NEXT: vand.vv v17, v9, v17 ; RV32V-NEXT: vand.vv v27, v9, v0 ; RV32V-NEXT: vand.vv v9, v9, v18 ; RV32V-NEXT: vmul.vv v18, v8, v24 ; RV32V-NEXT: vmul.vv v24, v8, v25 ; RV32V-NEXT: vmul.vv v25, v8, v26 ; RV32V-NEXT: vmul.vv v23, v8, v23 ; RV32V-NEXT: vmul.vv v20, v8, v20 ; RV32V-NEXT: vmul.vv v17, v8, v17 ; RV32V-NEXT: vmul.vv v26, v8, v27 ; RV32V-NEXT: vmul.vv v8, v8, v9 ; RV32V-NEXT: vxor.vv v9, v10, v18 ; RV32V-NEXT: vxor.vv v9, v9, v24 ; RV32V-NEXT: vxor.vv v9, v9, v25 ; RV32V-NEXT: vxor.vv v9, v9, v23 ; RV32V-NEXT: vxor.vv v9, v9, v20 ; RV32V-NEXT: vxor.vv v9, v9, v17 ; RV32V-NEXT: vxor.vv v9, v9, v26 ; RV32V-NEXT: vxor.vv v8, v9, v8 ; RV32V-NEXT: vsll.vx v9, v3, ra ; RV32V-NEXT: vsrl.vx v8, v8, ra ; RV32V-NEXT: vor.vv v9, v9, v22 ; RV32V-NEXT: vsrl.vi v15, v15, 8 ; RV32V-NEXT: vsll.vi v16, v16, 24 ; RV32V-NEXT: vand.vv v15, v15, v13 ; RV32V-NEXT: vor.vv v15, v15, v19 ; RV32V-NEXT: vand.vv v10, v10, v13 ; RV32V-NEXT: vsll.vi v10, v10, 8 ; RV32V-NEXT: vor.vv v10, v16, v10 ; RV32V-NEXT: vor.vv v9, v9, v10 ; RV32V-NEXT: vor.vv v8, v21, v8 ; RV32V-NEXT: vor.vv v8, v15, v8 ; RV32V-NEXT: vor.vv v8, v9, v8 ; RV32V-NEXT: vsrl.vi v9, v8, 4 ; RV32V-NEXT: vand.vv v8, v8, v14 ; RV32V-NEXT: vand.vv v9, v9, v14 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v9, v8 ; RV32V-NEXT: vsrl.vi v9, v8, 2 ; RV32V-NEXT: vand.vv v8, v8, v11 ; RV32V-NEXT: vand.vv v9, v9, v11 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v9, v8 ; RV32V-NEXT: vsrl.vi v9, v8, 1 ; RV32V-NEXT: vand.vv v8, v8, v12 ; RV32V-NEXT: vand.vv v9, v9, v12 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v9, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: lw ra, 348(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s0, 344(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s1, 340(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s2, 336(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s3, 332(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s4, 328(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s5, 324(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s6, 320(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s7, 316(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s8, 312(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s9, 308(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s10, 304(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s11, 300(sp) # 4-byte Folded Reload ; RV32V-NEXT: addi sp, sp, 352 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv1i64_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -208 ; RV64V-NEXT: sd ra, 200(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s0, 192(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s1, 184(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s2, 176(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s3, 168(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s4, 160(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s5, 152(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s6, 144(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s7, 136(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s8, 128(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s9, 120(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s10, 112(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s11, 104(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: sub sp, sp, a0 ; RV64V-NEXT: li s6, 56 ; RV64V-NEXT: lui t4, 16 ; RV64V-NEXT: vsetvli a0, zero, e64, m1, ta, ma ; RV64V-NEXT: vsrl.vi v16, v8, 24 ; RV64V-NEXT: vsrl.vi v10, v8, 8 ; RV64V-NEXT: li t3, 255 ; RV64V-NEXT: lui a0, 61681 ; RV64V-NEXT: lui a1, 209715 ; RV64V-NEXT: lui a5, 349525 ; RV64V-NEXT: vsrl.vi v12, v9, 24 ; RV64V-NEXT: vsrl.vi v11, v9, 8 ; RV64V-NEXT: li ra, 16 ; RV64V-NEXT: li s11, 32 ; RV64V-NEXT: li s10, 64 ; RV64V-NEXT: li s8, 128 ; RV64V-NEXT: li s9, 256 ; RV64V-NEXT: li a3, 512 ; RV64V-NEXT: li a4, 1024 ; RV64V-NEXT: li t0, 1 ; RV64V-NEXT: lui s5, 1 ; RV64V-NEXT: lui s4, 2 ; RV64V-NEXT: lui s3, 4 ; RV64V-NEXT: lui a7, 8 ; RV64V-NEXT: lui t1, 32 ; RV64V-NEXT: lui t2, 64 ; RV64V-NEXT: lui s1, 128 ; RV64V-NEXT: lui s2, 256 ; RV64V-NEXT: addi t5, a0, -241 ; RV64V-NEXT: addi t6, a1, 819 ; RV64V-NEXT: addi s0, a5, 1365 ; RV64V-NEXT: slli a0, t5, 32 ; RV64V-NEXT: add t5, t5, a0 ; RV64V-NEXT: slli a0, t6, 32 ; RV64V-NEXT: add t6, t6, a0 ; RV64V-NEXT: slli a0, s0, 32 ; RV64V-NEXT: add s0, s0, a0 ; RV64V-NEXT: addi t4, t4, -256 ; RV64V-NEXT: lui a2, 16 ; RV64V-NEXT: slli t3, t3, 24 ; RV64V-NEXT: vsrl.vx v13, v9, s6 ; RV64V-NEXT: li a0, 40 ; RV64V-NEXT: vsrl.vx v14, v9, a0 ; RV64V-NEXT: lui a1, 4080 ; RV64V-NEXT: vand.vx v12, v12, a1 ; RV64V-NEXT: vand.vx v15, v9, a1 ; RV64V-NEXT: vsll.vx v17, v9, s6 ; RV64V-NEXT: vand.vx v14, v14, t4 ; RV64V-NEXT: vand.vx v11, v11, t3 ; RV64V-NEXT: vsll.vi v15, v15, 24 ; RV64V-NEXT: vand.vx v18, v9, t3 ; RV64V-NEXT: vand.vx v9, v9, t4 ; RV64V-NEXT: vor.vv v13, v14, v13 ; RV64V-NEXT: vor.vv v11, v11, v12 ; RV64V-NEXT: vsll.vi v12, v18, 8 ; RV64V-NEXT: vsll.vx v9, v9, a0 ; RV64V-NEXT: li a5, 40 ; RV64V-NEXT: vor.vv v11, v11, v13 ; RV64V-NEXT: vor.vv v12, v15, v12 ; RV64V-NEXT: vor.vv v9, v17, v9 ; RV64V-NEXT: vor.vv v9, v9, v12 ; RV64V-NEXT: vor.vv v9, v9, v11 ; RV64V-NEXT: vsrl.vi v11, v9, 4 ; RV64V-NEXT: vand.vx v9, v9, t5 ; RV64V-NEXT: vand.vx v11, v11, t5 ; RV64V-NEXT: vsll.vi v9, v9, 4 ; RV64V-NEXT: vor.vv v9, v11, v9 ; RV64V-NEXT: vsrl.vi v11, v9, 2 ; RV64V-NEXT: vand.vx v9, v9, t6 ; RV64V-NEXT: vand.vx v11, v11, t6 ; RV64V-NEXT: vsll.vi v9, v9, 2 ; RV64V-NEXT: vor.vv v9, v11, v9 ; RV64V-NEXT: vsrl.vi v11, v9, 1 ; RV64V-NEXT: vand.vx v9, v9, s0 ; RV64V-NEXT: vand.vx v11, v11, s0 ; RV64V-NEXT: vadd.vv v9, v9, v9 ; RV64V-NEXT: vor.vv v11, v11, v9 ; RV64V-NEXT: vand.vx v14, v11, ra ; RV64V-NEXT: lui a0, 4096 ; RV64V-NEXT: vand.vx v15, v11, s11 ; RV64V-NEXT: lui a1, 8192 ; RV64V-NEXT: vand.vx v17, v11, s10 ; RV64V-NEXT: lui a6, 16384 ; RV64V-NEXT: vand.vx v18, v11, s8 ; RV64V-NEXT: lui s6, 32768 ; RV64V-NEXT: vand.vx v19, v11, s9 ; RV64V-NEXT: lui s7, 65536 ; RV64V-NEXT: vand.vx v20, v11, a3 ; RV64V-NEXT: lui s8, 131072 ; RV64V-NEXT: vand.vx v21, v11, a4 ; RV64V-NEXT: slli a3, t0, 11 ; RV64V-NEXT: vand.vx v22, v11, a3 ; RV64V-NEXT: lui s10, 262144 ; RV64V-NEXT: li a3, 56 ; RV64V-NEXT: vsrl.vx v4, v8, a3 ; RV64V-NEXT: vsrl.vx v0, v8, a5 ; RV64V-NEXT: li a5, 40 ; RV64V-NEXT: lui a4, 4080 ; RV64V-NEXT: vand.vx v1, v16, a4 ; RV64V-NEXT: vand.vx v3, v8, a4 ; RV64V-NEXT: vsll.vx v2, v8, a3 ; RV64V-NEXT: vand.vx v23, v11, s5 ; RV64V-NEXT: slli s11, t0, 31 ; RV64V-NEXT: vand.vx v24, v11, s4 ; RV64V-NEXT: slli ra, t0, 32 ; RV64V-NEXT: vand.vx v25, v11, s3 ; RV64V-NEXT: slli s9, t0, 33 ; RV64V-NEXT: vand.vx v26, v11, a7 ; RV64V-NEXT: slli a3, t0, 34 ; RV64V-NEXT: sd a3, 80(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v27, v11, a2 ; RV64V-NEXT: slli a2, t0, 35 ; RV64V-NEXT: sd a2, 72(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v28, v11, t1 ; RV64V-NEXT: slli a2, t0, 36 ; RV64V-NEXT: sd a2, 64(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v29, v11, t2 ; RV64V-NEXT: slli a2, t0, 37 ; RV64V-NEXT: sd a2, 56(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v30, v11, s1 ; RV64V-NEXT: slli a2, t0, 38 ; RV64V-NEXT: sd a2, 48(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v31, v11, s2 ; RV64V-NEXT: slli a2, t0, 39 ; RV64V-NEXT: sd a2, 40(sp) # 8-byte Folded Spill ; RV64V-NEXT: lui a2, 512 ; RV64V-NEXT: vand.vx v7, v11, a2 ; RV64V-NEXT: slli a2, t0, 40 ; RV64V-NEXT: sd a2, 32(sp) # 8-byte Folded Spill ; RV64V-NEXT: lui a2, 1024 ; RV64V-NEXT: vand.vx v6, v11, a2 ; RV64V-NEXT: slli a2, t0, 41 ; RV64V-NEXT: sd a2, 24(sp) # 8-byte Folded Spill ; RV64V-NEXT: lui a2, 2048 ; RV64V-NEXT: vand.vx v9, v11, a2 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vs1r.v v9, (a2) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s2, t0, 42 ; RV64V-NEXT: vand.vx v9, v11, a0 ; RV64V-NEXT: sd s2, 8(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a2, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a2, a2, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a2 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s3, t0, 43 ; RV64V-NEXT: vand.vx v9, v11, a1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s4, t0, 44 ; RV64V-NEXT: vand.vx v9, v11, a6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s5, t0, 45 ; RV64V-NEXT: vand.vx v9, v11, s6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s6, t0, 46 ; RV64V-NEXT: vand.vx v9, v0, t4 ; RV64V-NEXT: vor.vv v9, v9, v4 ; RV64V-NEXT: vand.vx v12, v11, s7 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s7, t0, 47 ; RV64V-NEXT: vand.vx v10, v10, t3 ; RV64V-NEXT: vor.vv v10, v10, v1 ; RV64V-NEXT: vand.vx v12, v11, s8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s8, t0, 48 ; RV64V-NEXT: vsll.vi v12, v3, 24 ; RV64V-NEXT: vor.vv v9, v10, v9 ; RV64V-NEXT: vand.vx v10, v8, t3 ; RV64V-NEXT: vsll.vi v10, v10, 8 ; RV64V-NEXT: vor.vv v10, v12, v10 ; RV64V-NEXT: vand.vx v12, v11, s10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s10, t0, 49 ; RV64V-NEXT: vand.vx v8, v8, t4 ; RV64V-NEXT: vsll.vx v8, v8, a5 ; RV64V-NEXT: vor.vv v8, v2, v8 ; RV64V-NEXT: vand.vx v12, v11, s11 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s11, t0, 50 ; RV64V-NEXT: vor.vv v8, v8, v10 ; RV64V-NEXT: vand.vx v10, v11, ra ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v10, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli ra, t0, 51 ; RV64V-NEXT: vor.vv v8, v8, v9 ; RV64V-NEXT: vsrl.vi v9, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, t5 ; RV64V-NEXT: vand.vx v9, v9, t5 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, t6 ; RV64V-NEXT: vand.vx v9, v9, t6 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, s0 ; RV64V-NEXT: vand.vx v9, v9, s0 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vand.vx v9, v11, s9 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 5 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli t2, t0, 52 ; RV64V-NEXT: slli t1, t0, 53 ; RV64V-NEXT: slli a7, t0, 54 ; RV64V-NEXT: slli s9, t0, 55 ; RV64V-NEXT: slli a6, t0, 56 ; RV64V-NEXT: slli a5, t0, 57 ; RV64V-NEXT: slli a4, t0, 58 ; RV64V-NEXT: slli a2, t0, 59 ; RV64V-NEXT: slli a1, t0, 60 ; RV64V-NEXT: slli a3, t0, 61 ; RV64V-NEXT: slli t0, t0, 62 ; RV64V-NEXT: li a0, -1 ; RV64V-NEXT: slli a0, a0, 63 ; RV64V-NEXT: ld s1, 80(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v9, v11, s1 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: slli s1, s1, 5 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s1, 72(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v9, v11, s1 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: slli s2, s1, 5 ; RV64V-NEXT: sub s1, s2, s1 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s1, 64(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v9, v11, s1 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s1, 56(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v9, v11, s1 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 2 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s1, 48(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v9, v11, s1 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: slli s1, s1, 2 ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s1, 40(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v9, v11, s1 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 2 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s1, 32(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v9, v11, s1 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 2 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s1, 24(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v9, v11, s1 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 3 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: ld s2, 8(sp) # 8-byte Folded Reload ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, s2 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: slli s1, s1, 3 ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, s3 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 2 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, s4 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 2 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, s5 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 2 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 2 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, s6 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: slli s1, s1, 2 ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 2 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, s7 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: add s2, s2, s1 ; RV64V-NEXT: slli s1, s1, 3 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, s8 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: slli s1, s1, 1 ; RV64V-NEXT: mv s2, s1 ; RV64V-NEXT: slli s1, s1, 3 ; RV64V-NEXT: add s1, s1, s2 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, s10 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: slli s2, s1, 4 ; RV64V-NEXT: add s1, s2, s1 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, s11 ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: slli s1, s1, 4 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, ra ; RV64V-NEXT: csrr s1, vlenb ; RV64V-NEXT: slli s2, s1, 4 ; RV64V-NEXT: sub s1, s2, s1 ; RV64V-NEXT: add s1, sp, s1 ; RV64V-NEXT: addi s1, s1, 96 ; RV64V-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, t2 ; RV64V-NEXT: csrr t2, vlenb ; RV64V-NEXT: slli t2, t2, 1 ; RV64V-NEXT: mv s1, t2 ; RV64V-NEXT: slli t2, t2, 1 ; RV64V-NEXT: add s1, s1, t2 ; RV64V-NEXT: slli t2, t2, 1 ; RV64V-NEXT: add t2, t2, s1 ; RV64V-NEXT: add t2, sp, t2 ; RV64V-NEXT: addi t2, t2, 96 ; RV64V-NEXT: vs1r.v v9, (t2) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, t1 ; RV64V-NEXT: csrr t1, vlenb ; RV64V-NEXT: mv t2, t1 ; RV64V-NEXT: slli t1, t1, 2 ; RV64V-NEXT: add t2, t2, t1 ; RV64V-NEXT: slli t1, t1, 1 ; RV64V-NEXT: add t1, t1, t2 ; RV64V-NEXT: add t1, sp, t1 ; RV64V-NEXT: addi t1, t1, 96 ; RV64V-NEXT: vs1r.v v9, (t1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, a7 ; RV64V-NEXT: csrr a7, vlenb ; RV64V-NEXT: slli a7, a7, 2 ; RV64V-NEXT: mv t1, a7 ; RV64V-NEXT: slli a7, a7, 1 ; RV64V-NEXT: add a7, a7, t1 ; RV64V-NEXT: add a7, sp, a7 ; RV64V-NEXT: addi a7, a7, 96 ; RV64V-NEXT: vs1r.v v9, (a7) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, s9 ; RV64V-NEXT: csrr a7, vlenb ; RV64V-NEXT: mv t1, a7 ; RV64V-NEXT: slli a7, a7, 1 ; RV64V-NEXT: add t1, t1, a7 ; RV64V-NEXT: slli a7, a7, 2 ; RV64V-NEXT: add a7, a7, t1 ; RV64V-NEXT: add a7, sp, a7 ; RV64V-NEXT: addi a7, a7, 96 ; RV64V-NEXT: vs1r.v v9, (a7) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, a6 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 96 ; RV64V-NEXT: vs1r.v v9, (a6) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, a5 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a6, a5, 3 ; RV64V-NEXT: add a5, a6, a5 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 96 ; RV64V-NEXT: vs1r.v v9, (a5) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, a4 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 96 ; RV64V-NEXT: vs1r.v v9, (a4) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, a2 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a4, a2, 3 ; RV64V-NEXT: sub a2, a4, a2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vs1r.v v9, (a2) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v9, v11, a1 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 96 ; RV64V-NEXT: vs1r.v v9, (a1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vi v9, v11, 2 ; RV64V-NEXT: vand.vi v10, v11, 1 ; RV64V-NEXT: vand.vi v12, v11, 4 ; RV64V-NEXT: vand.vi v13, v11, 8 ; RV64V-NEXT: vand.vx v5, v11, a3 ; RV64V-NEXT: vand.vx v4, v11, t0 ; RV64V-NEXT: vand.vx v2, v11, a0 ; RV64V-NEXT: vmul.vv v3, v8, v9 ; RV64V-NEXT: vmul.vv v9, v8, v10 ; RV64V-NEXT: vmul.vv v10, v8, v12 ; RV64V-NEXT: vmul.vv v11, v8, v13 ; RV64V-NEXT: vmul.vv v12, v8, v14 ; RV64V-NEXT: vmul.vv v13, v8, v15 ; RV64V-NEXT: vmul.vv v14, v8, v17 ; RV64V-NEXT: vmul.vv v15, v8, v18 ; RV64V-NEXT: vmul.vv v16, v8, v19 ; RV64V-NEXT: vmul.vv v17, v8, v20 ; RV64V-NEXT: vmul.vv v18, v8, v21 ; RV64V-NEXT: vmul.vv v19, v8, v22 ; RV64V-NEXT: vmul.vv v20, v8, v23 ; RV64V-NEXT: vmul.vv v21, v8, v24 ; RV64V-NEXT: vmul.vv v22, v8, v25 ; RV64V-NEXT: vmul.vv v23, v8, v26 ; RV64V-NEXT: vmul.vv v24, v8, v27 ; RV64V-NEXT: vmul.vv v25, v8, v28 ; RV64V-NEXT: vmul.vv v26, v8, v29 ; RV64V-NEXT: vmul.vv v27, v8, v30 ; RV64V-NEXT: vmul.vv v28, v8, v31 ; RV64V-NEXT: vmul.vv v29, v8, v7 ; RV64V-NEXT: vmul.vv v30, v8, v6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v31, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v31, v8, v31 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v7, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v7, v8, v7 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v6, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v6, v8, v6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 2 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v0, v8, v0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 1 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: addi a0, sp, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 5 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 5 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 5 ; RV64V-NEXT: sub a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 5 ; RV64V-NEXT: sub a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 4 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 4 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 4 ; RV64V-NEXT: sub a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 3 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 3 ; RV64V-NEXT: sub a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v8, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 96 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vmul.vv v1, v8, v5 ; RV64V-NEXT: vmul.vv v5, v8, v4 ; RV64V-NEXT: vmul.vv v8, v8, v2 ; RV64V-NEXT: vxor.vv v9, v9, v3 ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vxor.vv v9, v9, v12 ; RV64V-NEXT: vxor.vv v9, v9, v13 ; RV64V-NEXT: vxor.vv v9, v9, v14 ; RV64V-NEXT: vxor.vv v9, v9, v15 ; RV64V-NEXT: vxor.vv v10, v9, v16 ; RV64V-NEXT: vxor.vv v10, v10, v17 ; RV64V-NEXT: vxor.vv v10, v10, v18 ; RV64V-NEXT: vxor.vv v10, v10, v19 ; RV64V-NEXT: vxor.vv v10, v10, v20 ; RV64V-NEXT: vxor.vv v10, v10, v21 ; RV64V-NEXT: vxor.vv v10, v10, v22 ; RV64V-NEXT: vxor.vv v10, v10, v23 ; RV64V-NEXT: vxor.vv v10, v10, v24 ; RV64V-NEXT: vxor.vv v10, v10, v25 ; RV64V-NEXT: vxor.vv v10, v10, v26 ; RV64V-NEXT: vxor.vv v10, v10, v27 ; RV64V-NEXT: vxor.vv v10, v10, v28 ; RV64V-NEXT: vxor.vv v10, v10, v29 ; RV64V-NEXT: vxor.vv v10, v10, v30 ; RV64V-NEXT: vxor.vv v10, v10, v31 ; RV64V-NEXT: vxor.vv v11, v10, v7 ; RV64V-NEXT: vxor.vv v11, v11, v6 ; RV64V-NEXT: li a0, 56 ; RV64V-NEXT: vsll.vx v9, v9, a0 ; RV64V-NEXT: vand.vx v10, v10, t4 ; RV64V-NEXT: li a1, 40 ; RV64V-NEXT: vsll.vx v10, v10, a1 ; RV64V-NEXT: vor.vv v9, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a3, a2, 2 ; RV64V-NEXT: add a2, a3, a2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v11, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vxor.vv v10, v10, v0 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a3, a2, 1 ; RV64V-NEXT: add a2, a3, a2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: addi a2, sp, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a3, a2, 5 ; RV64V-NEXT: add a2, a3, a2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 5 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a3, a2, 5 ; RV64V-NEXT: sub a2, a3, a2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v11, v12 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a3, a2, 4 ; RV64V-NEXT: add a2, a3, a2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v13, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v13, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: vsrl.vi v13, v10, 8 ; RV64V-NEXT: vand.vx v13, v13, t3 ; RV64V-NEXT: vsrl.vi v11, v11, 24 ; RV64V-NEXT: lui a2, 4080 ; RV64V-NEXT: vand.vx v11, v11, a2 ; RV64V-NEXT: vor.vv v11, v13, v11 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 96 ; RV64V-NEXT: vl1r.v v13, (a3) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 96 ; RV64V-NEXT: vl1r.v v13, (a3) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 96 ; RV64V-NEXT: vl1r.v v13, (a3) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 96 ; RV64V-NEXT: vl1r.v v13, (a3) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 96 ; RV64V-NEXT: vl1r.v v13, (a3) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: vand.vx v10, v10, a2 ; RV64V-NEXT: vsll.vi v10, v10, 24 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v13, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v13, v12, v13 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v14, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v13, v13, v14 ; RV64V-NEXT: vand.vx v14, v12, t3 ; RV64V-NEXT: vsll.vi v14, v14, 8 ; RV64V-NEXT: vor.vv v10, v10, v14 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v14, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v13, v13, v14 ; RV64V-NEXT: vor.vv v9, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 96 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v13, v10 ; RV64V-NEXT: vsrl.vx v12, v12, a1 ; RV64V-NEXT: vand.vx v12, v12, t4 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 96 ; RV64V-NEXT: vl1r.v v13, (a1) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v13 ; RV64V-NEXT: vxor.vv v10, v10, v1 ; RV64V-NEXT: vxor.vv v10, v10, v5 ; RV64V-NEXT: vxor.vv v8, v10, v8 ; RV64V-NEXT: vsrl.vx v8, v8, a0 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vor.vv v8, v11, v8 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, t5 ; RV64V-NEXT: vand.vx v9, v9, t5 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, t6 ; RV64V-NEXT: vand.vx v9, v9, t6 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, s0 ; RV64V-NEXT: vand.vx v9, v9, s0 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: ld ra, 200(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s0, 192(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s1, 184(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s2, 176(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s3, 168(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s4, 160(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s5, 152(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s6, 144(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s7, 136(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s8, 128(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s9, 120(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s10, 112(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s11, 104(sp) # 8-byte Folded Reload ; RV64V-NEXT: addi sp, sp, 208 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv1i64_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m1, ta, ma ; RV32ZVBC64-NEXT: vclmulh.vv v8, v8, v9 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv1i64_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m1, ta, ma ; RV64ZVBC64-NEXT: vclmulh.vv v8, v8, v9 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv1i64_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: addi sp, sp, -352 ; RV32ZVBC32-NEXT: sw ra, 348(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s0, 344(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s1, 340(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s2, 336(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s3, 332(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s4, 328(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s5, 324(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s6, 320(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s7, 316(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s8, 312(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s9, 308(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s10, 304(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s11, 300(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: sub sp, sp, a0 ; RV32ZVBC32-NEXT: vsetvli a0, zero, e32, m1, ta, ma ; RV32ZVBC32-NEXT: vmv1r.v v10, v8 ; RV32ZVBC32-NEXT: lui s7, 1044480 ; RV32ZVBC32-NEXT: lui s1, 524288 ; RV32ZVBC32-NEXT: li s11, 1 ; RV32ZVBC32-NEXT: li s6, 2 ; RV32ZVBC32-NEXT: li s5, 4 ; RV32ZVBC32-NEXT: li s10, 8 ; RV32ZVBC32-NEXT: li s9, 64 ; RV32ZVBC32-NEXT: li s8, 128 ; RV32ZVBC32-NEXT: li s4, 256 ; RV32ZVBC32-NEXT: li s3, 512 ; RV32ZVBC32-NEXT: li s2, 1024 ; RV32ZVBC32-NEXT: lui s0, 1 ; RV32ZVBC32-NEXT: lui t6, 2 ; RV32ZVBC32-NEXT: lui t5, 4 ; RV32ZVBC32-NEXT: lui t4, 8 ; RV32ZVBC32-NEXT: lui t3, 16 ; RV32ZVBC32-NEXT: lui t2, 32 ; RV32ZVBC32-NEXT: lui t1, 64 ; RV32ZVBC32-NEXT: lui t0, 128 ; RV32ZVBC32-NEXT: lui a7, 256 ; RV32ZVBC32-NEXT: lui a5, 512 ; RV32ZVBC32-NEXT: lui a4, 1024 ; RV32ZVBC32-NEXT: lui a2, 2048 ; RV32ZVBC32-NEXT: lui a1, 4096 ; RV32ZVBC32-NEXT: lui a0, 8192 ; RV32ZVBC32-NEXT: lui a3, 16384 ; RV32ZVBC32-NEXT: sw s7, 248(sp) ; RV32ZVBC32-NEXT: lui ra, 32768 ; RV32ZVBC32-NEXT: sw zero, 252(sp) ; RV32ZVBC32-NEXT: sw s1, 8(sp) ; RV32ZVBC32-NEXT: lui a6, 524288 ; RV32ZVBC32-NEXT: sw zero, 12(sp) ; RV32ZVBC32-NEXT: sw zero, 272(sp) ; RV32ZVBC32-NEXT: sw s11, 276(sp) ; RV32ZVBC32-NEXT: sw zero, 256(sp) ; RV32ZVBC32-NEXT: sw s6, 260(sp) ; RV32ZVBC32-NEXT: lui s6, 65536 ; RV32ZVBC32-NEXT: sw zero, 264(sp) ; RV32ZVBC32-NEXT: sw s5, 268(sp) ; RV32ZVBC32-NEXT: lui s7, 131072 ; RV32ZVBC32-NEXT: sw zero, 240(sp) ; RV32ZVBC32-NEXT: sw s10, 244(sp) ; RV32ZVBC32-NEXT: lui s5, 262144 ; RV32ZVBC32-NEXT: sw zero, 232(sp) ; RV32ZVBC32-NEXT: li s1, 16 ; RV32ZVBC32-NEXT: sw s1, 236(sp) ; RV32ZVBC32-NEXT: li s1, 16 ; RV32ZVBC32-NEXT: sw zero, 224(sp) ; RV32ZVBC32-NEXT: li s10, 32 ; RV32ZVBC32-NEXT: sw s10, 228(sp) ; RV32ZVBC32-NEXT: sw zero, 216(sp) ; RV32ZVBC32-NEXT: sw s9, 220(sp) ; RV32ZVBC32-NEXT: li s10, 64 ; RV32ZVBC32-NEXT: sw zero, 208(sp) ; RV32ZVBC32-NEXT: sw s8, 212(sp) ; RV32ZVBC32-NEXT: sw zero, 200(sp) ; RV32ZVBC32-NEXT: sw s4, 204(sp) ; RV32ZVBC32-NEXT: sw zero, 192(sp) ; RV32ZVBC32-NEXT: sw s3, 196(sp) ; RV32ZVBC32-NEXT: li s9, 512 ; RV32ZVBC32-NEXT: sw zero, 184(sp) ; RV32ZVBC32-NEXT: sw s2, 188(sp) ; RV32ZVBC32-NEXT: li s2, 1024 ; RV32ZVBC32-NEXT: slli s11, s11, 11 ; RV32ZVBC32-NEXT: sw zero, 176(sp) ; RV32ZVBC32-NEXT: sw s11, 180(sp) ; RV32ZVBC32-NEXT: sw zero, 168(sp) ; RV32ZVBC32-NEXT: sw s0, 172(sp) ; RV32ZVBC32-NEXT: sw zero, 160(sp) ; RV32ZVBC32-NEXT: sw t6, 164(sp) ; RV32ZVBC32-NEXT: sw zero, 152(sp) ; RV32ZVBC32-NEXT: sw t5, 156(sp) ; RV32ZVBC32-NEXT: lui s8, 4 ; RV32ZVBC32-NEXT: sw zero, 144(sp) ; RV32ZVBC32-NEXT: sw t4, 148(sp) ; RV32ZVBC32-NEXT: lui t5, 8 ; RV32ZVBC32-NEXT: sw zero, 136(sp) ; RV32ZVBC32-NEXT: sw t3, 140(sp) ; RV32ZVBC32-NEXT: lui s0, 16 ; RV32ZVBC32-NEXT: sw zero, 128(sp) ; RV32ZVBC32-NEXT: sw t2, 132(sp) ; RV32ZVBC32-NEXT: sw zero, 120(sp) ; RV32ZVBC32-NEXT: sw t1, 124(sp) ; RV32ZVBC32-NEXT: lui t3, 64 ; RV32ZVBC32-NEXT: sw zero, 112(sp) ; RV32ZVBC32-NEXT: sw t0, 116(sp) ; RV32ZVBC32-NEXT: lui s4, 128 ; RV32ZVBC32-NEXT: sw zero, 104(sp) ; RV32ZVBC32-NEXT: sw a7, 108(sp) ; RV32ZVBC32-NEXT: lui t4, 256 ; RV32ZVBC32-NEXT: sw zero, 96(sp) ; RV32ZVBC32-NEXT: sw a5, 100(sp) ; RV32ZVBC32-NEXT: lui t0, 512 ; RV32ZVBC32-NEXT: sw zero, 88(sp) ; RV32ZVBC32-NEXT: sw a4, 92(sp) ; RV32ZVBC32-NEXT: lui a5, 1024 ; RV32ZVBC32-NEXT: sw zero, 80(sp) ; RV32ZVBC32-NEXT: sw a2, 84(sp) ; RV32ZVBC32-NEXT: lui a4, 2048 ; RV32ZVBC32-NEXT: sw zero, 72(sp) ; RV32ZVBC32-NEXT: sw a1, 76(sp) ; RV32ZVBC32-NEXT: lui t1, 4096 ; RV32ZVBC32-NEXT: sw zero, 64(sp) ; RV32ZVBC32-NEXT: sw a0, 68(sp) ; RV32ZVBC32-NEXT: lui t6, 8192 ; RV32ZVBC32-NEXT: sw zero, 56(sp) ; RV32ZVBC32-NEXT: sw a3, 60(sp) ; RV32ZVBC32-NEXT: lui s3, 16384 ; RV32ZVBC32-NEXT: sw zero, 48(sp) ; RV32ZVBC32-NEXT: sw ra, 52(sp) ; RV32ZVBC32-NEXT: lui a7, 32768 ; RV32ZVBC32-NEXT: sw zero, 40(sp) ; RV32ZVBC32-NEXT: sw s6, 44(sp) ; RV32ZVBC32-NEXT: sw zero, 32(sp) ; RV32ZVBC32-NEXT: sw s7, 36(sp) ; RV32ZVBC32-NEXT: sw zero, 24(sp) ; RV32ZVBC32-NEXT: sw s5, 28(sp) ; RV32ZVBC32-NEXT: sw zero, 16(sp) ; RV32ZVBC32-NEXT: sw a6, 20(sp) ; RV32ZVBC32-NEXT: lui a0, 61681 ; RV32ZVBC32-NEXT: addi a0, a0, -241 ; RV32ZVBC32-NEXT: vmv.v.x v14, a0 ; RV32ZVBC32-NEXT: lui a0, 209715 ; RV32ZVBC32-NEXT: addi a0, a0, 819 ; RV32ZVBC32-NEXT: vmv.v.x v11, a0 ; RV32ZVBC32-NEXT: lui a0, 349525 ; RV32ZVBC32-NEXT: addi a0, a0, 1365 ; RV32ZVBC32-NEXT: vmv.v.x v12, a0 ; RV32ZVBC32-NEXT: addi a0, sp, 248 ; RV32ZVBC32-NEXT: vsetvli a1, zero, e64, m1, ta, ma ; RV32ZVBC32-NEXT: vlse64.v v13, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 8 ; RV32ZVBC32-NEXT: vlse64.v v7, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 272 ; RV32ZVBC32-NEXT: vlse64.v v31, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 256 ; RV32ZVBC32-NEXT: vlse64.v v30, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 264 ; RV32ZVBC32-NEXT: vlse64.v v29, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 240 ; RV32ZVBC32-NEXT: vlse64.v v26, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 232 ; RV32ZVBC32-NEXT: vlse64.v v23, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 224 ; RV32ZVBC32-NEXT: vlse64.v v20, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 216 ; RV32ZVBC32-NEXT: vlse64.v v17, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 208 ; RV32ZVBC32-NEXT: vlse64.v v15, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 200 ; RV32ZVBC32-NEXT: vlse64.v v8, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 288 ; RV32ZVBC32-NEXT: vs1r.v v8, (a0) # vscale x 8-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 192 ; RV32ZVBC32-NEXT: vlse64.v v18, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 184 ; RV32ZVBC32-NEXT: vlse64.v v16, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 176 ; RV32ZVBC32-NEXT: vlse64.v v19, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 168 ; RV32ZVBC32-NEXT: vlse64.v v21, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 160 ; RV32ZVBC32-NEXT: vlse64.v v22, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 152 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 144 ; RV32ZVBC32-NEXT: vlse64.v v28, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 136 ; RV32ZVBC32-NEXT: vlse64.v v25, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 128 ; RV32ZVBC32-NEXT: vlse64.v v27, (a0), zero ; RV32ZVBC32-NEXT: li ra, 56 ; RV32ZVBC32-NEXT: vsrl.vi v6, v10, 24 ; RV32ZVBC32-NEXT: vsrl.vi v5, v10, 8 ; RV32ZVBC32-NEXT: vsrl.vx v4, v10, ra ; RV32ZVBC32-NEXT: li a2, 40 ; RV32ZVBC32-NEXT: vsrl.vx v3, v10, a2 ; RV32ZVBC32-NEXT: vsll.vx v2, v10, ra ; RV32ZVBC32-NEXT: vsrl.vx v1, v9, ra ; RV32ZVBC32-NEXT: vsrl.vx v0, v9, a2 ; RV32ZVBC32-NEXT: addi a0, s0, -256 ; RV32ZVBC32-NEXT: vand.vx v3, v3, a0 ; RV32ZVBC32-NEXT: vor.vv v3, v3, v4 ; RV32ZVBC32-NEXT: vsll.vx v4, v9, ra ; RV32ZVBC32-NEXT: vand.vx v0, v0, a0 ; RV32ZVBC32-NEXT: vor.vv v1, v0, v1 ; RV32ZVBC32-NEXT: vand.vx v0, v10, a0 ; RV32ZVBC32-NEXT: vsll.vx v0, v0, a2 ; RV32ZVBC32-NEXT: vor.vv v2, v2, v0 ; RV32ZVBC32-NEXT: vand.vx v0, v9, a0 ; RV32ZVBC32-NEXT: vsll.vx v0, v0, a2 ; RV32ZVBC32-NEXT: vor.vv v4, v4, v0 ; RV32ZVBC32-NEXT: vsrl.vi v0, v9, 24 ; RV32ZVBC32-NEXT: lui a1, 4080 ; RV32ZVBC32-NEXT: vand.vx v6, v6, a1 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v13 ; RV32ZVBC32-NEXT: vor.vv v8, v5, v6 ; RV32ZVBC32-NEXT: vsrl.vi v6, v9, 8 ; RV32ZVBC32-NEXT: vand.vx v5, v0, a1 ; RV32ZVBC32-NEXT: vand.vv v6, v6, v13 ; RV32ZVBC32-NEXT: vor.vv v5, v6, v5 ; RV32ZVBC32-NEXT: addi a3, sp, 120 ; RV32ZVBC32-NEXT: vlse64.v v6, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vand.vx v5, v9, a1 ; RV32ZVBC32-NEXT: vsll.vi v5, v5, 24 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v13 ; RV32ZVBC32-NEXT: vsll.vi v9, v9, 8 ; RV32ZVBC32-NEXT: vor.vv v9, v5, v9 ; RV32ZVBC32-NEXT: addi a3, sp, 112 ; RV32ZVBC32-NEXT: vlse64.v v5, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v9, v4, v9 ; RV32ZVBC32-NEXT: addi a3, sp, 104 ; RV32ZVBC32-NEXT: vlse64.v v4, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: vsrl.vi v1, v9, 4 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v14 ; RV32ZVBC32-NEXT: vand.vv v1, v1, v14 ; RV32ZVBC32-NEXT: vsll.vi v9, v9, 4 ; RV32ZVBC32-NEXT: vor.vv v9, v1, v9 ; RV32ZVBC32-NEXT: vsrl.vi v1, v9, 2 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v11 ; RV32ZVBC32-NEXT: vand.vv v1, v1, v11 ; RV32ZVBC32-NEXT: vsll.vi v9, v9, 2 ; RV32ZVBC32-NEXT: vor.vv v9, v1, v9 ; RV32ZVBC32-NEXT: vsrl.vi v1, v9, 1 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v12 ; RV32ZVBC32-NEXT: vand.vv v1, v1, v12 ; RV32ZVBC32-NEXT: vadd.vv v9, v9, v9 ; RV32ZVBC32-NEXT: vor.vv v9, v1, v9 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s1 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v3 ; RV32ZVBC32-NEXT: vand.vx v3, v10, a1 ; RV32ZVBC32-NEXT: vsll.vi v3, v3, 24 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v13 ; RV32ZVBC32-NEXT: vsll.vi v10, v10, 8 ; RV32ZVBC32-NEXT: vor.vv v10, v3, v10 ; RV32ZVBC32-NEXT: li a3, 32 ; RV32ZVBC32-NEXT: vand.vx v3, v9, a3 ; RV32ZVBC32-NEXT: vor.vv v10, v2, v10 ; RV32ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV32ZVBC32-NEXT: vsrl.vi v10, v8, 4 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v14 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v14 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV32ZVBC32-NEXT: vsrl.vi v10, v8, 2 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v11 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v11 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV32ZVBC32-NEXT: vsrl.vi v10, v8, 1 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v12 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV32ZVBC32-NEXT: vand.vi v10, v9, 2 ; RV32ZVBC32-NEXT: vand.vi v2, v9, 1 ; RV32ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v10, v2, v10 ; RV32ZVBC32-NEXT: vand.vi v2, v9, 4 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v2 ; RV32ZVBC32-NEXT: vand.vi v2, v9, 8 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, s10 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV32ZVBC32-NEXT: li a3, 128 ; RV32ZVBC32-NEXT: vand.vx v1, v9, a3 ; RV32ZVBC32-NEXT: vmul.vv v3, v8, v3 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v3 ; RV32ZVBC32-NEXT: li a3, 256 ; RV32ZVBC32-NEXT: vand.vx v0, v9, a3 ; RV32ZVBC32-NEXT: vmul.vv v3, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v3 ; RV32ZVBC32-NEXT: vand.vx v2, v9, s9 ; RV32ZVBC32-NEXT: vmul.vv v3, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v10, v3 ; RV32ZVBC32-NEXT: vand.vx v10, v9, s2 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v0 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v1, v3, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v1, v2 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s11 ; RV32ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV32ZVBC32-NEXT: vxor.vv v10, v2, v10 ; RV32ZVBC32-NEXT: lui a3, 1 ; RV32ZVBC32-NEXT: vand.vx v2, v9, a3 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV32ZVBC32-NEXT: lui a3, 2 ; RV32ZVBC32-NEXT: vand.vx v1, v9, a3 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, s8 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, t5 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, s0 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, t2 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, t3 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s4 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, t4 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, t0 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, a5 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, a4 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v2 ; RV32ZVBC32-NEXT: vand.vx v0, v9, t1 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v10, v2 ; RV32ZVBC32-NEXT: vand.vx v10, v9, t6 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v0 ; RV32ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV32ZVBC32-NEXT: vxor.vv v1, v2, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v1, v10 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s3 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, a7 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s6 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s7 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s5 ; RV32ZVBC32-NEXT: addi a3, sp, 96 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV32ZVBC32-NEXT: vlse64.v v1, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 88 ; RV32ZVBC32-NEXT: vand.vv v7, v9, v7 ; RV32ZVBC32-NEXT: vmul.vv v7, v8, v7 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v7 ; RV32ZVBC32-NEXT: vlse64.v v7, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 80 ; RV32ZVBC32-NEXT: vand.vv v31, v9, v31 ; RV32ZVBC32-NEXT: vmul.vv v31, v8, v31 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v31 ; RV32ZVBC32-NEXT: vlse64.v v31, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 72 ; RV32ZVBC32-NEXT: vand.vv v30, v9, v30 ; RV32ZVBC32-NEXT: vmul.vv v30, v8, v30 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v30 ; RV32ZVBC32-NEXT: vlse64.v v30, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 64 ; RV32ZVBC32-NEXT: vand.vv v29, v9, v29 ; RV32ZVBC32-NEXT: vmul.vv v29, v8, v29 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v29 ; RV32ZVBC32-NEXT: vlse64.v v29, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 56 ; RV32ZVBC32-NEXT: vand.vv v26, v9, v26 ; RV32ZVBC32-NEXT: vmul.vv v26, v8, v26 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v26 ; RV32ZVBC32-NEXT: vlse64.v v26, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 48 ; RV32ZVBC32-NEXT: vand.vv v23, v9, v23 ; RV32ZVBC32-NEXT: vmul.vv v23, v8, v23 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v23 ; RV32ZVBC32-NEXT: vlse64.v v23, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 40 ; RV32ZVBC32-NEXT: vand.vv v20, v9, v20 ; RV32ZVBC32-NEXT: vmul.vv v20, v8, v20 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v20 ; RV32ZVBC32-NEXT: vlse64.v v20, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 32 ; RV32ZVBC32-NEXT: vand.vv v17, v9, v17 ; RV32ZVBC32-NEXT: vmul.vv v17, v8, v17 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v17 ; RV32ZVBC32-NEXT: vlse64.v v17, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 24 ; RV32ZVBC32-NEXT: vand.vv v15, v9, v15 ; RV32ZVBC32-NEXT: vmul.vv v15, v8, v15 ; RV32ZVBC32-NEXT: vxor.vv v15, v10, v15 ; RV32ZVBC32-NEXT: vlse64.v v0, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 16 ; RV32ZVBC32-NEXT: addi a4, sp, 288 ; RV32ZVBC32-NEXT: vl1r.v v10, (a4) # vscale x 8-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v10, v9, v10 ; RV32ZVBC32-NEXT: vand.vv v18, v9, v18 ; RV32ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV32ZVBC32-NEXT: vmul.vv v18, v8, v18 ; RV32ZVBC32-NEXT: vxor.vv v10, v15, v10 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v18 ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v16, v9, v16 ; RV32ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v16 ; RV32ZVBC32-NEXT: vand.vv v16, v9, v19 ; RV32ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v16 ; RV32ZVBC32-NEXT: vand.vv v16, v9, v21 ; RV32ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v16 ; RV32ZVBC32-NEXT: vand.vv v16, v9, v22 ; RV32ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v16 ; RV32ZVBC32-NEXT: vand.vv v16, v9, v24 ; RV32ZVBC32-NEXT: vand.vv v19, v9, v28 ; RV32ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC32-NEXT: vmul.vv v19, v8, v19 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v16 ; RV32ZVBC32-NEXT: vand.vx v16, v15, a1 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v19 ; RV32ZVBC32-NEXT: vsrl.vi v19, v10, 24 ; RV32ZVBC32-NEXT: vand.vx v19, v19, a1 ; RV32ZVBC32-NEXT: vand.vv v21, v9, v25 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v9, v27 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v9, v6 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v9, v5 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v9, v4 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v9, v1 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v9, v7 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v9, v31 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vand.vx v22, v2, a0 ; RV32ZVBC32-NEXT: vsll.vx v22, v22, a2 ; RV32ZVBC32-NEXT: vxor.vv v10, v10, v21 ; RV32ZVBC32-NEXT: vsrl.vx v21, v10, a2 ; RV32ZVBC32-NEXT: vand.vx v21, v21, a0 ; RV32ZVBC32-NEXT: vand.vv v24, v9, v30 ; RV32ZVBC32-NEXT: vand.vv v25, v9, v29 ; RV32ZVBC32-NEXT: vand.vv v26, v9, v26 ; RV32ZVBC32-NEXT: vand.vv v23, v9, v23 ; RV32ZVBC32-NEXT: vand.vv v20, v9, v20 ; RV32ZVBC32-NEXT: vand.vv v17, v9, v17 ; RV32ZVBC32-NEXT: vand.vv v27, v9, v0 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v18 ; RV32ZVBC32-NEXT: vmul.vv v18, v8, v24 ; RV32ZVBC32-NEXT: vmul.vv v24, v8, v25 ; RV32ZVBC32-NEXT: vmul.vv v25, v8, v26 ; RV32ZVBC32-NEXT: vmul.vv v23, v8, v23 ; RV32ZVBC32-NEXT: vmul.vv v20, v8, v20 ; RV32ZVBC32-NEXT: vmul.vv v17, v8, v17 ; RV32ZVBC32-NEXT: vmul.vv v26, v8, v27 ; RV32ZVBC32-NEXT: vmul.vv v8, v8, v9 ; RV32ZVBC32-NEXT: vxor.vv v9, v10, v18 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v24 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v25 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v23 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v20 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v17 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v26 ; RV32ZVBC32-NEXT: vxor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vsll.vx v9, v3, ra ; RV32ZVBC32-NEXT: vsrl.vx v8, v8, ra ; RV32ZVBC32-NEXT: vor.vv v9, v9, v22 ; RV32ZVBC32-NEXT: vsrl.vi v15, v15, 8 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 24 ; RV32ZVBC32-NEXT: vand.vv v15, v15, v13 ; RV32ZVBC32-NEXT: vor.vv v15, v15, v19 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v13 ; RV32ZVBC32-NEXT: vsll.vi v10, v10, 8 ; RV32ZVBC32-NEXT: vor.vv v10, v16, v10 ; RV32ZVBC32-NEXT: vor.vv v9, v9, v10 ; RV32ZVBC32-NEXT: vor.vv v8, v21, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v15, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vsrl.vi v9, v8, 4 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v14 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v14 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vsrl.vi v9, v8, 2 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v11 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v11 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vsrl.vi v9, v8, 1 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v12 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: add sp, sp, a0 ; RV32ZVBC32-NEXT: lw ra, 348(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s0, 344(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s1, 340(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s2, 336(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s3, 332(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s4, 328(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s5, 324(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s6, 320(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s7, 316(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s8, 312(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s9, 308(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s10, 304(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s11, 300(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: addi sp, sp, 352 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv1i64_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: addi sp, sp, -208 ; RV64ZVBC32-NEXT: sd ra, 200(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s0, 192(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s1, 184(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s2, 176(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s3, 168(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s4, 160(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s5, 152(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s6, 144(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s7, 136(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s8, 128(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s9, 120(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s10, 112(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s11, 104(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: sub sp, sp, a0 ; RV64ZVBC32-NEXT: li s6, 56 ; RV64ZVBC32-NEXT: lui t4, 16 ; RV64ZVBC32-NEXT: vsetvli a0, zero, e64, m1, ta, ma ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 24 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 8 ; RV64ZVBC32-NEXT: li t3, 255 ; RV64ZVBC32-NEXT: lui a0, 61681 ; RV64ZVBC32-NEXT: lui a1, 209715 ; RV64ZVBC32-NEXT: lui a5, 349525 ; RV64ZVBC32-NEXT: vsrl.vi v12, v9, 24 ; RV64ZVBC32-NEXT: vsrl.vi v11, v9, 8 ; RV64ZVBC32-NEXT: li ra, 16 ; RV64ZVBC32-NEXT: li s11, 32 ; RV64ZVBC32-NEXT: li s10, 64 ; RV64ZVBC32-NEXT: li s8, 128 ; RV64ZVBC32-NEXT: li s9, 256 ; RV64ZVBC32-NEXT: li a3, 512 ; RV64ZVBC32-NEXT: li a4, 1024 ; RV64ZVBC32-NEXT: li t0, 1 ; RV64ZVBC32-NEXT: lui s5, 1 ; RV64ZVBC32-NEXT: lui s4, 2 ; RV64ZVBC32-NEXT: lui s3, 4 ; RV64ZVBC32-NEXT: lui a7, 8 ; RV64ZVBC32-NEXT: lui t1, 32 ; RV64ZVBC32-NEXT: lui t2, 64 ; RV64ZVBC32-NEXT: lui s1, 128 ; RV64ZVBC32-NEXT: lui s2, 256 ; RV64ZVBC32-NEXT: addi t5, a0, -241 ; RV64ZVBC32-NEXT: addi t6, a1, 819 ; RV64ZVBC32-NEXT: addi s0, a5, 1365 ; RV64ZVBC32-NEXT: slli a0, t5, 32 ; RV64ZVBC32-NEXT: add t5, t5, a0 ; RV64ZVBC32-NEXT: slli a0, t6, 32 ; RV64ZVBC32-NEXT: add t6, t6, a0 ; RV64ZVBC32-NEXT: slli a0, s0, 32 ; RV64ZVBC32-NEXT: add s0, s0, a0 ; RV64ZVBC32-NEXT: addi t4, t4, -256 ; RV64ZVBC32-NEXT: lui a2, 16 ; RV64ZVBC32-NEXT: slli t3, t3, 24 ; RV64ZVBC32-NEXT: vsrl.vx v13, v9, s6 ; RV64ZVBC32-NEXT: li a0, 40 ; RV64ZVBC32-NEXT: vsrl.vx v14, v9, a0 ; RV64ZVBC32-NEXT: lui a1, 4080 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a1 ; RV64ZVBC32-NEXT: vand.vx v15, v9, a1 ; RV64ZVBC32-NEXT: vsll.vx v17, v9, s6 ; RV64ZVBC32-NEXT: vand.vx v14, v14, t4 ; RV64ZVBC32-NEXT: vand.vx v11, v11, t3 ; RV64ZVBC32-NEXT: vsll.vi v15, v15, 24 ; RV64ZVBC32-NEXT: vand.vx v18, v9, t3 ; RV64ZVBC32-NEXT: vand.vx v9, v9, t4 ; RV64ZVBC32-NEXT: vor.vv v13, v14, v13 ; RV64ZVBC32-NEXT: vor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: vsll.vi v12, v18, 8 ; RV64ZVBC32-NEXT: vsll.vx v9, v9, a0 ; RV64ZVBC32-NEXT: li a5, 40 ; RV64ZVBC32-NEXT: vor.vv v11, v11, v13 ; RV64ZVBC32-NEXT: vor.vv v12, v15, v12 ; RV64ZVBC32-NEXT: vor.vv v9, v17, v9 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v12 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v11 ; RV64ZVBC32-NEXT: vsrl.vi v11, v9, 4 ; RV64ZVBC32-NEXT: vand.vx v9, v9, t5 ; RV64ZVBC32-NEXT: vand.vx v11, v11, t5 ; RV64ZVBC32-NEXT: vsll.vi v9, v9, 4 ; RV64ZVBC32-NEXT: vor.vv v9, v11, v9 ; RV64ZVBC32-NEXT: vsrl.vi v11, v9, 2 ; RV64ZVBC32-NEXT: vand.vx v9, v9, t6 ; RV64ZVBC32-NEXT: vand.vx v11, v11, t6 ; RV64ZVBC32-NEXT: vsll.vi v9, v9, 2 ; RV64ZVBC32-NEXT: vor.vv v9, v11, v9 ; RV64ZVBC32-NEXT: vsrl.vi v11, v9, 1 ; RV64ZVBC32-NEXT: vand.vx v9, v9, s0 ; RV64ZVBC32-NEXT: vand.vx v11, v11, s0 ; RV64ZVBC32-NEXT: vadd.vv v9, v9, v9 ; RV64ZVBC32-NEXT: vor.vv v11, v11, v9 ; RV64ZVBC32-NEXT: vand.vx v14, v11, ra ; RV64ZVBC32-NEXT: lui a0, 4096 ; RV64ZVBC32-NEXT: vand.vx v15, v11, s11 ; RV64ZVBC32-NEXT: lui a1, 8192 ; RV64ZVBC32-NEXT: vand.vx v17, v11, s10 ; RV64ZVBC32-NEXT: lui a6, 16384 ; RV64ZVBC32-NEXT: vand.vx v18, v11, s8 ; RV64ZVBC32-NEXT: lui s6, 32768 ; RV64ZVBC32-NEXT: vand.vx v19, v11, s9 ; RV64ZVBC32-NEXT: lui s7, 65536 ; RV64ZVBC32-NEXT: vand.vx v20, v11, a3 ; RV64ZVBC32-NEXT: lui s8, 131072 ; RV64ZVBC32-NEXT: vand.vx v21, v11, a4 ; RV64ZVBC32-NEXT: slli a3, t0, 11 ; RV64ZVBC32-NEXT: vand.vx v22, v11, a3 ; RV64ZVBC32-NEXT: lui s10, 262144 ; RV64ZVBC32-NEXT: li a3, 56 ; RV64ZVBC32-NEXT: vsrl.vx v4, v8, a3 ; RV64ZVBC32-NEXT: vsrl.vx v0, v8, a5 ; RV64ZVBC32-NEXT: li a5, 40 ; RV64ZVBC32-NEXT: lui a4, 4080 ; RV64ZVBC32-NEXT: vand.vx v1, v16, a4 ; RV64ZVBC32-NEXT: vand.vx v3, v8, a4 ; RV64ZVBC32-NEXT: vsll.vx v2, v8, a3 ; RV64ZVBC32-NEXT: vand.vx v23, v11, s5 ; RV64ZVBC32-NEXT: slli s11, t0, 31 ; RV64ZVBC32-NEXT: vand.vx v24, v11, s4 ; RV64ZVBC32-NEXT: slli ra, t0, 32 ; RV64ZVBC32-NEXT: vand.vx v25, v11, s3 ; RV64ZVBC32-NEXT: slli s9, t0, 33 ; RV64ZVBC32-NEXT: vand.vx v26, v11, a7 ; RV64ZVBC32-NEXT: slli a3, t0, 34 ; RV64ZVBC32-NEXT: sd a3, 80(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v27, v11, a2 ; RV64ZVBC32-NEXT: slli a2, t0, 35 ; RV64ZVBC32-NEXT: sd a2, 72(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v28, v11, t1 ; RV64ZVBC32-NEXT: slli a2, t0, 36 ; RV64ZVBC32-NEXT: sd a2, 64(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v29, v11, t2 ; RV64ZVBC32-NEXT: slli a2, t0, 37 ; RV64ZVBC32-NEXT: sd a2, 56(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v30, v11, s1 ; RV64ZVBC32-NEXT: slli a2, t0, 38 ; RV64ZVBC32-NEXT: sd a2, 48(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v31, v11, s2 ; RV64ZVBC32-NEXT: slli a2, t0, 39 ; RV64ZVBC32-NEXT: sd a2, 40(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: lui a2, 512 ; RV64ZVBC32-NEXT: vand.vx v7, v11, a2 ; RV64ZVBC32-NEXT: slli a2, t0, 40 ; RV64ZVBC32-NEXT: sd a2, 32(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: lui a2, 1024 ; RV64ZVBC32-NEXT: vand.vx v6, v11, a2 ; RV64ZVBC32-NEXT: slli a2, t0, 41 ; RV64ZVBC32-NEXT: sd a2, 24(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: lui a2, 2048 ; RV64ZVBC32-NEXT: vand.vx v9, v11, a2 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a2) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s2, t0, 42 ; RV64ZVBC32-NEXT: vand.vx v9, v11, a0 ; RV64ZVBC32-NEXT: sd s2, 8(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a2, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a2, a2, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a2 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s3, t0, 43 ; RV64ZVBC32-NEXT: vand.vx v9, v11, a1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s4, t0, 44 ; RV64ZVBC32-NEXT: vand.vx v9, v11, a6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s5, t0, 45 ; RV64ZVBC32-NEXT: vand.vx v9, v11, s6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s6, t0, 46 ; RV64ZVBC32-NEXT: vand.vx v9, v0, t4 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v4 ; RV64ZVBC32-NEXT: vand.vx v12, v11, s7 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s7, t0, 47 ; RV64ZVBC32-NEXT: vand.vx v10, v10, t3 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v1 ; RV64ZVBC32-NEXT: vand.vx v12, v11, s8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s8, t0, 48 ; RV64ZVBC32-NEXT: vsll.vi v12, v3, 24 ; RV64ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: vand.vx v10, v8, t3 ; RV64ZVBC32-NEXT: vsll.vi v10, v10, 8 ; RV64ZVBC32-NEXT: vor.vv v10, v12, v10 ; RV64ZVBC32-NEXT: vand.vx v12, v11, s10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s10, t0, 49 ; RV64ZVBC32-NEXT: vand.vx v8, v8, t4 ; RV64ZVBC32-NEXT: vsll.vx v8, v8, a5 ; RV64ZVBC32-NEXT: vor.vv v8, v2, v8 ; RV64ZVBC32-NEXT: vand.vx v12, v11, s11 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s11, t0, 50 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v10 ; RV64ZVBC32-NEXT: vand.vx v10, v11, ra ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v10, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli ra, t0, 51 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v9 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, t5 ; RV64ZVBC32-NEXT: vand.vx v9, v9, t5 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, t6 ; RV64ZVBC32-NEXT: vand.vx v9, v9, t6 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, s0 ; RV64ZVBC32-NEXT: vand.vx v9, v9, s0 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vand.vx v9, v11, s9 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 5 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli t2, t0, 52 ; RV64ZVBC32-NEXT: slli t1, t0, 53 ; RV64ZVBC32-NEXT: slli a7, t0, 54 ; RV64ZVBC32-NEXT: slli s9, t0, 55 ; RV64ZVBC32-NEXT: slli a6, t0, 56 ; RV64ZVBC32-NEXT: slli a5, t0, 57 ; RV64ZVBC32-NEXT: slli a4, t0, 58 ; RV64ZVBC32-NEXT: slli a2, t0, 59 ; RV64ZVBC32-NEXT: slli a1, t0, 60 ; RV64ZVBC32-NEXT: slli a3, t0, 61 ; RV64ZVBC32-NEXT: slli t0, t0, 62 ; RV64ZVBC32-NEXT: li a0, -1 ; RV64ZVBC32-NEXT: slli a0, a0, 63 ; RV64ZVBC32-NEXT: ld s1, 80(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v9, v11, s1 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: slli s1, s1, 5 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s1, 72(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v9, v11, s1 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: slli s2, s1, 5 ; RV64ZVBC32-NEXT: sub s1, s2, s1 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s1, 64(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v9, v11, s1 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s1, 56(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v9, v11, s1 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 2 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s1, 48(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v9, v11, s1 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: slli s1, s1, 2 ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s1, 40(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v9, v11, s1 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 2 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s1, 32(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v9, v11, s1 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 2 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s1, 24(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v9, v11, s1 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 3 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: ld s2, 8(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, s2 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: slli s1, s1, 3 ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, s3 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 2 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, s4 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 2 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, s5 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 2 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 2 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, s6 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: slli s1, s1, 2 ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 2 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, s7 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: add s2, s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 3 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, s8 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: slli s1, s1, 1 ; RV64ZVBC32-NEXT: mv s2, s1 ; RV64ZVBC32-NEXT: slli s1, s1, 3 ; RV64ZVBC32-NEXT: add s1, s1, s2 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, s10 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: slli s2, s1, 4 ; RV64ZVBC32-NEXT: add s1, s2, s1 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, s11 ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: slli s1, s1, 4 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, ra ; RV64ZVBC32-NEXT: csrr s1, vlenb ; RV64ZVBC32-NEXT: slli s2, s1, 4 ; RV64ZVBC32-NEXT: sub s1, s2, s1 ; RV64ZVBC32-NEXT: add s1, sp, s1 ; RV64ZVBC32-NEXT: addi s1, s1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (s1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, t2 ; RV64ZVBC32-NEXT: csrr t2, vlenb ; RV64ZVBC32-NEXT: slli t2, t2, 1 ; RV64ZVBC32-NEXT: mv s1, t2 ; RV64ZVBC32-NEXT: slli t2, t2, 1 ; RV64ZVBC32-NEXT: add s1, s1, t2 ; RV64ZVBC32-NEXT: slli t2, t2, 1 ; RV64ZVBC32-NEXT: add t2, t2, s1 ; RV64ZVBC32-NEXT: add t2, sp, t2 ; RV64ZVBC32-NEXT: addi t2, t2, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (t2) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, t1 ; RV64ZVBC32-NEXT: csrr t1, vlenb ; RV64ZVBC32-NEXT: mv t2, t1 ; RV64ZVBC32-NEXT: slli t1, t1, 2 ; RV64ZVBC32-NEXT: add t2, t2, t1 ; RV64ZVBC32-NEXT: slli t1, t1, 1 ; RV64ZVBC32-NEXT: add t1, t1, t2 ; RV64ZVBC32-NEXT: add t1, sp, t1 ; RV64ZVBC32-NEXT: addi t1, t1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (t1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, a7 ; RV64ZVBC32-NEXT: csrr a7, vlenb ; RV64ZVBC32-NEXT: slli a7, a7, 2 ; RV64ZVBC32-NEXT: mv t1, a7 ; RV64ZVBC32-NEXT: slli a7, a7, 1 ; RV64ZVBC32-NEXT: add a7, a7, t1 ; RV64ZVBC32-NEXT: add a7, sp, a7 ; RV64ZVBC32-NEXT: addi a7, a7, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a7) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, s9 ; RV64ZVBC32-NEXT: csrr a7, vlenb ; RV64ZVBC32-NEXT: mv t1, a7 ; RV64ZVBC32-NEXT: slli a7, a7, 1 ; RV64ZVBC32-NEXT: add t1, t1, a7 ; RV64ZVBC32-NEXT: slli a7, a7, 2 ; RV64ZVBC32-NEXT: add a7, a7, t1 ; RV64ZVBC32-NEXT: add a7, sp, a7 ; RV64ZVBC32-NEXT: addi a7, a7, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a7) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, a6 ; RV64ZVBC32-NEXT: csrr a6, vlenb ; RV64ZVBC32-NEXT: slli a6, a6, 1 ; RV64ZVBC32-NEXT: mv a7, a6 ; RV64ZVBC32-NEXT: slli a6, a6, 2 ; RV64ZVBC32-NEXT: add a6, a6, a7 ; RV64ZVBC32-NEXT: add a6, sp, a6 ; RV64ZVBC32-NEXT: addi a6, a6, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a6) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, a5 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a6, a5, 3 ; RV64ZVBC32-NEXT: add a5, a6, a5 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a5) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, a4 ; RV64ZVBC32-NEXT: csrr a4, vlenb ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: add a4, sp, a4 ; RV64ZVBC32-NEXT: addi a4, a4, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a4) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, a2 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a4, a2, 3 ; RV64ZVBC32-NEXT: sub a2, a4, a2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a2) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v9, v11, a1 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 96 ; RV64ZVBC32-NEXT: vs1r.v v9, (a1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vi v9, v11, 2 ; RV64ZVBC32-NEXT: vand.vi v10, v11, 1 ; RV64ZVBC32-NEXT: vand.vi v12, v11, 4 ; RV64ZVBC32-NEXT: vand.vi v13, v11, 8 ; RV64ZVBC32-NEXT: vand.vx v5, v11, a3 ; RV64ZVBC32-NEXT: vand.vx v4, v11, t0 ; RV64ZVBC32-NEXT: vand.vx v2, v11, a0 ; RV64ZVBC32-NEXT: vmul.vv v3, v8, v9 ; RV64ZVBC32-NEXT: vmul.vv v9, v8, v10 ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v12 ; RV64ZVBC32-NEXT: vmul.vv v11, v8, v13 ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v14 ; RV64ZVBC32-NEXT: vmul.vv v13, v8, v15 ; RV64ZVBC32-NEXT: vmul.vv v14, v8, v17 ; RV64ZVBC32-NEXT: vmul.vv v15, v8, v18 ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v19 ; RV64ZVBC32-NEXT: vmul.vv v17, v8, v20 ; RV64ZVBC32-NEXT: vmul.vv v18, v8, v21 ; RV64ZVBC32-NEXT: vmul.vv v19, v8, v22 ; RV64ZVBC32-NEXT: vmul.vv v20, v8, v23 ; RV64ZVBC32-NEXT: vmul.vv v21, v8, v24 ; RV64ZVBC32-NEXT: vmul.vv v22, v8, v25 ; RV64ZVBC32-NEXT: vmul.vv v23, v8, v26 ; RV64ZVBC32-NEXT: vmul.vv v24, v8, v27 ; RV64ZVBC32-NEXT: vmul.vv v25, v8, v28 ; RV64ZVBC32-NEXT: vmul.vv v26, v8, v29 ; RV64ZVBC32-NEXT: vmul.vv v27, v8, v30 ; RV64ZVBC32-NEXT: vmul.vv v28, v8, v31 ; RV64ZVBC32-NEXT: vmul.vv v29, v8, v7 ; RV64ZVBC32-NEXT: vmul.vv v30, v8, v6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v31, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v31, v8, v31 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v7, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v7, v8, v7 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v6, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v6, v8, v6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 2 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v0, v8, v0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 1 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: addi a0, sp, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 5 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 5 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 5 ; RV64ZVBC32-NEXT: sub a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 5 ; RV64ZVBC32-NEXT: sub a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 4 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 4 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 4 ; RV64ZVBC32-NEXT: sub a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 3 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 3 ; RV64ZVBC32-NEXT: sub a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 96 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vv v1, v8, v5 ; RV64ZVBC32-NEXT: vmul.vv v5, v8, v4 ; RV64ZVBC32-NEXT: vmul.vv v8, v8, v2 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v3 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v11 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v12 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v13 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v14 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v15 ; RV64ZVBC32-NEXT: vxor.vv v10, v9, v16 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v17 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v18 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v19 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v20 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v21 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v22 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v23 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v24 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v25 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v26 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v27 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v28 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v29 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v30 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v31 ; RV64ZVBC32-NEXT: vxor.vv v11, v10, v7 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v6 ; RV64ZVBC32-NEXT: li a0, 56 ; RV64ZVBC32-NEXT: vsll.vx v9, v9, a0 ; RV64ZVBC32-NEXT: vand.vx v10, v10, t4 ; RV64ZVBC32-NEXT: li a1, 40 ; RV64ZVBC32-NEXT: vsll.vx v10, v10, a1 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a3, a2, 2 ; RV64ZVBC32-NEXT: add a2, a3, a2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v11, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v0 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a3, a2, 1 ; RV64ZVBC32-NEXT: add a2, a3, a2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: addi a2, sp, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a3, a2, 5 ; RV64ZVBC32-NEXT: add a2, a3, a2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 5 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a3, a2, 5 ; RV64ZVBC32-NEXT: sub a2, a3, a2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v11, v12 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a3, a2, 4 ; RV64ZVBC32-NEXT: add a2, a3, a2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v13, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 4 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v13, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: vsrl.vi v13, v10, 8 ; RV64ZVBC32-NEXT: vand.vx v13, v13, t3 ; RV64ZVBC32-NEXT: vsrl.vi v11, v11, 24 ; RV64ZVBC32-NEXT: lui a2, 4080 ; RV64ZVBC32-NEXT: vand.vx v11, v11, a2 ; RV64ZVBC32-NEXT: vor.vv v11, v13, v11 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 96 ; RV64ZVBC32-NEXT: vl1r.v v13, (a3) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 96 ; RV64ZVBC32-NEXT: vl1r.v v13, (a3) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 96 ; RV64ZVBC32-NEXT: vl1r.v v13, (a3) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 96 ; RV64ZVBC32-NEXT: vl1r.v v13, (a3) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 96 ; RV64ZVBC32-NEXT: vl1r.v v13, (a3) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a2 ; RV64ZVBC32-NEXT: vsll.vi v10, v10, 24 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v13, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v13, v12, v13 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v14, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v14 ; RV64ZVBC32-NEXT: vand.vx v14, v12, t3 ; RV64ZVBC32-NEXT: vsll.vi v14, v14, 8 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v14, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v14 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 96 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v13, v10 ; RV64ZVBC32-NEXT: vsrl.vx v12, v12, a1 ; RV64ZVBC32-NEXT: vand.vx v12, v12, t4 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 96 ; RV64ZVBC32-NEXT: vl1r.v v13, (a1) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v13 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v1 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v5 ; RV64ZVBC32-NEXT: vxor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vsrl.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v11, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, t5 ; RV64ZVBC32-NEXT: vand.vx v9, v9, t5 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, t6 ; RV64ZVBC32-NEXT: vand.vx v9, v9, t6 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, s0 ; RV64ZVBC32-NEXT: vand.vx v9, v9, s0 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add sp, sp, a0 ; RV64ZVBC32-NEXT: ld ra, 200(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s0, 192(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s1, 184(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s2, 176(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s3, 168(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s4, 160(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s5, 152(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s6, 144(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s7, 136(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s8, 128(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s9, 120(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s10, 112(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s11, 104(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: addi sp, sp, 208 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv1i128( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i128 64) %res = trunc %res.ext to ret %res } define @clmulh_nxv1i64_vx( %va, i64 %b) nounwind { ; RV32V-LABEL: clmulh_nxv1i64_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -368 ; RV32V-NEXT: sw ra, 364(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s0, 360(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s1, 356(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s2, 352(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s3, 348(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s4, 344(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s5, 340(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s6, 336(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s7, 332(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s8, 328(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s9, 324(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s10, 320(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s11, 316(sp) # 4-byte Folded Spill ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: sub sp, sp, a2 ; RV32V-NEXT: vsetvli a2, zero, e64, m1, ta, ma ; RV32V-NEXT: vmv1r.v v9, v8 ; RV32V-NEXT: sw a0, 16(sp) ; RV32V-NEXT: sw a1, 20(sp) ; RV32V-NEXT: addi t6, sp, 16 ; RV32V-NEXT: lui s0, 1044480 ; RV32V-NEXT: lui a4, 524288 ; RV32V-NEXT: li s11, 1 ; RV32V-NEXT: li s6, 2 ; RV32V-NEXT: li s7, 4 ; RV32V-NEXT: li s8, 8 ; RV32V-NEXT: li s10, 16 ; RV32V-NEXT: li s9, 32 ; RV32V-NEXT: li s1, 64 ; RV32V-NEXT: li s2, 128 ; RV32V-NEXT: li s3, 256 ; RV32V-NEXT: li s4, 512 ; RV32V-NEXT: li s5, 1024 ; RV32V-NEXT: lui a3, 1 ; RV32V-NEXT: lui ra, 2 ; RV32V-NEXT: lui a0, 4 ; RV32V-NEXT: lui a1, 8 ; RV32V-NEXT: lui a5, 16 ; RV32V-NEXT: lui a2, 32 ; RV32V-NEXT: lui a6, 64 ; RV32V-NEXT: lui a7, 128 ; RV32V-NEXT: lui t0, 256 ; RV32V-NEXT: lui t1, 512 ; RV32V-NEXT: lui t2, 1024 ; RV32V-NEXT: lui t3, 2048 ; RV32V-NEXT: lui t4, 4096 ; RV32V-NEXT: lui t5, 8192 ; RV32V-NEXT: vlse64.v v13, (t6), zero ; RV32V-NEXT: lui t6, 16384 ; RV32V-NEXT: sw s0, 264(sp) ; RV32V-NEXT: lui s0, 32768 ; RV32V-NEXT: sw zero, 268(sp) ; RV32V-NEXT: sw a4, 24(sp) ; RV32V-NEXT: sw zero, 28(sp) ; RV32V-NEXT: sw zero, 288(sp) ; RV32V-NEXT: sw s11, 292(sp) ; RV32V-NEXT: sw zero, 272(sp) ; RV32V-NEXT: sw s6, 276(sp) ; RV32V-NEXT: lui s6, 65536 ; RV32V-NEXT: sw zero, 280(sp) ; RV32V-NEXT: sw s7, 284(sp) ; RV32V-NEXT: lui s7, 131072 ; RV32V-NEXT: sw zero, 256(sp) ; RV32V-NEXT: sw s8, 260(sp) ; RV32V-NEXT: lui s8, 262144 ; RV32V-NEXT: sw zero, 248(sp) ; RV32V-NEXT: sw s10, 252(sp) ; RV32V-NEXT: sw zero, 240(sp) ; RV32V-NEXT: sw s9, 244(sp) ; RV32V-NEXT: sw zero, 232(sp) ; RV32V-NEXT: sw s1, 236(sp) ; RV32V-NEXT: sw zero, 224(sp) ; RV32V-NEXT: sw s2, 228(sp) ; RV32V-NEXT: sw zero, 216(sp) ; RV32V-NEXT: sw s3, 220(sp) ; RV32V-NEXT: sw zero, 208(sp) ; RV32V-NEXT: sw s4, 212(sp) ; RV32V-NEXT: sw zero, 200(sp) ; RV32V-NEXT: sw s5, 204(sp) ; RV32V-NEXT: slli s11, s11, 11 ; RV32V-NEXT: sw zero, 192(sp) ; RV32V-NEXT: sw s11, 196(sp) ; RV32V-NEXT: sw zero, 184(sp) ; RV32V-NEXT: sw a3, 188(sp) ; RV32V-NEXT: sw zero, 176(sp) ; RV32V-NEXT: sw ra, 180(sp) ; RV32V-NEXT: sw zero, 168(sp) ; RV32V-NEXT: sw a0, 172(sp) ; RV32V-NEXT: sw zero, 160(sp) ; RV32V-NEXT: sw a1, 164(sp) ; RV32V-NEXT: sw zero, 152(sp) ; RV32V-NEXT: sw a5, 156(sp) ; RV32V-NEXT: sw zero, 144(sp) ; RV32V-NEXT: sw a2, 148(sp) ; RV32V-NEXT: sw zero, 136(sp) ; RV32V-NEXT: sw a6, 140(sp) ; RV32V-NEXT: sw zero, 128(sp) ; RV32V-NEXT: sw a7, 132(sp) ; RV32V-NEXT: sw zero, 120(sp) ; RV32V-NEXT: sw t0, 124(sp) ; RV32V-NEXT: sw zero, 112(sp) ; RV32V-NEXT: sw t1, 116(sp) ; RV32V-NEXT: sw zero, 104(sp) ; RV32V-NEXT: sw t2, 108(sp) ; RV32V-NEXT: sw zero, 96(sp) ; RV32V-NEXT: sw t3, 100(sp) ; RV32V-NEXT: sw zero, 88(sp) ; RV32V-NEXT: sw t4, 92(sp) ; RV32V-NEXT: sw zero, 80(sp) ; RV32V-NEXT: sw t5, 84(sp) ; RV32V-NEXT: sw zero, 72(sp) ; RV32V-NEXT: sw t6, 76(sp) ; RV32V-NEXT: sw zero, 64(sp) ; RV32V-NEXT: sw s0, 68(sp) ; RV32V-NEXT: sw zero, 56(sp) ; RV32V-NEXT: sw s6, 60(sp) ; RV32V-NEXT: sw zero, 48(sp) ; RV32V-NEXT: sw s7, 52(sp) ; RV32V-NEXT: sw zero, 40(sp) ; RV32V-NEXT: sw s8, 44(sp) ; RV32V-NEXT: sw zero, 32(sp) ; RV32V-NEXT: sw a4, 36(sp) ; RV32V-NEXT: lui a0, 61681 ; RV32V-NEXT: addi a0, a0, -241 ; RV32V-NEXT: vsetvli a1, zero, e32, m1, ta, ma ; RV32V-NEXT: vmv.v.x v14, a0 ; RV32V-NEXT: lui a0, 209715 ; RV32V-NEXT: addi a0, a0, 819 ; RV32V-NEXT: vmv.v.x v10, a0 ; RV32V-NEXT: lui a0, 349525 ; RV32V-NEXT: addi a0, a0, 1365 ; RV32V-NEXT: vmv.v.x v11, a0 ; RV32V-NEXT: addi a0, sp, 264 ; RV32V-NEXT: vsetvli a1, zero, e64, m1, ta, ma ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: addi a0, sp, 24 ; RV32V-NEXT: vlse64.v v7, (a0), zero ; RV32V-NEXT: addi a0, sp, 288 ; RV32V-NEXT: vlse64.v v31, (a0), zero ; RV32V-NEXT: addi a0, sp, 272 ; RV32V-NEXT: vlse64.v v30, (a0), zero ; RV32V-NEXT: addi a0, sp, 280 ; RV32V-NEXT: vlse64.v v29, (a0), zero ; RV32V-NEXT: addi a0, sp, 256 ; RV32V-NEXT: vlse64.v v26, (a0), zero ; RV32V-NEXT: addi a0, sp, 248 ; RV32V-NEXT: vlse64.v v23, (a0), zero ; RV32V-NEXT: addi a0, sp, 240 ; RV32V-NEXT: vlse64.v v20, (a0), zero ; RV32V-NEXT: addi a0, sp, 232 ; RV32V-NEXT: vlse64.v v17, (a0), zero ; RV32V-NEXT: addi a0, sp, 224 ; RV32V-NEXT: vlse64.v v15, (a0), zero ; RV32V-NEXT: addi a0, sp, 216 ; RV32V-NEXT: vlse64.v v8, (a0), zero ; RV32V-NEXT: addi a0, sp, 304 ; RV32V-NEXT: vs1r.v v8, (a0) # vscale x 8-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 208 ; RV32V-NEXT: vlse64.v v18, (a0), zero ; RV32V-NEXT: addi a0, sp, 200 ; RV32V-NEXT: vlse64.v v16, (a0), zero ; RV32V-NEXT: addi a0, sp, 192 ; RV32V-NEXT: vlse64.v v19, (a0), zero ; RV32V-NEXT: addi a0, sp, 184 ; RV32V-NEXT: vlse64.v v21, (a0), zero ; RV32V-NEXT: addi a0, sp, 176 ; RV32V-NEXT: vlse64.v v22, (a0), zero ; RV32V-NEXT: addi a0, sp, 168 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: addi a0, sp, 160 ; RV32V-NEXT: vlse64.v v28, (a0), zero ; RV32V-NEXT: addi a0, sp, 152 ; RV32V-NEXT: vlse64.v v25, (a0), zero ; RV32V-NEXT: addi a0, sp, 144 ; RV32V-NEXT: vlse64.v v27, (a0), zero ; RV32V-NEXT: li ra, 56 ; RV32V-NEXT: vsrl.vi v6, v9, 24 ; RV32V-NEXT: vsrl.vi v5, v9, 8 ; RV32V-NEXT: vsrl.vx v4, v9, ra ; RV32V-NEXT: li a2, 40 ; RV32V-NEXT: vsrl.vx v3, v9, a2 ; RV32V-NEXT: lui a1, 4080 ; RV32V-NEXT: vand.vx v6, v6, a1 ; RV32V-NEXT: vsll.vx v2, v9, ra ; RV32V-NEXT: addi a0, a5, -256 ; RV32V-NEXT: vand.vx v3, v3, a0 ; RV32V-NEXT: vand.vx v1, v9, a0 ; RV32V-NEXT: vor.vv v3, v3, v4 ; RV32V-NEXT: vsll.vx v4, v1, a2 ; RV32V-NEXT: vor.vv v2, v2, v4 ; RV32V-NEXT: vsrl.vx v4, v13, ra ; RV32V-NEXT: vsrl.vx v1, v13, a2 ; RV32V-NEXT: vsll.vx v0, v13, ra ; RV32V-NEXT: vand.vx v1, v1, a0 ; RV32V-NEXT: vor.vv v4, v1, v4 ; RV32V-NEXT: vand.vx v1, v13, a0 ; RV32V-NEXT: vsll.vx v1, v1, a2 ; RV32V-NEXT: vor.vv v1, v0, v1 ; RV32V-NEXT: vsrl.vi v0, v13, 24 ; RV32V-NEXT: vand.vv v5, v5, v12 ; RV32V-NEXT: vor.vv v8, v5, v6 ; RV32V-NEXT: vsrl.vi v6, v13, 8 ; RV32V-NEXT: vand.vx v5, v0, a1 ; RV32V-NEXT: vand.vv v6, v6, v12 ; RV32V-NEXT: vor.vv v5, v6, v5 ; RV32V-NEXT: addi a3, sp, 136 ; RV32V-NEXT: vlse64.v v6, (a3), zero ; RV32V-NEXT: vor.vv v0, v5, v4 ; RV32V-NEXT: vand.vx v5, v13, a1 ; RV32V-NEXT: vsll.vi v5, v5, 24 ; RV32V-NEXT: vand.vv v13, v13, v12 ; RV32V-NEXT: vsll.vi v13, v13, 8 ; RV32V-NEXT: vor.vv v13, v5, v13 ; RV32V-NEXT: addi a3, sp, 128 ; RV32V-NEXT: vlse64.v v5, (a3), zero ; RV32V-NEXT: vor.vv v13, v1, v13 ; RV32V-NEXT: addi a3, sp, 120 ; RV32V-NEXT: vlse64.v v4, (a3), zero ; RV32V-NEXT: vor.vv v13, v13, v0 ; RV32V-NEXT: vsrl.vi v1, v13, 4 ; RV32V-NEXT: vand.vv v13, v13, v14 ; RV32V-NEXT: vand.vv v1, v1, v14 ; RV32V-NEXT: vsll.vi v13, v13, 4 ; RV32V-NEXT: vor.vv v13, v1, v13 ; RV32V-NEXT: vsrl.vi v1, v13, 2 ; RV32V-NEXT: vand.vv v13, v13, v10 ; RV32V-NEXT: vand.vv v1, v1, v10 ; RV32V-NEXT: vsll.vi v13, v13, 2 ; RV32V-NEXT: vor.vv v13, v1, v13 ; RV32V-NEXT: vsrl.vi v1, v13, 1 ; RV32V-NEXT: vand.vv v13, v13, v11 ; RV32V-NEXT: vand.vv v1, v1, v11 ; RV32V-NEXT: vadd.vv v13, v13, v13 ; RV32V-NEXT: vor.vv v13, v1, v13 ; RV32V-NEXT: vand.vx v1, v13, s10 ; RV32V-NEXT: vor.vv v8, v8, v3 ; RV32V-NEXT: vand.vx v3, v9, a1 ; RV32V-NEXT: vsll.vi v3, v3, 24 ; RV32V-NEXT: vand.vv v9, v9, v12 ; RV32V-NEXT: vsll.vi v9, v9, 8 ; RV32V-NEXT: vor.vv v9, v3, v9 ; RV32V-NEXT: vand.vx v3, v13, s9 ; RV32V-NEXT: vor.vv v9, v2, v9 ; RV32V-NEXT: vor.vv v8, v9, v8 ; RV32V-NEXT: vsrl.vi v9, v8, 4 ; RV32V-NEXT: vand.vv v8, v8, v14 ; RV32V-NEXT: vand.vv v9, v9, v14 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v9, v8 ; RV32V-NEXT: vsrl.vi v9, v8, 2 ; RV32V-NEXT: vand.vv v8, v8, v10 ; RV32V-NEXT: vand.vv v9, v9, v10 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v9, v8 ; RV32V-NEXT: vsrl.vi v9, v8, 1 ; RV32V-NEXT: vand.vv v8, v8, v11 ; RV32V-NEXT: vand.vv v9, v9, v11 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v9, v8 ; RV32V-NEXT: vand.vi v9, v13, 2 ; RV32V-NEXT: vand.vi v2, v13, 1 ; RV32V-NEXT: vmul.vv v9, v8, v9 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v9, v2, v9 ; RV32V-NEXT: vand.vi v2, v13, 4 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v9, v9, v2 ; RV32V-NEXT: vand.vi v2, v13, 8 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v9, v9, v2 ; RV32V-NEXT: vand.vx v2, v13, s1 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v9, v9, v1 ; RV32V-NEXT: vand.vx v1, v13, s2 ; RV32V-NEXT: vmul.vv v3, v8, v3 ; RV32V-NEXT: vxor.vv v9, v9, v3 ; RV32V-NEXT: vand.vx v0, v13, s3 ; RV32V-NEXT: vmul.vv v3, v8, v2 ; RV32V-NEXT: vxor.vv v9, v9, v3 ; RV32V-NEXT: vand.vx v2, v13, s4 ; RV32V-NEXT: vmul.vv v3, v8, v1 ; RV32V-NEXT: vxor.vv v3, v9, v3 ; RV32V-NEXT: vand.vx v9, v13, s5 ; RV32V-NEXT: vmul.vv v1, v8, v0 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v1, v3, v1 ; RV32V-NEXT: vxor.vv v2, v1, v2 ; RV32V-NEXT: vand.vx v1, v13, s11 ; RV32V-NEXT: vmul.vv v9, v8, v9 ; RV32V-NEXT: vxor.vv v9, v2, v9 ; RV32V-NEXT: lui a3, 1 ; RV32V-NEXT: vand.vx v2, v13, a3 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v9, v9, v1 ; RV32V-NEXT: lui a3, 2 ; RV32V-NEXT: vand.vx v1, v13, a3 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v9, v9, v2 ; RV32V-NEXT: lui a3, 4 ; RV32V-NEXT: vand.vx v2, v13, a3 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v9, v9, v1 ; RV32V-NEXT: lui a3, 8 ; RV32V-NEXT: vand.vx v1, v13, a3 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v9, v9, v2 ; RV32V-NEXT: vand.vx v2, v13, a5 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v9, v9, v1 ; RV32V-NEXT: lui a3, 32 ; RV32V-NEXT: vand.vx v1, v13, a3 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v9, v9, v2 ; RV32V-NEXT: vand.vx v2, v13, a6 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v9, v9, v1 ; RV32V-NEXT: vand.vx v1, v13, a7 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v9, v9, v2 ; RV32V-NEXT: vand.vx v2, v13, t0 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v9, v9, v1 ; RV32V-NEXT: vand.vx v1, v13, t1 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v9, v9, v2 ; RV32V-NEXT: vand.vx v2, v13, t2 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v9, v9, v1 ; RV32V-NEXT: vand.vx v1, v13, t3 ; RV32V-NEXT: vmul.vv v2, v8, v2 ; RV32V-NEXT: vxor.vv v9, v9, v2 ; RV32V-NEXT: vand.vx v0, v13, t4 ; RV32V-NEXT: vmul.vv v2, v8, v1 ; RV32V-NEXT: vxor.vv v2, v9, v2 ; RV32V-NEXT: vand.vx v9, v13, t5 ; RV32V-NEXT: vmul.vv v1, v8, v0 ; RV32V-NEXT: vmul.vv v9, v8, v9 ; RV32V-NEXT: vxor.vv v1, v2, v1 ; RV32V-NEXT: vxor.vv v9, v1, v9 ; RV32V-NEXT: vand.vx v1, v13, t6 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v9, v9, v1 ; RV32V-NEXT: vand.vx v1, v13, s0 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v9, v9, v1 ; RV32V-NEXT: vand.vx v1, v13, s6 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v9, v9, v1 ; RV32V-NEXT: vand.vx v1, v13, s7 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v9, v9, v1 ; RV32V-NEXT: vand.vx v1, v13, s8 ; RV32V-NEXT: addi a3, sp, 112 ; RV32V-NEXT: vmul.vv v1, v8, v1 ; RV32V-NEXT: vxor.vv v9, v9, v1 ; RV32V-NEXT: vlse64.v v1, (a3), zero ; RV32V-NEXT: addi a3, sp, 104 ; RV32V-NEXT: vand.vv v7, v13, v7 ; RV32V-NEXT: vmul.vv v7, v8, v7 ; RV32V-NEXT: vxor.vv v9, v9, v7 ; RV32V-NEXT: vlse64.v v7, (a3), zero ; RV32V-NEXT: addi a3, sp, 96 ; RV32V-NEXT: vand.vv v31, v13, v31 ; RV32V-NEXT: vmul.vv v31, v8, v31 ; RV32V-NEXT: vxor.vv v9, v9, v31 ; RV32V-NEXT: vlse64.v v31, (a3), zero ; RV32V-NEXT: addi a3, sp, 88 ; RV32V-NEXT: vand.vv v30, v13, v30 ; RV32V-NEXT: vmul.vv v30, v8, v30 ; RV32V-NEXT: vxor.vv v9, v9, v30 ; RV32V-NEXT: vlse64.v v30, (a3), zero ; RV32V-NEXT: addi a3, sp, 80 ; RV32V-NEXT: vand.vv v29, v13, v29 ; RV32V-NEXT: vmul.vv v29, v8, v29 ; RV32V-NEXT: vxor.vv v9, v9, v29 ; RV32V-NEXT: vlse64.v v29, (a3), zero ; RV32V-NEXT: addi a3, sp, 72 ; RV32V-NEXT: vand.vv v26, v13, v26 ; RV32V-NEXT: vmul.vv v26, v8, v26 ; RV32V-NEXT: vxor.vv v9, v9, v26 ; RV32V-NEXT: vlse64.v v26, (a3), zero ; RV32V-NEXT: addi a3, sp, 64 ; RV32V-NEXT: vand.vv v23, v13, v23 ; RV32V-NEXT: vmul.vv v23, v8, v23 ; RV32V-NEXT: vxor.vv v9, v9, v23 ; RV32V-NEXT: vlse64.v v23, (a3), zero ; RV32V-NEXT: addi a3, sp, 56 ; RV32V-NEXT: vand.vv v20, v13, v20 ; RV32V-NEXT: vmul.vv v20, v8, v20 ; RV32V-NEXT: vxor.vv v9, v9, v20 ; RV32V-NEXT: vlse64.v v20, (a3), zero ; RV32V-NEXT: addi a3, sp, 48 ; RV32V-NEXT: vand.vv v17, v13, v17 ; RV32V-NEXT: vmul.vv v17, v8, v17 ; RV32V-NEXT: vxor.vv v9, v9, v17 ; RV32V-NEXT: vlse64.v v17, (a3), zero ; RV32V-NEXT: addi a3, sp, 40 ; RV32V-NEXT: vand.vv v15, v13, v15 ; RV32V-NEXT: vmul.vv v15, v8, v15 ; RV32V-NEXT: vxor.vv v15, v9, v15 ; RV32V-NEXT: vlse64.v v0, (a3), zero ; RV32V-NEXT: addi a3, sp, 32 ; RV32V-NEXT: addi a4, sp, 304 ; RV32V-NEXT: vl1r.v v9, (a4) # vscale x 8-byte Folded Reload ; RV32V-NEXT: vand.vv v9, v13, v9 ; RV32V-NEXT: vand.vv v18, v13, v18 ; RV32V-NEXT: vmul.vv v9, v8, v9 ; RV32V-NEXT: vmul.vv v18, v8, v18 ; RV32V-NEXT: vxor.vv v9, v15, v9 ; RV32V-NEXT: vxor.vv v9, v9, v18 ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: vand.vv v16, v13, v16 ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: vxor.vv v9, v9, v16 ; RV32V-NEXT: vand.vv v16, v13, v19 ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: vxor.vv v9, v9, v16 ; RV32V-NEXT: vand.vv v16, v13, v21 ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: vxor.vv v9, v9, v16 ; RV32V-NEXT: vand.vv v16, v13, v22 ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: vxor.vv v9, v9, v16 ; RV32V-NEXT: vand.vv v16, v13, v24 ; RV32V-NEXT: vand.vv v19, v13, v28 ; RV32V-NEXT: vmul.vv v16, v8, v16 ; RV32V-NEXT: vmul.vv v19, v8, v19 ; RV32V-NEXT: vxor.vv v9, v9, v16 ; RV32V-NEXT: vand.vx v16, v15, a1 ; RV32V-NEXT: vxor.vv v9, v9, v19 ; RV32V-NEXT: vsrl.vi v19, v9, 24 ; RV32V-NEXT: vand.vx v19, v19, a1 ; RV32V-NEXT: vand.vv v21, v13, v25 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v9, v9, v21 ; RV32V-NEXT: vand.vv v21, v13, v27 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v9, v9, v21 ; RV32V-NEXT: vand.vv v21, v13, v6 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v9, v9, v21 ; RV32V-NEXT: vand.vv v21, v13, v5 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v9, v9, v21 ; RV32V-NEXT: vand.vv v21, v13, v4 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v9, v9, v21 ; RV32V-NEXT: vand.vv v21, v13, v1 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v9, v9, v21 ; RV32V-NEXT: vand.vv v21, v13, v7 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vxor.vv v9, v9, v21 ; RV32V-NEXT: vand.vv v21, v13, v31 ; RV32V-NEXT: vmul.vv v21, v8, v21 ; RV32V-NEXT: vand.vx v22, v2, a0 ; RV32V-NEXT: vsll.vx v22, v22, a2 ; RV32V-NEXT: vxor.vv v9, v9, v21 ; RV32V-NEXT: vsrl.vx v21, v9, a2 ; RV32V-NEXT: vand.vx v21, v21, a0 ; RV32V-NEXT: vand.vv v24, v13, v30 ; RV32V-NEXT: vand.vv v25, v13, v29 ; RV32V-NEXT: vand.vv v26, v13, v26 ; RV32V-NEXT: vand.vv v23, v13, v23 ; RV32V-NEXT: vand.vv v20, v13, v20 ; RV32V-NEXT: vand.vv v17, v13, v17 ; RV32V-NEXT: vand.vv v27, v13, v0 ; RV32V-NEXT: vand.vv v13, v13, v18 ; RV32V-NEXT: vmul.vv v18, v8, v24 ; RV32V-NEXT: vmul.vv v24, v8, v25 ; RV32V-NEXT: vmul.vv v25, v8, v26 ; RV32V-NEXT: vmul.vv v23, v8, v23 ; RV32V-NEXT: vmul.vv v20, v8, v20 ; RV32V-NEXT: vmul.vv v17, v8, v17 ; RV32V-NEXT: vmul.vv v26, v8, v27 ; RV32V-NEXT: vmul.vv v8, v8, v13 ; RV32V-NEXT: vxor.vv v13, v9, v18 ; RV32V-NEXT: vxor.vv v13, v13, v24 ; RV32V-NEXT: vxor.vv v13, v13, v25 ; RV32V-NEXT: vxor.vv v13, v13, v23 ; RV32V-NEXT: vxor.vv v13, v13, v20 ; RV32V-NEXT: vxor.vv v13, v13, v17 ; RV32V-NEXT: vxor.vv v13, v13, v26 ; RV32V-NEXT: vxor.vv v8, v13, v8 ; RV32V-NEXT: vsll.vx v13, v3, ra ; RV32V-NEXT: vsrl.vx v8, v8, ra ; RV32V-NEXT: vor.vv v13, v13, v22 ; RV32V-NEXT: vsrl.vi v15, v15, 8 ; RV32V-NEXT: vsll.vi v16, v16, 24 ; RV32V-NEXT: vand.vv v15, v15, v12 ; RV32V-NEXT: vor.vv v15, v15, v19 ; RV32V-NEXT: vand.vv v9, v9, v12 ; RV32V-NEXT: vsll.vi v9, v9, 8 ; RV32V-NEXT: vor.vv v9, v16, v9 ; RV32V-NEXT: vor.vv v9, v13, v9 ; RV32V-NEXT: vor.vv v8, v21, v8 ; RV32V-NEXT: vor.vv v8, v15, v8 ; RV32V-NEXT: vor.vv v8, v9, v8 ; RV32V-NEXT: vsrl.vi v9, v8, 4 ; RV32V-NEXT: vand.vv v8, v8, v14 ; RV32V-NEXT: vand.vv v9, v9, v14 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v9, v8 ; RV32V-NEXT: vsrl.vi v9, v8, 2 ; RV32V-NEXT: vand.vv v8, v8, v10 ; RV32V-NEXT: vand.vv v9, v9, v10 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v9, v8 ; RV32V-NEXT: vsrl.vi v9, v8, 1 ; RV32V-NEXT: vand.vv v8, v8, v11 ; RV32V-NEXT: vand.vv v9, v9, v11 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v9, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: lw ra, 364(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s0, 360(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s1, 356(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s2, 352(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s3, 348(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s4, 344(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s5, 340(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s6, 336(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s7, 332(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s8, 328(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s9, 324(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s10, 320(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s11, 316(sp) # 4-byte Folded Reload ; RV32V-NEXT: addi sp, sp, 368 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv1i64_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: li a1, 56 ; RV64V-NEXT: lui t2, 16 ; RV64V-NEXT: lui a2, 4080 ; RV64V-NEXT: li t0, 255 ; RV64V-NEXT: lui a3, 61681 ; RV64V-NEXT: lui a4, 209715 ; RV64V-NEXT: lui a5, 349525 ; RV64V-NEXT: srli a6, a0, 24 ; RV64V-NEXT: srli a7, a0, 8 ; RV64V-NEXT: srli t1, a0, 40 ; RV64V-NEXT: srli t3, a0, 56 ; RV64V-NEXT: addi a3, a3, -241 ; RV64V-NEXT: addi a4, a4, 819 ; RV64V-NEXT: addi t4, a5, 1365 ; RV64V-NEXT: slli a5, a3, 32 ; RV64V-NEXT: add a5, a3, a5 ; RV64V-NEXT: slli a3, a4, 32 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, t4, 32 ; RV64V-NEXT: add a3, t4, a3 ; RV64V-NEXT: srliw t4, a0, 24 ; RV64V-NEXT: slli t0, t0, 24 ; RV64V-NEXT: and a6, a6, a2 ; RV64V-NEXT: and a7, a7, t0 ; RV64V-NEXT: or t5, a7, a6 ; RV64V-NEXT: addi a6, t2, -256 ; RV64V-NEXT: and a7, t1, a6 ; RV64V-NEXT: or t1, a7, t3 ; RV64V-NEXT: and a7, a0, a2 ; RV64V-NEXT: slli t4, t4, 32 ; RV64V-NEXT: slli a7, a7, 24 ; RV64V-NEXT: or t3, a7, t4 ; RV64V-NEXT: li a7, 40 ; RV64V-NEXT: vsetvli t4, zero, e64, m1, ta, ma ; RV64V-NEXT: vsrl.vi v10, v8, 24 ; RV64V-NEXT: vsrl.vi v9, v8, 8 ; RV64V-NEXT: or t1, t5, t1 ; RV64V-NEXT: slli t4, a0, 56 ; RV64V-NEXT: and a0, a0, a6 ; RV64V-NEXT: slli a0, a0, 40 ; RV64V-NEXT: or t4, t4, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: or t4, t4, t3 ; RV64V-NEXT: lui t3, 1 ; RV64V-NEXT: vsrl.vx v11, v8, a1 ; RV64V-NEXT: vsrl.vx v12, v8, a7 ; RV64V-NEXT: vand.vx v10, v10, a2 ; RV64V-NEXT: vand.vx v13, v8, a2 ; RV64V-NEXT: vsll.vx v14, v8, a1 ; RV64V-NEXT: vand.vx v12, v12, a6 ; RV64V-NEXT: vand.vx v9, v9, t0 ; RV64V-NEXT: vsll.vi v13, v13, 24 ; RV64V-NEXT: vor.vv v11, v12, v11 ; RV64V-NEXT: vand.vx v12, v8, t0 ; RV64V-NEXT: vand.vx v8, v8, a6 ; RV64V-NEXT: vor.vv v9, v9, v10 ; RV64V-NEXT: vsll.vi v10, v12, 8 ; RV64V-NEXT: vsll.vx v8, v8, a7 ; RV64V-NEXT: vor.vv v9, v9, v11 ; RV64V-NEXT: vor.vv v10, v13, v10 ; RV64V-NEXT: vor.vv v8, v14, v8 ; RV64V-NEXT: vor.vv v8, v8, v10 ; RV64V-NEXT: vor.vv v8, v8, v9 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v9, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a5 ; RV64V-NEXT: srli t4, t1, 4 ; RV64V-NEXT: and t1, t1, a5 ; RV64V-NEXT: vand.vx v9, v9, a5 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: and t4, t4, a5 ; RV64V-NEXT: slli t1, t1, 4 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v9, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a4 ; RV64V-NEXT: srli t4, t1, 2 ; RV64V-NEXT: and t1, t1, a4 ; RV64V-NEXT: vand.vx v9, v9, a4 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: and t4, t4, a4 ; RV64V-NEXT: slli t1, t1, 2 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v9, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: srli t4, t1, 1 ; RV64V-NEXT: and t1, t1, a3 ; RV64V-NEXT: vand.vx v9, v9, a3 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: and t4, t4, a3 ; RV64V-NEXT: slli t1, t1, 1 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: andi t4, t1, 2 ; RV64V-NEXT: vmul.vx v9, v8, t4 ; RV64V-NEXT: andi t4, t1, 1 ; RV64V-NEXT: vmul.vx v10, v8, t4 ; RV64V-NEXT: andi t4, t1, 4 ; RV64V-NEXT: vmul.vx v11, v8, t4 ; RV64V-NEXT: andi t4, t1, 8 ; RV64V-NEXT: vmul.vx v12, v8, t4 ; RV64V-NEXT: andi t4, t1, 16 ; RV64V-NEXT: vmul.vx v13, v8, t4 ; RV64V-NEXT: andi t4, t1, 32 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: andi t4, t1, 64 ; RV64V-NEXT: vxor.vv v9, v10, v9 ; RV64V-NEXT: vmul.vx v10, v8, t4 ; RV64V-NEXT: andi t4, t1, 128 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vmul.vx v11, v8, t4 ; RV64V-NEXT: andi t4, t1, 256 ; RV64V-NEXT: vxor.vv v9, v9, v12 ; RV64V-NEXT: vmul.vx v12, v8, t4 ; RV64V-NEXT: andi t4, t1, 512 ; RV64V-NEXT: vxor.vv v9, v9, v13 ; RV64V-NEXT: vmul.vx v13, v8, t4 ; RV64V-NEXT: andi t4, t1, 1024 ; RV64V-NEXT: vxor.vv v9, v9, v14 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: slli t4, a0, 11 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: vmul.vx v10, v8, t4 ; RV64V-NEXT: lui t4, 2 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v9, v9, v11 ; RV64V-NEXT: vmul.vx v11, v8, t3 ; RV64V-NEXT: lui t3, 4 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v9, v12 ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: vmul.vx v13, v8, t4 ; RV64V-NEXT: lui t4, 8 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v8, t3 ; RV64V-NEXT: lui t3, 32 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v10, v12, v10 ; RV64V-NEXT: vmul.vx v12, v8, t4 ; RV64V-NEXT: lui t4, 64 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vmul.vx v11, v8, t2 ; RV64V-NEXT: lui t2, 128 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v10, v10, v13 ; RV64V-NEXT: vmul.vx v13, v8, t3 ; RV64V-NEXT: lui t3, 256 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v10, v10, v14 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: lui t4, 512 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v10, v10, v12 ; RV64V-NEXT: vmul.vx v12, v8, t2 ; RV64V-NEXT: lui t2, 1024 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vmul.vx v11, v8, t3 ; RV64V-NEXT: lui t3, 2048 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v10, v10, v13 ; RV64V-NEXT: vmul.vx v13, v8, t4 ; RV64V-NEXT: lui t4, 4096 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v10, v10, v14 ; RV64V-NEXT: vmul.vx v14, v8, t2 ; RV64V-NEXT: lui t2, 8192 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v10, v10, v12 ; RV64V-NEXT: vmul.vx v12, v8, t3 ; RV64V-NEXT: lui t3, 16384 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vmul.vx v11, v8, t4 ; RV64V-NEXT: lui t4, 32768 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v10, v10, v13 ; RV64V-NEXT: vmul.vx v13, v8, t2 ; RV64V-NEXT: lui t2, 65536 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v10, v10, v14 ; RV64V-NEXT: vmul.vx v14, v8, t3 ; RV64V-NEXT: lui t3, 131072 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v10, v10, v12 ; RV64V-NEXT: vmul.vx v12, v8, t4 ; RV64V-NEXT: lui t4, 262144 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v11, v10, v11 ; RV64V-NEXT: vxor.vv v11, v11, v13 ; RV64V-NEXT: vmul.vx v13, v8, t2 ; RV64V-NEXT: slli t2, a0, 32 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vsll.vx v9, v9, a1 ; RV64V-NEXT: vand.vx v10, v10, a6 ; RV64V-NEXT: vsll.vx v10, v10, a7 ; RV64V-NEXT: vor.vv v9, v9, v10 ; RV64V-NEXT: vmul.vx v10, v8, t3 ; RV64V-NEXT: slli t3, a0, 33 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v11, v11, v14 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: slli t4, a0, 34 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: vmul.vx v12, v8, t2 ; RV64V-NEXT: slli t2, a0, 35 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v11, v11, v13 ; RV64V-NEXT: vmul.vx v13, v8, t3 ; RV64V-NEXT: slli t3, a0, 36 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v10, v11, v10 ; RV64V-NEXT: vmul.vx v11, v8, t4 ; RV64V-NEXT: srliw t4, t1, 31 ; RV64V-NEXT: slli t4, t4, 31 ; RV64V-NEXT: vxor.vv v10, v10, v14 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: slli t4, a0, 37 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v10, v10, v14 ; RV64V-NEXT: vmul.vx v14, v8, t2 ; RV64V-NEXT: slli t2, a0, 38 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v10, v10, v12 ; RV64V-NEXT: vmul.vx v12, v8, t3 ; RV64V-NEXT: slli t3, a0, 39 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v10, v10, v13 ; RV64V-NEXT: vmul.vx v13, v8, t4 ; RV64V-NEXT: slli t4, a0, 40 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vmul.vx v11, v8, t2 ; RV64V-NEXT: slli t2, a0, 41 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v10, v10, v14 ; RV64V-NEXT: vmul.vx v14, v8, t3 ; RV64V-NEXT: slli t3, a0, 42 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v10, v10, v12 ; RV64V-NEXT: vmul.vx v12, v8, t4 ; RV64V-NEXT: slli t4, a0, 43 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v10, v10, v13 ; RV64V-NEXT: vmul.vx v13, v8, t2 ; RV64V-NEXT: slli t2, a0, 44 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vmul.vx v11, v8, t3 ; RV64V-NEXT: slli t3, a0, 45 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v10, v10, v14 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: slli t4, a0, 46 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v10, v12 ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: vmul.vx v13, v8, t2 ; RV64V-NEXT: slli t2, a0, 47 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v11, v12, v11 ; RV64V-NEXT: vmul.vx v12, v8, t3 ; RV64V-NEXT: slli t3, a0, 48 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v11, v11, v14 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: slli t4, a0, 49 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v11, v11, v13 ; RV64V-NEXT: vmul.vx v13, v8, t2 ; RV64V-NEXT: slli t2, a0, 50 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: vmul.vx v12, v8, t3 ; RV64V-NEXT: slli t3, a0, 51 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v11, v11, v14 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: slli t4, a0, 52 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v11, v11, v13 ; RV64V-NEXT: vmul.vx v13, v8, t2 ; RV64V-NEXT: slli t2, a0, 53 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v11, v12 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v8, t3 ; RV64V-NEXT: slli t3, a0, 54 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: vsrl.vi v13, v10, 8 ; RV64V-NEXT: vand.vx v13, v13, t0 ; RV64V-NEXT: vsrl.vi v11, v11, 24 ; RV64V-NEXT: vand.vx v11, v11, a2 ; RV64V-NEXT: vor.vv v11, v13, v11 ; RV64V-NEXT: vmul.vx v13, v8, t4 ; RV64V-NEXT: slli t4, a0, 55 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v8, t2 ; RV64V-NEXT: slli t2, a0, 56 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: vmul.vx v13, v8, t3 ; RV64V-NEXT: slli t3, a0, 57 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: slli t4, a0, 58 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: vmul.vx v13, v8, t2 ; RV64V-NEXT: slli t2, a0, 59 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v8, t3 ; RV64V-NEXT: slli t3, a0, 60 ; RV64V-NEXT: vand.vx v10, v10, a2 ; RV64V-NEXT: slli a2, a0, 61 ; RV64V-NEXT: slli a0, a0, 62 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: and a2, t1, a2 ; RV64V-NEXT: and a0, t1, a0 ; RV64V-NEXT: srli t1, t1, 63 ; RV64V-NEXT: vsll.vi v10, v10, 24 ; RV64V-NEXT: vxor.vv v13, v12, v13 ; RV64V-NEXT: vxor.vv v13, v13, v14 ; RV64V-NEXT: vand.vx v14, v12, t0 ; RV64V-NEXT: vsll.vi v14, v14, 8 ; RV64V-NEXT: vor.vv v10, v10, v14 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: vxor.vv v13, v13, v14 ; RV64V-NEXT: vmul.vx v14, v8, t2 ; RV64V-NEXT: vor.vv v9, v9, v10 ; RV64V-NEXT: vmul.vx v10, v8, t3 ; RV64V-NEXT: vxor.vv v13, v13, v14 ; RV64V-NEXT: vmul.vx v14, v8, a2 ; RV64V-NEXT: vxor.vv v10, v13, v10 ; RV64V-NEXT: vmul.vx v13, v8, a0 ; RV64V-NEXT: slli t1, t1, 63 ; RV64V-NEXT: vmul.vx v8, v8, t1 ; RV64V-NEXT: vsrl.vx v12, v12, a7 ; RV64V-NEXT: vand.vx v12, v12, a6 ; RV64V-NEXT: vxor.vv v10, v10, v14 ; RV64V-NEXT: vxor.vv v10, v10, v13 ; RV64V-NEXT: vxor.vv v8, v10, v8 ; RV64V-NEXT: vsrl.vx v8, v8, a1 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vor.vv v8, v11, v8 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a5 ; RV64V-NEXT: vand.vx v9, v9, a5 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a4 ; RV64V-NEXT: vand.vx v9, v9, a4 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: vand.vx v9, v9, a3 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv1i64_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: addi sp, sp, -16 ; RV32ZVBC64-NEXT: sw a0, 8(sp) ; RV32ZVBC64-NEXT: sw a1, 12(sp) ; RV32ZVBC64-NEXT: addi a0, sp, 8 ; RV32ZVBC64-NEXT: vsetvli a1, zero, e64, m1, ta, ma ; RV32ZVBC64-NEXT: vlse64.v v9, (a0), zero ; RV32ZVBC64-NEXT: vclmulh.vv v8, v8, v9 ; RV32ZVBC64-NEXT: addi sp, sp, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv1i64_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e64, m1, ta, ma ; RV64ZVBC64-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv1i64_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: addi sp, sp, -368 ; RV32ZVBC32-NEXT: sw ra, 364(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s0, 360(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s1, 356(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s2, 352(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s3, 348(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s4, 344(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s5, 340(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s6, 336(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s7, 332(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s8, 328(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s9, 324(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s10, 320(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s11, 316(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a2, vlenb ; RV32ZVBC32-NEXT: sub sp, sp, a2 ; RV32ZVBC32-NEXT: vsetvli a2, zero, e64, m1, ta, ma ; RV32ZVBC32-NEXT: vmv1r.v v9, v8 ; RV32ZVBC32-NEXT: sw a0, 16(sp) ; RV32ZVBC32-NEXT: sw a1, 20(sp) ; RV32ZVBC32-NEXT: addi t6, sp, 16 ; RV32ZVBC32-NEXT: lui s0, 1044480 ; RV32ZVBC32-NEXT: lui a4, 524288 ; RV32ZVBC32-NEXT: li s11, 1 ; RV32ZVBC32-NEXT: li s6, 2 ; RV32ZVBC32-NEXT: li s7, 4 ; RV32ZVBC32-NEXT: li s8, 8 ; RV32ZVBC32-NEXT: li s10, 16 ; RV32ZVBC32-NEXT: li s9, 32 ; RV32ZVBC32-NEXT: li s1, 64 ; RV32ZVBC32-NEXT: li s2, 128 ; RV32ZVBC32-NEXT: li s3, 256 ; RV32ZVBC32-NEXT: li s4, 512 ; RV32ZVBC32-NEXT: li s5, 1024 ; RV32ZVBC32-NEXT: lui a3, 1 ; RV32ZVBC32-NEXT: lui ra, 2 ; RV32ZVBC32-NEXT: lui a0, 4 ; RV32ZVBC32-NEXT: lui a1, 8 ; RV32ZVBC32-NEXT: lui a5, 16 ; RV32ZVBC32-NEXT: lui a2, 32 ; RV32ZVBC32-NEXT: lui a6, 64 ; RV32ZVBC32-NEXT: lui a7, 128 ; RV32ZVBC32-NEXT: lui t0, 256 ; RV32ZVBC32-NEXT: lui t1, 512 ; RV32ZVBC32-NEXT: lui t2, 1024 ; RV32ZVBC32-NEXT: lui t3, 2048 ; RV32ZVBC32-NEXT: lui t4, 4096 ; RV32ZVBC32-NEXT: lui t5, 8192 ; RV32ZVBC32-NEXT: vlse64.v v13, (t6), zero ; RV32ZVBC32-NEXT: lui t6, 16384 ; RV32ZVBC32-NEXT: sw s0, 264(sp) ; RV32ZVBC32-NEXT: lui s0, 32768 ; RV32ZVBC32-NEXT: sw zero, 268(sp) ; RV32ZVBC32-NEXT: sw a4, 24(sp) ; RV32ZVBC32-NEXT: sw zero, 28(sp) ; RV32ZVBC32-NEXT: sw zero, 288(sp) ; RV32ZVBC32-NEXT: sw s11, 292(sp) ; RV32ZVBC32-NEXT: sw zero, 272(sp) ; RV32ZVBC32-NEXT: sw s6, 276(sp) ; RV32ZVBC32-NEXT: lui s6, 65536 ; RV32ZVBC32-NEXT: sw zero, 280(sp) ; RV32ZVBC32-NEXT: sw s7, 284(sp) ; RV32ZVBC32-NEXT: lui s7, 131072 ; RV32ZVBC32-NEXT: sw zero, 256(sp) ; RV32ZVBC32-NEXT: sw s8, 260(sp) ; RV32ZVBC32-NEXT: lui s8, 262144 ; RV32ZVBC32-NEXT: sw zero, 248(sp) ; RV32ZVBC32-NEXT: sw s10, 252(sp) ; RV32ZVBC32-NEXT: sw zero, 240(sp) ; RV32ZVBC32-NEXT: sw s9, 244(sp) ; RV32ZVBC32-NEXT: sw zero, 232(sp) ; RV32ZVBC32-NEXT: sw s1, 236(sp) ; RV32ZVBC32-NEXT: sw zero, 224(sp) ; RV32ZVBC32-NEXT: sw s2, 228(sp) ; RV32ZVBC32-NEXT: sw zero, 216(sp) ; RV32ZVBC32-NEXT: sw s3, 220(sp) ; RV32ZVBC32-NEXT: sw zero, 208(sp) ; RV32ZVBC32-NEXT: sw s4, 212(sp) ; RV32ZVBC32-NEXT: sw zero, 200(sp) ; RV32ZVBC32-NEXT: sw s5, 204(sp) ; RV32ZVBC32-NEXT: slli s11, s11, 11 ; RV32ZVBC32-NEXT: sw zero, 192(sp) ; RV32ZVBC32-NEXT: sw s11, 196(sp) ; RV32ZVBC32-NEXT: sw zero, 184(sp) ; RV32ZVBC32-NEXT: sw a3, 188(sp) ; RV32ZVBC32-NEXT: sw zero, 176(sp) ; RV32ZVBC32-NEXT: sw ra, 180(sp) ; RV32ZVBC32-NEXT: sw zero, 168(sp) ; RV32ZVBC32-NEXT: sw a0, 172(sp) ; RV32ZVBC32-NEXT: sw zero, 160(sp) ; RV32ZVBC32-NEXT: sw a1, 164(sp) ; RV32ZVBC32-NEXT: sw zero, 152(sp) ; RV32ZVBC32-NEXT: sw a5, 156(sp) ; RV32ZVBC32-NEXT: sw zero, 144(sp) ; RV32ZVBC32-NEXT: sw a2, 148(sp) ; RV32ZVBC32-NEXT: sw zero, 136(sp) ; RV32ZVBC32-NEXT: sw a6, 140(sp) ; RV32ZVBC32-NEXT: sw zero, 128(sp) ; RV32ZVBC32-NEXT: sw a7, 132(sp) ; RV32ZVBC32-NEXT: sw zero, 120(sp) ; RV32ZVBC32-NEXT: sw t0, 124(sp) ; RV32ZVBC32-NEXT: sw zero, 112(sp) ; RV32ZVBC32-NEXT: sw t1, 116(sp) ; RV32ZVBC32-NEXT: sw zero, 104(sp) ; RV32ZVBC32-NEXT: sw t2, 108(sp) ; RV32ZVBC32-NEXT: sw zero, 96(sp) ; RV32ZVBC32-NEXT: sw t3, 100(sp) ; RV32ZVBC32-NEXT: sw zero, 88(sp) ; RV32ZVBC32-NEXT: sw t4, 92(sp) ; RV32ZVBC32-NEXT: sw zero, 80(sp) ; RV32ZVBC32-NEXT: sw t5, 84(sp) ; RV32ZVBC32-NEXT: sw zero, 72(sp) ; RV32ZVBC32-NEXT: sw t6, 76(sp) ; RV32ZVBC32-NEXT: sw zero, 64(sp) ; RV32ZVBC32-NEXT: sw s0, 68(sp) ; RV32ZVBC32-NEXT: sw zero, 56(sp) ; RV32ZVBC32-NEXT: sw s6, 60(sp) ; RV32ZVBC32-NEXT: sw zero, 48(sp) ; RV32ZVBC32-NEXT: sw s7, 52(sp) ; RV32ZVBC32-NEXT: sw zero, 40(sp) ; RV32ZVBC32-NEXT: sw s8, 44(sp) ; RV32ZVBC32-NEXT: sw zero, 32(sp) ; RV32ZVBC32-NEXT: sw a4, 36(sp) ; RV32ZVBC32-NEXT: lui a0, 61681 ; RV32ZVBC32-NEXT: addi a0, a0, -241 ; RV32ZVBC32-NEXT: vsetvli a1, zero, e32, m1, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v14, a0 ; RV32ZVBC32-NEXT: lui a0, 209715 ; RV32ZVBC32-NEXT: addi a0, a0, 819 ; RV32ZVBC32-NEXT: vmv.v.x v10, a0 ; RV32ZVBC32-NEXT: lui a0, 349525 ; RV32ZVBC32-NEXT: addi a0, a0, 1365 ; RV32ZVBC32-NEXT: vmv.v.x v11, a0 ; RV32ZVBC32-NEXT: addi a0, sp, 264 ; RV32ZVBC32-NEXT: vsetvli a1, zero, e64, m1, ta, ma ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 24 ; RV32ZVBC32-NEXT: vlse64.v v7, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 288 ; RV32ZVBC32-NEXT: vlse64.v v31, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 272 ; RV32ZVBC32-NEXT: vlse64.v v30, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 280 ; RV32ZVBC32-NEXT: vlse64.v v29, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 256 ; RV32ZVBC32-NEXT: vlse64.v v26, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 248 ; RV32ZVBC32-NEXT: vlse64.v v23, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 240 ; RV32ZVBC32-NEXT: vlse64.v v20, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 232 ; RV32ZVBC32-NEXT: vlse64.v v17, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 224 ; RV32ZVBC32-NEXT: vlse64.v v15, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 216 ; RV32ZVBC32-NEXT: vlse64.v v8, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 304 ; RV32ZVBC32-NEXT: vs1r.v v8, (a0) # vscale x 8-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 208 ; RV32ZVBC32-NEXT: vlse64.v v18, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 200 ; RV32ZVBC32-NEXT: vlse64.v v16, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 192 ; RV32ZVBC32-NEXT: vlse64.v v19, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 184 ; RV32ZVBC32-NEXT: vlse64.v v21, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 176 ; RV32ZVBC32-NEXT: vlse64.v v22, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 168 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 160 ; RV32ZVBC32-NEXT: vlse64.v v28, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 152 ; RV32ZVBC32-NEXT: vlse64.v v25, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 144 ; RV32ZVBC32-NEXT: vlse64.v v27, (a0), zero ; RV32ZVBC32-NEXT: li ra, 56 ; RV32ZVBC32-NEXT: vsrl.vi v6, v9, 24 ; RV32ZVBC32-NEXT: vsrl.vi v5, v9, 8 ; RV32ZVBC32-NEXT: vsrl.vx v4, v9, ra ; RV32ZVBC32-NEXT: li a2, 40 ; RV32ZVBC32-NEXT: vsrl.vx v3, v9, a2 ; RV32ZVBC32-NEXT: lui a1, 4080 ; RV32ZVBC32-NEXT: vand.vx v6, v6, a1 ; RV32ZVBC32-NEXT: vsll.vx v2, v9, ra ; RV32ZVBC32-NEXT: addi a0, a5, -256 ; RV32ZVBC32-NEXT: vand.vx v3, v3, a0 ; RV32ZVBC32-NEXT: vand.vx v1, v9, a0 ; RV32ZVBC32-NEXT: vor.vv v3, v3, v4 ; RV32ZVBC32-NEXT: vsll.vx v4, v1, a2 ; RV32ZVBC32-NEXT: vor.vv v2, v2, v4 ; RV32ZVBC32-NEXT: vsrl.vx v4, v13, ra ; RV32ZVBC32-NEXT: vsrl.vx v1, v13, a2 ; RV32ZVBC32-NEXT: vsll.vx v0, v13, ra ; RV32ZVBC32-NEXT: vand.vx v1, v1, a0 ; RV32ZVBC32-NEXT: vor.vv v4, v1, v4 ; RV32ZVBC32-NEXT: vand.vx v1, v13, a0 ; RV32ZVBC32-NEXT: vsll.vx v1, v1, a2 ; RV32ZVBC32-NEXT: vor.vv v1, v0, v1 ; RV32ZVBC32-NEXT: vsrl.vi v0, v13, 24 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v12 ; RV32ZVBC32-NEXT: vor.vv v8, v5, v6 ; RV32ZVBC32-NEXT: vsrl.vi v6, v13, 8 ; RV32ZVBC32-NEXT: vand.vx v5, v0, a1 ; RV32ZVBC32-NEXT: vand.vv v6, v6, v12 ; RV32ZVBC32-NEXT: vor.vv v5, v6, v5 ; RV32ZVBC32-NEXT: addi a3, sp, 136 ; RV32ZVBC32-NEXT: vlse64.v v6, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v0, v5, v4 ; RV32ZVBC32-NEXT: vand.vx v5, v13, a1 ; RV32ZVBC32-NEXT: vsll.vi v5, v5, 24 ; RV32ZVBC32-NEXT: vand.vv v13, v13, v12 ; RV32ZVBC32-NEXT: vsll.vi v13, v13, 8 ; RV32ZVBC32-NEXT: vor.vv v13, v5, v13 ; RV32ZVBC32-NEXT: addi a3, sp, 128 ; RV32ZVBC32-NEXT: vlse64.v v5, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v13, v1, v13 ; RV32ZVBC32-NEXT: addi a3, sp, 120 ; RV32ZVBC32-NEXT: vlse64.v v4, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v13, v13, v0 ; RV32ZVBC32-NEXT: vsrl.vi v1, v13, 4 ; RV32ZVBC32-NEXT: vand.vv v13, v13, v14 ; RV32ZVBC32-NEXT: vand.vv v1, v1, v14 ; RV32ZVBC32-NEXT: vsll.vi v13, v13, 4 ; RV32ZVBC32-NEXT: vor.vv v13, v1, v13 ; RV32ZVBC32-NEXT: vsrl.vi v1, v13, 2 ; RV32ZVBC32-NEXT: vand.vv v13, v13, v10 ; RV32ZVBC32-NEXT: vand.vv v1, v1, v10 ; RV32ZVBC32-NEXT: vsll.vi v13, v13, 2 ; RV32ZVBC32-NEXT: vor.vv v13, v1, v13 ; RV32ZVBC32-NEXT: vsrl.vi v1, v13, 1 ; RV32ZVBC32-NEXT: vand.vv v13, v13, v11 ; RV32ZVBC32-NEXT: vand.vv v1, v1, v11 ; RV32ZVBC32-NEXT: vadd.vv v13, v13, v13 ; RV32ZVBC32-NEXT: vor.vv v13, v1, v13 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s10 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v3 ; RV32ZVBC32-NEXT: vand.vx v3, v9, a1 ; RV32ZVBC32-NEXT: vsll.vi v3, v3, 24 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v12 ; RV32ZVBC32-NEXT: vsll.vi v9, v9, 8 ; RV32ZVBC32-NEXT: vor.vv v9, v3, v9 ; RV32ZVBC32-NEXT: vand.vx v3, v13, s9 ; RV32ZVBC32-NEXT: vor.vv v9, v2, v9 ; RV32ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vsrl.vi v9, v8, 4 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v14 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v14 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vsrl.vi v9, v8, 2 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v10 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v10 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vsrl.vi v9, v8, 1 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v11 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v11 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vand.vi v9, v13, 2 ; RV32ZVBC32-NEXT: vand.vi v2, v13, 1 ; RV32ZVBC32-NEXT: vmul.vv v9, v8, v9 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v9, v2, v9 ; RV32ZVBC32-NEXT: vand.vi v2, v13, 4 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v2 ; RV32ZVBC32-NEXT: vand.vi v2, v13, 8 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, s1 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s2 ; RV32ZVBC32-NEXT: vmul.vv v3, v8, v3 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v3 ; RV32ZVBC32-NEXT: vand.vx v0, v13, s3 ; RV32ZVBC32-NEXT: vmul.vv v3, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v3 ; RV32ZVBC32-NEXT: vand.vx v2, v13, s4 ; RV32ZVBC32-NEXT: vmul.vv v3, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v9, v3 ; RV32ZVBC32-NEXT: vand.vx v9, v13, s5 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v0 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v1, v3, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v1, v2 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s11 ; RV32ZVBC32-NEXT: vmul.vv v9, v8, v9 ; RV32ZVBC32-NEXT: vxor.vv v9, v2, v9 ; RV32ZVBC32-NEXT: lui a3, 1 ; RV32ZVBC32-NEXT: vand.vx v2, v13, a3 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: lui a3, 2 ; RV32ZVBC32-NEXT: vand.vx v1, v13, a3 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v2 ; RV32ZVBC32-NEXT: lui a3, 4 ; RV32ZVBC32-NEXT: vand.vx v2, v13, a3 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: lui a3, 8 ; RV32ZVBC32-NEXT: vand.vx v1, v13, a3 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, a5 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: lui a3, 32 ; RV32ZVBC32-NEXT: vand.vx v1, v13, a3 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, a6 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, a7 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, t0 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, t1 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, t2 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, t3 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v2 ; RV32ZVBC32-NEXT: vand.vx v0, v13, t4 ; RV32ZVBC32-NEXT: vmul.vv v2, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v9, v2 ; RV32ZVBC32-NEXT: vand.vx v9, v13, t5 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v0 ; RV32ZVBC32-NEXT: vmul.vv v9, v8, v9 ; RV32ZVBC32-NEXT: vxor.vv v1, v2, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v1, v9 ; RV32ZVBC32-NEXT: vand.vx v1, v13, t6 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s0 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s6 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s7 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s8 ; RV32ZVBC32-NEXT: addi a3, sp, 112 ; RV32ZVBC32-NEXT: vmul.vv v1, v8, v1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v1 ; RV32ZVBC32-NEXT: vlse64.v v1, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 104 ; RV32ZVBC32-NEXT: vand.vv v7, v13, v7 ; RV32ZVBC32-NEXT: vmul.vv v7, v8, v7 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v7 ; RV32ZVBC32-NEXT: vlse64.v v7, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 96 ; RV32ZVBC32-NEXT: vand.vv v31, v13, v31 ; RV32ZVBC32-NEXT: vmul.vv v31, v8, v31 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v31 ; RV32ZVBC32-NEXT: vlse64.v v31, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 88 ; RV32ZVBC32-NEXT: vand.vv v30, v13, v30 ; RV32ZVBC32-NEXT: vmul.vv v30, v8, v30 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v30 ; RV32ZVBC32-NEXT: vlse64.v v30, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 80 ; RV32ZVBC32-NEXT: vand.vv v29, v13, v29 ; RV32ZVBC32-NEXT: vmul.vv v29, v8, v29 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v29 ; RV32ZVBC32-NEXT: vlse64.v v29, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 72 ; RV32ZVBC32-NEXT: vand.vv v26, v13, v26 ; RV32ZVBC32-NEXT: vmul.vv v26, v8, v26 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v26 ; RV32ZVBC32-NEXT: vlse64.v v26, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 64 ; RV32ZVBC32-NEXT: vand.vv v23, v13, v23 ; RV32ZVBC32-NEXT: vmul.vv v23, v8, v23 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v23 ; RV32ZVBC32-NEXT: vlse64.v v23, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 56 ; RV32ZVBC32-NEXT: vand.vv v20, v13, v20 ; RV32ZVBC32-NEXT: vmul.vv v20, v8, v20 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v20 ; RV32ZVBC32-NEXT: vlse64.v v20, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 48 ; RV32ZVBC32-NEXT: vand.vv v17, v13, v17 ; RV32ZVBC32-NEXT: vmul.vv v17, v8, v17 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v17 ; RV32ZVBC32-NEXT: vlse64.v v17, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 40 ; RV32ZVBC32-NEXT: vand.vv v15, v13, v15 ; RV32ZVBC32-NEXT: vmul.vv v15, v8, v15 ; RV32ZVBC32-NEXT: vxor.vv v15, v9, v15 ; RV32ZVBC32-NEXT: vlse64.v v0, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 32 ; RV32ZVBC32-NEXT: addi a4, sp, 304 ; RV32ZVBC32-NEXT: vl1r.v v9, (a4) # vscale x 8-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v9, v13, v9 ; RV32ZVBC32-NEXT: vand.vv v18, v13, v18 ; RV32ZVBC32-NEXT: vmul.vv v9, v8, v9 ; RV32ZVBC32-NEXT: vmul.vv v18, v8, v18 ; RV32ZVBC32-NEXT: vxor.vv v9, v15, v9 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v18 ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v16, v13, v16 ; RV32ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v16 ; RV32ZVBC32-NEXT: vand.vv v16, v13, v19 ; RV32ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v16 ; RV32ZVBC32-NEXT: vand.vv v16, v13, v21 ; RV32ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v16 ; RV32ZVBC32-NEXT: vand.vv v16, v13, v22 ; RV32ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v16 ; RV32ZVBC32-NEXT: vand.vv v16, v13, v24 ; RV32ZVBC32-NEXT: vand.vv v19, v13, v28 ; RV32ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV32ZVBC32-NEXT: vmul.vv v19, v8, v19 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v16 ; RV32ZVBC32-NEXT: vand.vx v16, v15, a1 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v19 ; RV32ZVBC32-NEXT: vsrl.vi v19, v9, 24 ; RV32ZVBC32-NEXT: vand.vx v19, v19, a1 ; RV32ZVBC32-NEXT: vand.vv v21, v13, v25 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v13, v27 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v13, v6 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v13, v5 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v13, v4 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v13, v1 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v13, v7 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v21 ; RV32ZVBC32-NEXT: vand.vv v21, v13, v31 ; RV32ZVBC32-NEXT: vmul.vv v21, v8, v21 ; RV32ZVBC32-NEXT: vand.vx v22, v2, a0 ; RV32ZVBC32-NEXT: vsll.vx v22, v22, a2 ; RV32ZVBC32-NEXT: vxor.vv v9, v9, v21 ; RV32ZVBC32-NEXT: vsrl.vx v21, v9, a2 ; RV32ZVBC32-NEXT: vand.vx v21, v21, a0 ; RV32ZVBC32-NEXT: vand.vv v24, v13, v30 ; RV32ZVBC32-NEXT: vand.vv v25, v13, v29 ; RV32ZVBC32-NEXT: vand.vv v26, v13, v26 ; RV32ZVBC32-NEXT: vand.vv v23, v13, v23 ; RV32ZVBC32-NEXT: vand.vv v20, v13, v20 ; RV32ZVBC32-NEXT: vand.vv v17, v13, v17 ; RV32ZVBC32-NEXT: vand.vv v27, v13, v0 ; RV32ZVBC32-NEXT: vand.vv v13, v13, v18 ; RV32ZVBC32-NEXT: vmul.vv v18, v8, v24 ; RV32ZVBC32-NEXT: vmul.vv v24, v8, v25 ; RV32ZVBC32-NEXT: vmul.vv v25, v8, v26 ; RV32ZVBC32-NEXT: vmul.vv v23, v8, v23 ; RV32ZVBC32-NEXT: vmul.vv v20, v8, v20 ; RV32ZVBC32-NEXT: vmul.vv v17, v8, v17 ; RV32ZVBC32-NEXT: vmul.vv v26, v8, v27 ; RV32ZVBC32-NEXT: vmul.vv v8, v8, v13 ; RV32ZVBC32-NEXT: vxor.vv v13, v9, v18 ; RV32ZVBC32-NEXT: vxor.vv v13, v13, v24 ; RV32ZVBC32-NEXT: vxor.vv v13, v13, v25 ; RV32ZVBC32-NEXT: vxor.vv v13, v13, v23 ; RV32ZVBC32-NEXT: vxor.vv v13, v13, v20 ; RV32ZVBC32-NEXT: vxor.vv v13, v13, v17 ; RV32ZVBC32-NEXT: vxor.vv v13, v13, v26 ; RV32ZVBC32-NEXT: vxor.vv v8, v13, v8 ; RV32ZVBC32-NEXT: vsll.vx v13, v3, ra ; RV32ZVBC32-NEXT: vsrl.vx v8, v8, ra ; RV32ZVBC32-NEXT: vor.vv v13, v13, v22 ; RV32ZVBC32-NEXT: vsrl.vi v15, v15, 8 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 24 ; RV32ZVBC32-NEXT: vand.vv v15, v15, v12 ; RV32ZVBC32-NEXT: vor.vv v15, v15, v19 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v12 ; RV32ZVBC32-NEXT: vsll.vi v9, v9, 8 ; RV32ZVBC32-NEXT: vor.vv v9, v16, v9 ; RV32ZVBC32-NEXT: vor.vv v9, v13, v9 ; RV32ZVBC32-NEXT: vor.vv v8, v21, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v15, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vsrl.vi v9, v8, 4 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v14 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v14 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vsrl.vi v9, v8, 2 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v10 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v10 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vsrl.vi v9, v8, 1 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v11 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v11 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV32ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: add sp, sp, a0 ; RV32ZVBC32-NEXT: lw ra, 364(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s0, 360(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s1, 356(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s2, 352(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s3, 348(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s4, 344(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s5, 340(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s6, 336(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s7, 332(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s8, 328(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s9, 324(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s10, 320(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s11, 316(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: addi sp, sp, 368 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv1i64_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: li a1, 56 ; RV64ZVBC32-NEXT: lui t2, 16 ; RV64ZVBC32-NEXT: lui a2, 4080 ; RV64ZVBC32-NEXT: li t0, 255 ; RV64ZVBC32-NEXT: lui a3, 61681 ; RV64ZVBC32-NEXT: lui a4, 209715 ; RV64ZVBC32-NEXT: lui a5, 349525 ; RV64ZVBC32-NEXT: srli a6, a0, 24 ; RV64ZVBC32-NEXT: srli a7, a0, 8 ; RV64ZVBC32-NEXT: srli t1, a0, 40 ; RV64ZVBC32-NEXT: srli t3, a0, 56 ; RV64ZVBC32-NEXT: addi a3, a3, -241 ; RV64ZVBC32-NEXT: addi a4, a4, 819 ; RV64ZVBC32-NEXT: addi t4, a5, 1365 ; RV64ZVBC32-NEXT: slli a5, a3, 32 ; RV64ZVBC32-NEXT: add a5, a3, a5 ; RV64ZVBC32-NEXT: slli a3, a4, 32 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, t4, 32 ; RV64ZVBC32-NEXT: add a3, t4, a3 ; RV64ZVBC32-NEXT: srliw t4, a0, 24 ; RV64ZVBC32-NEXT: slli t0, t0, 24 ; RV64ZVBC32-NEXT: and a6, a6, a2 ; RV64ZVBC32-NEXT: and a7, a7, t0 ; RV64ZVBC32-NEXT: or t5, a7, a6 ; RV64ZVBC32-NEXT: addi a6, t2, -256 ; RV64ZVBC32-NEXT: and a7, t1, a6 ; RV64ZVBC32-NEXT: or t1, a7, t3 ; RV64ZVBC32-NEXT: and a7, a0, a2 ; RV64ZVBC32-NEXT: slli t4, t4, 32 ; RV64ZVBC32-NEXT: slli a7, a7, 24 ; RV64ZVBC32-NEXT: or t3, a7, t4 ; RV64ZVBC32-NEXT: li a7, 40 ; RV64ZVBC32-NEXT: vsetvli t4, zero, e64, m1, ta, ma ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 24 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 8 ; RV64ZVBC32-NEXT: or t1, t5, t1 ; RV64ZVBC32-NEXT: slli t4, a0, 56 ; RV64ZVBC32-NEXT: and a0, a0, a6 ; RV64ZVBC32-NEXT: slli a0, a0, 40 ; RV64ZVBC32-NEXT: or t4, t4, a0 ; RV64ZVBC32-NEXT: li a0, 1 ; RV64ZVBC32-NEXT: or t4, t4, t3 ; RV64ZVBC32-NEXT: lui t3, 1 ; RV64ZVBC32-NEXT: vsrl.vx v11, v8, a1 ; RV64ZVBC32-NEXT: vsrl.vx v12, v8, a7 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a2 ; RV64ZVBC32-NEXT: vand.vx v13, v8, a2 ; RV64ZVBC32-NEXT: vsll.vx v14, v8, a1 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a6 ; RV64ZVBC32-NEXT: vand.vx v9, v9, t0 ; RV64ZVBC32-NEXT: vsll.vi v13, v13, 24 ; RV64ZVBC32-NEXT: vor.vv v11, v12, v11 ; RV64ZVBC32-NEXT: vand.vx v12, v8, t0 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a6 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: vsll.vi v10, v12, 8 ; RV64ZVBC32-NEXT: vsll.vx v8, v8, a7 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v11 ; RV64ZVBC32-NEXT: vor.vv v10, v13, v10 ; RV64ZVBC32-NEXT: vor.vv v8, v14, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v10 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v9 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a5 ; RV64ZVBC32-NEXT: srli t4, t1, 4 ; RV64ZVBC32-NEXT: and t1, t1, a5 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a5 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: and t4, t4, a5 ; RV64ZVBC32-NEXT: slli t1, t1, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a4 ; RV64ZVBC32-NEXT: srli t4, t1, 2 ; RV64ZVBC32-NEXT: and t1, t1, a4 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a4 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: and t4, t4, a4 ; RV64ZVBC32-NEXT: slli t1, t1, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC32-NEXT: srli t4, t1, 1 ; RV64ZVBC32-NEXT: and t1, t1, a3 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a3 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: and t4, t4, a3 ; RV64ZVBC32-NEXT: slli t1, t1, 1 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: andi t4, t1, 2 ; RV64ZVBC32-NEXT: vmul.vx v9, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 1 ; RV64ZVBC32-NEXT: vmul.vx v10, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 4 ; RV64ZVBC32-NEXT: vmul.vx v11, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 8 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 16 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 32 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 64 ; RV64ZVBC32-NEXT: vxor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: vmul.vx v10, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 128 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v11 ; RV64ZVBC32-NEXT: vmul.vx v11, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 256 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 512 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 1024 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 11 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: vmul.vx v10, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 2 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v11 ; RV64ZVBC32-NEXT: vmul.vx v11, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 4 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v9, v12 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 8 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 32 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v10, v12, v10 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 64 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: vmul.vx v11, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 128 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 256 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 512 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 1024 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: vmul.vx v11, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 2048 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 4096 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 8192 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 16384 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: vmul.vx v11, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 32768 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 65536 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 131072 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 262144 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v11, v10, v11 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 32 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vsll.vx v9, v9, a1 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a6 ; RV64ZVBC32-NEXT: vsll.vx v10, v10, a7 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: vmul.vx v10, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 33 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 34 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 35 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 36 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v10, v11, v10 ; RV64ZVBC32-NEXT: vmul.vx v11, v8, t4 ; RV64ZVBC32-NEXT: srliw t4, t1, 31 ; RV64ZVBC32-NEXT: slli t4, t4, 31 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 37 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 38 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 39 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 40 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: vmul.vx v11, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 41 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 42 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 43 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 44 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: vmul.vx v11, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 45 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 46 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v10, v12 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 47 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v11, v12, v11 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 48 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 49 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 50 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 51 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 52 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 53 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v11, v12 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 54 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: vsrl.vi v13, v10, 8 ; RV64ZVBC32-NEXT: vand.vx v13, v13, t0 ; RV64ZVBC32-NEXT: vsrl.vi v11, v11, 24 ; RV64ZVBC32-NEXT: vand.vx v11, v11, a2 ; RV64ZVBC32-NEXT: vor.vv v11, v13, v11 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 55 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 56 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 57 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 58 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 59 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 60 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a2 ; RV64ZVBC32-NEXT: slli a2, a0, 61 ; RV64ZVBC32-NEXT: slli a0, a0, 62 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: and a2, t1, a2 ; RV64ZVBC32-NEXT: and a0, t1, a0 ; RV64ZVBC32-NEXT: srli t1, t1, 63 ; RV64ZVBC32-NEXT: vsll.vi v10, v10, 24 ; RV64ZVBC32-NEXT: vxor.vv v13, v12, v13 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v14 ; RV64ZVBC32-NEXT: vand.vx v14, v12, t0 ; RV64ZVBC32-NEXT: vsll.vi v14, v14, 8 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t2 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: vmul.vx v10, v8, t3 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, a2 ; RV64ZVBC32-NEXT: vxor.vv v10, v13, v10 ; RV64ZVBC32-NEXT: vmul.vx v13, v8, a0 ; RV64ZVBC32-NEXT: slli t1, t1, 63 ; RV64ZVBC32-NEXT: vmul.vx v8, v8, t1 ; RV64ZVBC32-NEXT: vsrl.vx v12, v12, a7 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a6 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v13 ; RV64ZVBC32-NEXT: vxor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vsrl.vx v8, v8, a1 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v11, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a5 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a5 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a4 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a4 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a3 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i64 %b, i128 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv1i128( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i128 64) %res = trunc %res.ext to ret %res } define @clmulh_nxv2i64_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv2i64_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -352 ; RV32V-NEXT: sw ra, 348(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s0, 344(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s1, 340(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s2, 336(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s3, 332(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s4, 328(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s5, 324(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s6, 320(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s7, 316(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s8, 312(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s9, 308(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s10, 304(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s11, 300(sp) # 4-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: sub sp, sp, a0 ; RV32V-NEXT: lui s8, 1044480 ; RV32V-NEXT: lui t1, 524288 ; RV32V-NEXT: li a1, 1 ; RV32V-NEXT: li s11, 2 ; RV32V-NEXT: li ra, 4 ; RV32V-NEXT: li a7, 8 ; RV32V-NEXT: li t0, 16 ; RV32V-NEXT: li a6, 32 ; RV32V-NEXT: li a5, 64 ; RV32V-NEXT: li s10, 128 ; RV32V-NEXT: li a4, 256 ; RV32V-NEXT: li a3, 512 ; RV32V-NEXT: li a2, 1024 ; RV32V-NEXT: lui t3, 1 ; RV32V-NEXT: lui a0, 2 ; RV32V-NEXT: lui s9, 4 ; RV32V-NEXT: lui t2, 8 ; RV32V-NEXT: lui t4, 16 ; RV32V-NEXT: lui t5, 32 ; RV32V-NEXT: lui t6, 64 ; RV32V-NEXT: lui s0, 128 ; RV32V-NEXT: lui s1, 256 ; RV32V-NEXT: lui s2, 512 ; RV32V-NEXT: lui s3, 1024 ; RV32V-NEXT: lui s4, 2048 ; RV32V-NEXT: lui s5, 4096 ; RV32V-NEXT: lui s6, 8192 ; RV32V-NEXT: lui s7, 16384 ; RV32V-NEXT: sw s8, 248(sp) ; RV32V-NEXT: lui s8, 32768 ; RV32V-NEXT: sw zero, 252(sp) ; RV32V-NEXT: sw t1, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: sw zero, 272(sp) ; RV32V-NEXT: sw a1, 276(sp) ; RV32V-NEXT: sw zero, 256(sp) ; RV32V-NEXT: sw s11, 260(sp) ; RV32V-NEXT: lui s11, 65536 ; RV32V-NEXT: sw zero, 264(sp) ; RV32V-NEXT: sw ra, 268(sp) ; RV32V-NEXT: lui ra, 131072 ; RV32V-NEXT: sw zero, 240(sp) ; RV32V-NEXT: sw a7, 244(sp) ; RV32V-NEXT: lui a7, 262144 ; RV32V-NEXT: sw zero, 232(sp) ; RV32V-NEXT: sw t0, 236(sp) ; RV32V-NEXT: sw zero, 224(sp) ; RV32V-NEXT: sw a6, 228(sp) ; RV32V-NEXT: sw zero, 216(sp) ; RV32V-NEXT: sw a5, 220(sp) ; RV32V-NEXT: sw zero, 208(sp) ; RV32V-NEXT: sw s10, 212(sp) ; RV32V-NEXT: sw zero, 200(sp) ; RV32V-NEXT: sw a4, 204(sp) ; RV32V-NEXT: sw zero, 192(sp) ; RV32V-NEXT: sw a3, 196(sp) ; RV32V-NEXT: sw zero, 184(sp) ; RV32V-NEXT: sw a2, 188(sp) ; RV32V-NEXT: slli a5, a1, 11 ; RV32V-NEXT: sw zero, 176(sp) ; RV32V-NEXT: sw a5, 180(sp) ; RV32V-NEXT: sw zero, 168(sp) ; RV32V-NEXT: sw t3, 172(sp) ; RV32V-NEXT: sw zero, 160(sp) ; RV32V-NEXT: sw a0, 164(sp) ; RV32V-NEXT: lui a6, 2 ; RV32V-NEXT: sw zero, 152(sp) ; RV32V-NEXT: sw s9, 156(sp) ; RV32V-NEXT: lui t0, 4 ; RV32V-NEXT: sw zero, 144(sp) ; RV32V-NEXT: sw t2, 148(sp) ; RV32V-NEXT: sw zero, 136(sp) ; RV32V-NEXT: sw t4, 140(sp) ; RV32V-NEXT: sw zero, 128(sp) ; RV32V-NEXT: sw t5, 132(sp) ; RV32V-NEXT: sw zero, 120(sp) ; RV32V-NEXT: sw t6, 124(sp) ; RV32V-NEXT: sw zero, 112(sp) ; RV32V-NEXT: sw s0, 116(sp) ; RV32V-NEXT: sw zero, 104(sp) ; RV32V-NEXT: sw s1, 108(sp) ; RV32V-NEXT: sw zero, 96(sp) ; RV32V-NEXT: sw s2, 100(sp) ; RV32V-NEXT: sw zero, 88(sp) ; RV32V-NEXT: sw s3, 92(sp) ; RV32V-NEXT: sw zero, 80(sp) ; RV32V-NEXT: sw s4, 84(sp) ; RV32V-NEXT: sw zero, 72(sp) ; RV32V-NEXT: sw s5, 76(sp) ; RV32V-NEXT: sw zero, 64(sp) ; RV32V-NEXT: sw s6, 68(sp) ; RV32V-NEXT: sw zero, 56(sp) ; RV32V-NEXT: sw s7, 60(sp) ; RV32V-NEXT: sw zero, 48(sp) ; RV32V-NEXT: sw s8, 52(sp) ; RV32V-NEXT: sw zero, 40(sp) ; RV32V-NEXT: sw s11, 44(sp) ; RV32V-NEXT: sw zero, 32(sp) ; RV32V-NEXT: sw ra, 36(sp) ; RV32V-NEXT: sw zero, 24(sp) ; RV32V-NEXT: sw a7, 28(sp) ; RV32V-NEXT: sw zero, 16(sp) ; RV32V-NEXT: sw t1, 20(sp) ; RV32V-NEXT: lui a0, 61681 ; RV32V-NEXT: addi a0, a0, -241 ; RV32V-NEXT: vsetvli t3, zero, e32, m2, ta, ma ; RV32V-NEXT: vmv.v.x v2, a0 ; RV32V-NEXT: lui a0, 209715 ; RV32V-NEXT: addi a0, a0, 819 ; RV32V-NEXT: vmv.v.x v0, a0 ; RV32V-NEXT: lui a0, 349525 ; RV32V-NEXT: addi a0, a0, 1365 ; RV32V-NEXT: vmv.v.x v12, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 248 ; RV32V-NEXT: vsetvli t3, zero, e64, m2, ta, ma ; RV32V-NEXT: vlse64.v v4, (a0), zero ; RV32V-NEXT: addi a0, sp, 8 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: addi a0, sp, 272 ; RV32V-NEXT: vlse64.v v14, (a0), zero ; RV32V-NEXT: addi a0, sp, 256 ; RV32V-NEXT: vlse64.v v16, (a0), zero ; RV32V-NEXT: li t3, 56 ; RV32V-NEXT: vsrl.vi v18, v8, 24 ; RV32V-NEXT: vsrl.vi v20, v8, 8 ; RV32V-NEXT: vsrl.vx v22, v8, t3 ; RV32V-NEXT: li s9, 40 ; RV32V-NEXT: vsrl.vx v24, v8, s9 ; RV32V-NEXT: vsll.vx v26, v8, t3 ; RV32V-NEXT: vsrl.vx v28, v10, t3 ; RV32V-NEXT: vsrl.vx v30, v10, s9 ; RV32V-NEXT: addi s10, t4, -256 ; RV32V-NEXT: vand.vx v24, v24, s10 ; RV32V-NEXT: vor.vv v22, v24, v22 ; RV32V-NEXT: vsll.vx v6, v10, t3 ; RV32V-NEXT: vand.vx v24, v30, s10 ; RV32V-NEXT: vor.vv v30, v24, v28 ; RV32V-NEXT: vand.vx v24, v8, s10 ; RV32V-NEXT: vsll.vx v24, v24, s9 ; RV32V-NEXT: vor.vv v24, v26, v24 ; RV32V-NEXT: vand.vx v26, v10, s10 ; RV32V-NEXT: vsll.vx v26, v26, s9 ; RV32V-NEXT: vor.vv v26, v6, v26 ; RV32V-NEXT: vsrl.vi v28, v10, 24 ; RV32V-NEXT: lui a4, 4080 ; RV32V-NEXT: vand.vx v18, v18, a4 ; RV32V-NEXT: vand.vv v20, v20, v4 ; RV32V-NEXT: vor.vv v20, v20, v18 ; RV32V-NEXT: vsrl.vi v18, v10, 8 ; RV32V-NEXT: vand.vx v28, v28, a4 ; RV32V-NEXT: vand.vv v18, v18, v4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v4, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vor.vv v6, v18, v28 ; RV32V-NEXT: addi a3, sp, 264 ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: vor.vv v28, v20, v22 ; RV32V-NEXT: vand.vx v20, v8, a4 ; RV32V-NEXT: vsll.vi v20, v20, 24 ; RV32V-NEXT: vand.vv v8, v8, v4 ; RV32V-NEXT: vsll.vi v8, v8, 8 ; RV32V-NEXT: vor.vv v8, v20, v8 ; RV32V-NEXT: addi a3, sp, 240 ; RV32V-NEXT: vlse64.v v20, (a3), zero ; RV32V-NEXT: vor.vv v30, v6, v30 ; RV32V-NEXT: vand.vx v22, v10, a4 ; RV32V-NEXT: vsll.vi v22, v22, 24 ; RV32V-NEXT: vand.vv v10, v10, v4 ; RV32V-NEXT: vsll.vi v10, v10, 8 ; RV32V-NEXT: vor.vv v10, v22, v10 ; RV32V-NEXT: addi a3, sp, 232 ; RV32V-NEXT: vlse64.v v22, (a3), zero ; RV32V-NEXT: vor.vv v8, v24, v8 ; RV32V-NEXT: addi a3, sp, 224 ; RV32V-NEXT: vlse64.v v24, (a3), zero ; RV32V-NEXT: vor.vv v10, v26, v10 ; RV32V-NEXT: addi a3, sp, 216 ; RV32V-NEXT: vlse64.v v26, (a3), zero ; RV32V-NEXT: vor.vv v8, v8, v28 ; RV32V-NEXT: addi a3, sp, 208 ; RV32V-NEXT: vlse64.v v28, (a3), zero ; RV32V-NEXT: vor.vv v10, v10, v30 ; RV32V-NEXT: vsrl.vi v30, v8, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v2, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v8, v8, v2 ; RV32V-NEXT: vand.vv v30, v30, v2 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v30, v8 ; RV32V-NEXT: vsrl.vi v30, v10, 4 ; RV32V-NEXT: vand.vv v10, v10, v2 ; RV32V-NEXT: vand.vv v30, v30, v2 ; RV32V-NEXT: vsll.vi v10, v10, 4 ; RV32V-NEXT: vor.vv v10, v30, v10 ; RV32V-NEXT: vsrl.vi v30, v8, 2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v0, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v8, v8, v0 ; RV32V-NEXT: vand.vv v30, v30, v0 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v30, v8 ; RV32V-NEXT: vsrl.vi v30, v10, 2 ; RV32V-NEXT: vand.vv v10, v10, v0 ; RV32V-NEXT: vand.vv v30, v30, v0 ; RV32V-NEXT: vsll.vi v10, v10, 2 ; RV32V-NEXT: vor.vv v30, v30, v10 ; RV32V-NEXT: vsrl.vi v10, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v6, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v6 ; RV32V-NEXT: vand.vv v10, v10, v6 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v10, v10, v8 ; RV32V-NEXT: vsrl.vi v8, v30, 1 ; RV32V-NEXT: vand.vv v30, v30, v6 ; RV32V-NEXT: vand.vv v8, v8, v6 ; RV32V-NEXT: vadd.vv v30, v30, v30 ; RV32V-NEXT: vor.vv v8, v8, v30 ; RV32V-NEXT: addi a3, sp, 200 ; RV32V-NEXT: vlse64.v v30, (a3), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v22 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v26 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a3, sp, 192 ; RV32V-NEXT: addi a1, sp, 184 ; RV32V-NEXT: addi a0, sp, 176 ; RV32V-NEXT: vlse64.v v12, (a3), zero ; RV32V-NEXT: vlse64.v v14, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a0), zero ; RV32V-NEXT: vand.vv v18, v8, v30 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v18, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a2, sp, 168 ; RV32V-NEXT: addi a1, sp, 160 ; RV32V-NEXT: addi a3, sp, 152 ; RV32V-NEXT: addi a0, sp, 144 ; RV32V-NEXT: vlse64.v v12, (a2), zero ; RV32V-NEXT: vlse64.v v14, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a3), zero ; RV32V-NEXT: vlse64.v v18, (a0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 136 ; RV32V-NEXT: addi a1, sp, 128 ; RV32V-NEXT: addi a2, sp, 120 ; RV32V-NEXT: addi a3, sp, 112 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v14, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a2), zero ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 104 ; RV32V-NEXT: addi a1, sp, 96 ; RV32V-NEXT: addi a2, sp, 88 ; RV32V-NEXT: addi a3, sp, 80 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v14, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a2), zero ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 72 ; RV32V-NEXT: addi a1, sp, 64 ; RV32V-NEXT: addi a2, sp, 56 ; RV32V-NEXT: addi a3, sp, 48 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v14, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a2), zero ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 40 ; RV32V-NEXT: addi a1, sp, 32 ; RV32V-NEXT: addi a2, sp, 24 ; RV32V-NEXT: addi a3, sp, 16 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v14, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a2), zero ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vx v12, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vand.vx v18, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v22, v8, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vand.vx v26, v8, a0 ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vand.vx v28, v8, a0 ; RV32V-NEXT: vand.vx v30, v8, a5 ; RV32V-NEXT: lui a0, 1 ; RV32V-NEXT: vand.vx v6, v8, a0 ; RV32V-NEXT: vand.vx v4, v8, a6 ; RV32V-NEXT: vand.vx v2, v8, t0 ; RV32V-NEXT: vand.vx v0, v8, t2 ; RV32V-NEXT: vand.vx v12, v8, t4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t5 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s3 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s5 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s7 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s11 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, ra ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, a7 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vi v12, v8, 2 ; RV32V-NEXT: vand.vi v14, v8, 1 ; RV32V-NEXT: vand.vi v16, v8, 4 ; RV32V-NEXT: vand.vi v8, v8, 8 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vmul.vv v12, v10, v14 ; RV32V-NEXT: vmul.vv v14, v10, v16 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v10, v8 ; RV32V-NEXT: vmul.vv v18, v10, v18 ; RV32V-NEXT: vmul.vv v20, v10, v20 ; RV32V-NEXT: vmul.vv v22, v10, v22 ; RV32V-NEXT: vmul.vv v24, v10, v24 ; RV32V-NEXT: vmul.vv v26, v10, v26 ; RV32V-NEXT: vmul.vv v28, v10, v28 ; RV32V-NEXT: vmul.vv v30, v10, v30 ; RV32V-NEXT: vmul.vv v6, v10, v6 ; RV32V-NEXT: vmul.vv v4, v10, v4 ; RV32V-NEXT: vmul.vv v2, v10, v2 ; RV32V-NEXT: vmul.vv v0, v10, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: addi a0, sp, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v10, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v12, v8 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v12 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vxor.vv v8, v8, v18 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vxor.vv v8, v8, v22 ; RV32V-NEXT: vxor.vv v12, v8, v24 ; RV32V-NEXT: vxor.vv v12, v12, v26 ; RV32V-NEXT: vxor.vv v12, v12, v28 ; RV32V-NEXT: vxor.vv v12, v12, v30 ; RV32V-NEXT: vxor.vv v12, v12, v6 ; RV32V-NEXT: vxor.vv v12, v12, v4 ; RV32V-NEXT: vxor.vv v12, v12, v2 ; RV32V-NEXT: vxor.vv v12, v12, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: addi a0, sp, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v22, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v22 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v22, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v22 ; RV32V-NEXT: vand.vx v22, v14, a4 ; RV32V-NEXT: vsrl.vi v16, v16, 24 ; RV32V-NEXT: vand.vx v16, v16, a4 ; RV32V-NEXT: vand.vx v12, v12, s10 ; RV32V-NEXT: vsll.vx v12, v12, s9 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v24, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v24 ; RV32V-NEXT: vsrl.vx v24, v18, s9 ; RV32V-NEXT: vand.vx v24, v24, s10 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v26 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v26 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v26 ; RV32V-NEXT: vxor.vv v10, v20, v10 ; RV32V-NEXT: vsll.vx v8, v8, t3 ; RV32V-NEXT: vsrl.vx v10, v10, t3 ; RV32V-NEXT: vor.vv v8, v8, v12 ; RV32V-NEXT: vsrl.vi v12, v14, 8 ; RV32V-NEXT: vsll.vi v14, v22, 24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vand.vv v12, v12, v20 ; RV32V-NEXT: vor.vv v12, v12, v16 ; RV32V-NEXT: vand.vv v16, v18, v20 ; RV32V-NEXT: vsll.vi v16, v16, 8 ; RV32V-NEXT: vor.vv v14, v14, v16 ; RV32V-NEXT: vor.vv v8, v8, v14 ; RV32V-NEXT: vor.vv v10, v24, v10 ; RV32V-NEXT: vor.vv v10, v12, v10 ; RV32V-NEXT: vor.vv v8, v8, v10 ; RV32V-NEXT: vsrl.vi v10, v8, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v12 ; RV32V-NEXT: vand.vv v10, v10, v12 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v10, v8 ; RV32V-NEXT: vsrl.vi v10, v8, 2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v12 ; RV32V-NEXT: vand.vv v10, v10, v12 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v10, v8 ; RV32V-NEXT: vsrl.vi v10, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v12 ; RV32V-NEXT: vand.vv v10, v10, v12 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v10, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: lw ra, 348(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s0, 344(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s1, 340(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s2, 336(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s3, 332(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s4, 328(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s5, 324(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s6, 320(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s7, 316(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s8, 312(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s9, 308(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s10, 304(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s11, 300(sp) # 4-byte Folded Reload ; RV32V-NEXT: addi sp, sp, 352 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv2i64_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -320 ; RV64V-NEXT: sd ra, 312(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s0, 304(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s1, 296(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s2, 288(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s3, 280(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s4, 272(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s5, 264(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s6, 256(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s7, 248(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s8, 240(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s9, 232(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s10, 224(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s11, 216(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: sub sp, sp, a0 ; RV64V-NEXT: lui a1, 16 ; RV64V-NEXT: vsetvli a0, zero, e64, m2, ta, ma ; RV64V-NEXT: vsrl.vi v16, v8, 24 ; RV64V-NEXT: vsrl.vi v12, v8, 8 ; RV64V-NEXT: li a4, 255 ; RV64V-NEXT: lui a0, 61681 ; RV64V-NEXT: lui a2, 209715 ; RV64V-NEXT: lui a3, 349525 ; RV64V-NEXT: vsrl.vi v18, v10, 24 ; RV64V-NEXT: vsrl.vi v14, v10, 8 ; RV64V-NEXT: li a5, 16 ; RV64V-NEXT: li a6, 32 ; RV64V-NEXT: li a7, 64 ; RV64V-NEXT: li t0, 128 ; RV64V-NEXT: li t2, 256 ; RV64V-NEXT: li t3, 512 ; RV64V-NEXT: li t4, 1024 ; RV64V-NEXT: li t1, 1 ; RV64V-NEXT: lui s4, 1 ; RV64V-NEXT: lui s3, 2 ; RV64V-NEXT: lui s5, 4 ; RV64V-NEXT: lui t5, 8 ; RV64V-NEXT: lui s0, 32 ; RV64V-NEXT: li s6, 56 ; RV64V-NEXT: vsrl.vx v30, v8, s6 ; RV64V-NEXT: li s7, 40 ; RV64V-NEXT: vsrl.vx v0, v8, s7 ; RV64V-NEXT: addi s9, a1, -256 ; RV64V-NEXT: lui s8, 4080 ; RV64V-NEXT: vand.vx v2, v16, s8 ; RV64V-NEXT: slli a4, a4, 24 ; RV64V-NEXT: vand.vx v4, v8, s8 ; RV64V-NEXT: vsll.vx v6, v8, s6 ; RV64V-NEXT: addi t6, a0, -241 ; RV64V-NEXT: addi s1, a2, 819 ; RV64V-NEXT: addi s2, a3, 1365 ; RV64V-NEXT: vsrl.vx v20, v10, s6 ; RV64V-NEXT: vsrl.vx v22, v10, s7 ; RV64V-NEXT: vand.vx v18, v18, s8 ; RV64V-NEXT: vand.vx v24, v10, s8 ; RV64V-NEXT: vsll.vx v16, v10, s6 ; RV64V-NEXT: slli s11, t1, 11 ; RV64V-NEXT: slli a0, t1, 31 ; RV64V-NEXT: sd a0, 152(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t1, 32 ; RV64V-NEXT: sd a0, 144(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t1, 33 ; RV64V-NEXT: sd a0, 136(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t1, 34 ; RV64V-NEXT: sd a0, 128(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t6, 32 ; RV64V-NEXT: add t6, t6, a0 ; RV64V-NEXT: slli a0, s1, 32 ; RV64V-NEXT: add s1, s1, a0 ; RV64V-NEXT: slli a0, s2, 32 ; RV64V-NEXT: add s2, s2, a0 ; RV64V-NEXT: slli a0, t1, 35 ; RV64V-NEXT: sd a0, 120(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v22, v22, s9 ; RV64V-NEXT: vand.vx v14, v14, a4 ; RV64V-NEXT: vsll.vi v24, v24, 24 ; RV64V-NEXT: vand.vx v26, v10, a4 ; RV64V-NEXT: vand.vx v10, v10, s9 ; RV64V-NEXT: vor.vv v20, v22, v20 ; RV64V-NEXT: vor.vv v14, v14, v18 ; RV64V-NEXT: vsll.vi v18, v26, 8 ; RV64V-NEXT: li a0, 40 ; RV64V-NEXT: vsll.vx v10, v10, a0 ; RV64V-NEXT: vor.vv v14, v14, v20 ; RV64V-NEXT: vor.vv v18, v24, v18 ; RV64V-NEXT: vor.vv v10, v16, v10 ; RV64V-NEXT: vor.vv v10, v10, v18 ; RV64V-NEXT: vor.vv v10, v10, v14 ; RV64V-NEXT: vsrl.vi v14, v10, 4 ; RV64V-NEXT: vand.vx v10, v10, t6 ; RV64V-NEXT: vand.vx v14, v14, t6 ; RV64V-NEXT: vsll.vi v10, v10, 4 ; RV64V-NEXT: vor.vv v10, v14, v10 ; RV64V-NEXT: vsrl.vi v14, v10, 2 ; RV64V-NEXT: vand.vx v10, v10, s1 ; RV64V-NEXT: vand.vx v14, v14, s1 ; RV64V-NEXT: vsll.vi v10, v10, 2 ; RV64V-NEXT: vor.vv v10, v14, v10 ; RV64V-NEXT: vsrl.vi v14, v10, 1 ; RV64V-NEXT: vand.vx v10, v10, s2 ; RV64V-NEXT: vand.vx v14, v14, s2 ; RV64V-NEXT: vadd.vv v10, v10, v10 ; RV64V-NEXT: vor.vv v14, v14, v10 ; RV64V-NEXT: vand.vx v20, v14, a5 ; RV64V-NEXT: slli a2, t1, 36 ; RV64V-NEXT: sd a2, 112(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v22, v14, a6 ; RV64V-NEXT: slli a2, t1, 37 ; RV64V-NEXT: sd a2, 104(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v24, v14, a7 ; RV64V-NEXT: slli a2, t1, 38 ; RV64V-NEXT: sd a2, 96(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v26, v14, t0 ; RV64V-NEXT: slli a2, t1, 39 ; RV64V-NEXT: sd a2, 88(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v28, v14, t2 ; RV64V-NEXT: slli a2, t1, 40 ; RV64V-NEXT: sd a2, 80(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, t3 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 7 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 208 ; RV64V-NEXT: vs2r.v v10, (a2) # vscale x 16-byte Folded Spill ; RV64V-NEXT: slli a2, t1, 41 ; RV64V-NEXT: sd a2, 72(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, t4 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 208 ; RV64V-NEXT: vs2r.v v10, (a2) # vscale x 16-byte Folded Spill ; RV64V-NEXT: slli a2, t1, 42 ; RV64V-NEXT: sd a2, 64(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, s11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 208 ; RV64V-NEXT: vs2r.v v10, (a2) # vscale x 16-byte Folded Spill ; RV64V-NEXT: slli a2, t1, 43 ; RV64V-NEXT: sd a2, 56(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s9, 160(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v0, s9 ; RV64V-NEXT: vor.vv v10, v10, v30 ; RV64V-NEXT: vand.vx v0, v14, s4 ; RV64V-NEXT: slli a2, t1, 44 ; RV64V-NEXT: sd a2, 48(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd a4, 168(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v12, a4 ; RV64V-NEXT: vor.vv v12, v12, v2 ; RV64V-NEXT: vand.vx v2, v14, s3 ; RV64V-NEXT: slli a2, t1, 45 ; RV64V-NEXT: sd a2, 40(sp) # 8-byte Folded Spill ; RV64V-NEXT: vsll.vi v16, v4, 24 ; RV64V-NEXT: vor.vv v10, v12, v10 ; RV64V-NEXT: vand.vx v12, v8, a4 ; RV64V-NEXT: vsll.vi v12, v12, 8 ; RV64V-NEXT: vor.vv v12, v16, v12 ; RV64V-NEXT: vand.vx v16, v14, s5 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 208 ; RV64V-NEXT: vs2r.v v16, (a2) # vscale x 16-byte Folded Spill ; RV64V-NEXT: slli a2, t1, 46 ; RV64V-NEXT: sd a2, 32(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v8, s9 ; RV64V-NEXT: vsll.vx v8, v8, a0 ; RV64V-NEXT: vor.vv v8, v6, v8 ; RV64V-NEXT: vand.vx v16, v14, t5 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a2, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a2, a2, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a2, a2, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a2 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v16, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: slli a0, t1, 47 ; RV64V-NEXT: sd a0, 24(sp) # 8-byte Folded Spill ; RV64V-NEXT: vor.vv v8, v8, v12 ; RV64V-NEXT: vand.vx v12, v14, a1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: slli a0, t1, 48 ; RV64V-NEXT: sd a0, 16(sp) # 8-byte Folded Spill ; RV64V-NEXT: vor.vv v8, v8, v10 ; RV64V-NEXT: vsrl.vi v10, v8, 4 ; RV64V-NEXT: sd t6, 176(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v8, t6 ; RV64V-NEXT: vand.vx v10, v10, t6 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: vsrl.vi v10, v8, 2 ; RV64V-NEXT: sd s1, 184(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v8, s1 ; RV64V-NEXT: vand.vx v10, v10, s1 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: vsrl.vi v10, v8, 1 ; RV64V-NEXT: sd s2, 192(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v8, s2 ; RV64V-NEXT: vand.vx v10, v10, s2 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: vand.vx v10, v14, s0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: slli ra, t1, 49 ; RV64V-NEXT: slli s11, t1, 50 ; RV64V-NEXT: slli s10, t1, 51 ; RV64V-NEXT: slli s9, t1, 52 ; RV64V-NEXT: slli s8, t1, 53 ; RV64V-NEXT: slli s7, t1, 54 ; RV64V-NEXT: slli s6, t1, 55 ; RV64V-NEXT: slli s5, t1, 56 ; RV64V-NEXT: slli s4, t1, 57 ; RV64V-NEXT: slli s3, t1, 58 ; RV64V-NEXT: slli s2, t1, 59 ; RV64V-NEXT: slli t6, t1, 60 ; RV64V-NEXT: slli s1, t1, 61 ; RV64V-NEXT: slli s0, t1, 62 ; RV64V-NEXT: li a0, -1 ; RV64V-NEXT: slli t5, a0, 63 ; RV64V-NEXT: lui a0, 64 ; RV64V-NEXT: lui a1, 128 ; RV64V-NEXT: lui a2, 256 ; RV64V-NEXT: lui a3, 512 ; RV64V-NEXT: lui a4, 1024 ; RV64V-NEXT: lui a5, 2048 ; RV64V-NEXT: lui a6, 4096 ; RV64V-NEXT: lui a7, 8192 ; RV64V-NEXT: lui t0, 16384 ; RV64V-NEXT: lui t1, 32768 ; RV64V-NEXT: lui t2, 65536 ; RV64V-NEXT: lui t3, 131072 ; RV64V-NEXT: lui t4, 262144 ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: sd s6, 8(sp) # 8-byte Folded Spill ; RV64V-NEXT: mv s6, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add s6, s6, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add s6, s6, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, s6 ; RV64V-NEXT: ld s6, 8(sp) # 8-byte Folded Reload ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, a1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, a2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, a3 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, a4 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, a5 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, a6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, a7 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, t0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, t1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, t2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, t3 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, t4 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 152(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 144(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 136(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 128(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 120(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 112(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 104(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 96(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 88(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 80(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 72(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 64(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 56(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 48(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 40(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 32(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 24(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: ld a0, 16(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v10, v14, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, ra ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, s11 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, s10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, s9 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, s8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, s7 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, s6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, s5 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, s4 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, s3 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, s2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v14, t6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vi v10, v14, 2 ; RV64V-NEXT: vand.vi v12, v14, 1 ; RV64V-NEXT: vand.vi v16, v14, 4 ; RV64V-NEXT: vand.vi v18, v14, 8 ; RV64V-NEXT: vand.vx v30, v14, s1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v30, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v30, v14, s0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v30, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vand.vx v14, v14, t5 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v14, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vmul.vv v10, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: vmul.vv v12, v8, v16 ; RV64V-NEXT: vmul.vv v14, v8, v18 ; RV64V-NEXT: vmul.vv v16, v8, v20 ; RV64V-NEXT: vmul.vv v18, v8, v22 ; RV64V-NEXT: vmul.vv v20, v8, v24 ; RV64V-NEXT: vmul.vv v22, v8, v26 ; RV64V-NEXT: vmul.vv v24, v8, v28 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v26, v8, v26 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v28, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v28, v8, v28 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v30, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v30, v8, v30 ; RV64V-NEXT: vmul.vv v6, v8, v0 ; RV64V-NEXT: vmul.vv v4, v8, v2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v2, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v2, v8, v2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v0, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v0, v8, v0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: addi a0, sp, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v10, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vmul.vv v8, v8, v10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v8, v10 ; RV64V-NEXT: vxor.vv v10, v10, v12 ; RV64V-NEXT: vxor.vv v10, v10, v14 ; RV64V-NEXT: vxor.vv v10, v10, v16 ; RV64V-NEXT: vxor.vv v10, v10, v18 ; RV64V-NEXT: vxor.vv v10, v10, v20 ; RV64V-NEXT: vxor.vv v10, v10, v22 ; RV64V-NEXT: vxor.vv v12, v10, v24 ; RV64V-NEXT: vxor.vv v12, v12, v26 ; RV64V-NEXT: vxor.vv v12, v12, v28 ; RV64V-NEXT: vxor.vv v12, v12, v30 ; RV64V-NEXT: vxor.vv v12, v12, v6 ; RV64V-NEXT: vxor.vv v12, v12, v4 ; RV64V-NEXT: vxor.vv v12, v12, v2 ; RV64V-NEXT: vxor.vv v12, v12, v0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 208 ; RV64V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v14, v12, v8 ; RV64V-NEXT: addi a0, sp, 208 ; RV64V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v14, v14, v8 ; RV64V-NEXT: li a0, 56 ; RV64V-NEXT: vsll.vx v10, v10, a0 ; RV64V-NEXT: ld a2, 160(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v12, a2 ; RV64V-NEXT: li a4, 40 ; RV64V-NEXT: vsll.vx v12, v12, a4 ; RV64V-NEXT: vor.vv v10, v10, v12 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v12, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v14, v12 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 4 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 5 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 4 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v14, v12, v14 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v14, v14, v16 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v14, v14, v16 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 4 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v14, v14, v16 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 4 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v14, v14, v16 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 5 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v14, v14, v16 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 6 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v14, v14, v16 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v14, v14, v16 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v14, v16 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v18, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v18 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v18, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v18 ; RV64V-NEXT: vsrl.vi v18, v12, 8 ; RV64V-NEXT: ld a3, 168(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v18, v18, a3 ; RV64V-NEXT: vsrl.vi v14, v14, 24 ; RV64V-NEXT: lui a1, 4080 ; RV64V-NEXT: vand.vx v14, v14, a1 ; RV64V-NEXT: vor.vv v14, v18, v14 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 208 ; RV64V-NEXT: vl2r.v v18, (a5) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v18 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 4 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 208 ; RV64V-NEXT: vl2r.v v18, (a5) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v18 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 208 ; RV64V-NEXT: vl2r.v v18, (a5) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v18 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 208 ; RV64V-NEXT: vl2r.v v18, (a5) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v18 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 208 ; RV64V-NEXT: vl2r.v v18, (a5) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v18 ; RV64V-NEXT: vand.vx v12, v12, a1 ; RV64V-NEXT: vsll.vi v12, v12, 24 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a5, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a5, a5, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a5, a5, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a5, a5, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a5 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v18, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v18, v16, v18 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: mv a5, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a5, a5, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a5, a5, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a5 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v20, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v18, v18, v20 ; RV64V-NEXT: vand.vx v20, v16, a3 ; RV64V-NEXT: vsll.vi v20, v20, 8 ; RV64V-NEXT: vor.vv v12, v12, v20 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v20, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v18, v18, v20 ; RV64V-NEXT: vor.vv v10, v10, v12 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a3, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a3, a3, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a3 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v12, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v18, v12 ; RV64V-NEXT: vsrl.vx v16, v16, a4 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 7 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v18, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v18 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v18, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v18 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v18, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v18 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 208 ; RV64V-NEXT: vl2r.v v8, (a1) # vscale x 16-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v12, v8 ; RV64V-NEXT: vsrl.vx v8, v8, a0 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vor.vv v8, v14, v8 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: vsrl.vi v10, v8, 4 ; RV64V-NEXT: ld a0, 176(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v10, v10, a0 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: vsrl.vi v10, v8, 2 ; RV64V-NEXT: ld a0, 184(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v10, v10, a0 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: vsrl.vi v10, v8, 1 ; RV64V-NEXT: ld a0, 192(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v10, v10, a0 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: ld ra, 312(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s0, 304(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s1, 296(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s2, 288(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s3, 280(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s4, 272(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s5, 264(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s6, 256(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s7, 248(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s8, 240(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s9, 232(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s10, 224(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s11, 216(sp) # 8-byte Folded Reload ; RV64V-NEXT: addi sp, sp, 320 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv2i64_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m2, ta, ma ; RV32ZVBC64-NEXT: vclmulh.vv v8, v8, v10 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv2i64_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m2, ta, ma ; RV64ZVBC64-NEXT: vclmulh.vv v8, v8, v10 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv2i64_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: addi sp, sp, -352 ; RV32ZVBC32-NEXT: sw ra, 348(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s0, 344(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s1, 340(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s2, 336(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s3, 332(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s4, 328(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s5, 324(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s6, 320(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s7, 316(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s8, 312(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s9, 308(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s10, 304(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s11, 300(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: sub sp, sp, a0 ; RV32ZVBC32-NEXT: lui s8, 1044480 ; RV32ZVBC32-NEXT: lui t1, 524288 ; RV32ZVBC32-NEXT: li a1, 1 ; RV32ZVBC32-NEXT: li s11, 2 ; RV32ZVBC32-NEXT: li ra, 4 ; RV32ZVBC32-NEXT: li a7, 8 ; RV32ZVBC32-NEXT: li t0, 16 ; RV32ZVBC32-NEXT: li a6, 32 ; RV32ZVBC32-NEXT: li a5, 64 ; RV32ZVBC32-NEXT: li s10, 128 ; RV32ZVBC32-NEXT: li a4, 256 ; RV32ZVBC32-NEXT: li a3, 512 ; RV32ZVBC32-NEXT: li a2, 1024 ; RV32ZVBC32-NEXT: lui t3, 1 ; RV32ZVBC32-NEXT: lui a0, 2 ; RV32ZVBC32-NEXT: lui s9, 4 ; RV32ZVBC32-NEXT: lui t2, 8 ; RV32ZVBC32-NEXT: lui t4, 16 ; RV32ZVBC32-NEXT: lui t5, 32 ; RV32ZVBC32-NEXT: lui t6, 64 ; RV32ZVBC32-NEXT: lui s0, 128 ; RV32ZVBC32-NEXT: lui s1, 256 ; RV32ZVBC32-NEXT: lui s2, 512 ; RV32ZVBC32-NEXT: lui s3, 1024 ; RV32ZVBC32-NEXT: lui s4, 2048 ; RV32ZVBC32-NEXT: lui s5, 4096 ; RV32ZVBC32-NEXT: lui s6, 8192 ; RV32ZVBC32-NEXT: lui s7, 16384 ; RV32ZVBC32-NEXT: sw s8, 248(sp) ; RV32ZVBC32-NEXT: lui s8, 32768 ; RV32ZVBC32-NEXT: sw zero, 252(sp) ; RV32ZVBC32-NEXT: sw t1, 8(sp) ; RV32ZVBC32-NEXT: sw zero, 12(sp) ; RV32ZVBC32-NEXT: sw zero, 272(sp) ; RV32ZVBC32-NEXT: sw a1, 276(sp) ; RV32ZVBC32-NEXT: sw zero, 256(sp) ; RV32ZVBC32-NEXT: sw s11, 260(sp) ; RV32ZVBC32-NEXT: lui s11, 65536 ; RV32ZVBC32-NEXT: sw zero, 264(sp) ; RV32ZVBC32-NEXT: sw ra, 268(sp) ; RV32ZVBC32-NEXT: lui ra, 131072 ; RV32ZVBC32-NEXT: sw zero, 240(sp) ; RV32ZVBC32-NEXT: sw a7, 244(sp) ; RV32ZVBC32-NEXT: lui a7, 262144 ; RV32ZVBC32-NEXT: sw zero, 232(sp) ; RV32ZVBC32-NEXT: sw t0, 236(sp) ; RV32ZVBC32-NEXT: sw zero, 224(sp) ; RV32ZVBC32-NEXT: sw a6, 228(sp) ; RV32ZVBC32-NEXT: sw zero, 216(sp) ; RV32ZVBC32-NEXT: sw a5, 220(sp) ; RV32ZVBC32-NEXT: sw zero, 208(sp) ; RV32ZVBC32-NEXT: sw s10, 212(sp) ; RV32ZVBC32-NEXT: sw zero, 200(sp) ; RV32ZVBC32-NEXT: sw a4, 204(sp) ; RV32ZVBC32-NEXT: sw zero, 192(sp) ; RV32ZVBC32-NEXT: sw a3, 196(sp) ; RV32ZVBC32-NEXT: sw zero, 184(sp) ; RV32ZVBC32-NEXT: sw a2, 188(sp) ; RV32ZVBC32-NEXT: slli a5, a1, 11 ; RV32ZVBC32-NEXT: sw zero, 176(sp) ; RV32ZVBC32-NEXT: sw a5, 180(sp) ; RV32ZVBC32-NEXT: sw zero, 168(sp) ; RV32ZVBC32-NEXT: sw t3, 172(sp) ; RV32ZVBC32-NEXT: sw zero, 160(sp) ; RV32ZVBC32-NEXT: sw a0, 164(sp) ; RV32ZVBC32-NEXT: lui a6, 2 ; RV32ZVBC32-NEXT: sw zero, 152(sp) ; RV32ZVBC32-NEXT: sw s9, 156(sp) ; RV32ZVBC32-NEXT: lui t0, 4 ; RV32ZVBC32-NEXT: sw zero, 144(sp) ; RV32ZVBC32-NEXT: sw t2, 148(sp) ; RV32ZVBC32-NEXT: sw zero, 136(sp) ; RV32ZVBC32-NEXT: sw t4, 140(sp) ; RV32ZVBC32-NEXT: sw zero, 128(sp) ; RV32ZVBC32-NEXT: sw t5, 132(sp) ; RV32ZVBC32-NEXT: sw zero, 120(sp) ; RV32ZVBC32-NEXT: sw t6, 124(sp) ; RV32ZVBC32-NEXT: sw zero, 112(sp) ; RV32ZVBC32-NEXT: sw s0, 116(sp) ; RV32ZVBC32-NEXT: sw zero, 104(sp) ; RV32ZVBC32-NEXT: sw s1, 108(sp) ; RV32ZVBC32-NEXT: sw zero, 96(sp) ; RV32ZVBC32-NEXT: sw s2, 100(sp) ; RV32ZVBC32-NEXT: sw zero, 88(sp) ; RV32ZVBC32-NEXT: sw s3, 92(sp) ; RV32ZVBC32-NEXT: sw zero, 80(sp) ; RV32ZVBC32-NEXT: sw s4, 84(sp) ; RV32ZVBC32-NEXT: sw zero, 72(sp) ; RV32ZVBC32-NEXT: sw s5, 76(sp) ; RV32ZVBC32-NEXT: sw zero, 64(sp) ; RV32ZVBC32-NEXT: sw s6, 68(sp) ; RV32ZVBC32-NEXT: sw zero, 56(sp) ; RV32ZVBC32-NEXT: sw s7, 60(sp) ; RV32ZVBC32-NEXT: sw zero, 48(sp) ; RV32ZVBC32-NEXT: sw s8, 52(sp) ; RV32ZVBC32-NEXT: sw zero, 40(sp) ; RV32ZVBC32-NEXT: sw s11, 44(sp) ; RV32ZVBC32-NEXT: sw zero, 32(sp) ; RV32ZVBC32-NEXT: sw ra, 36(sp) ; RV32ZVBC32-NEXT: sw zero, 24(sp) ; RV32ZVBC32-NEXT: sw a7, 28(sp) ; RV32ZVBC32-NEXT: sw zero, 16(sp) ; RV32ZVBC32-NEXT: sw t1, 20(sp) ; RV32ZVBC32-NEXT: lui a0, 61681 ; RV32ZVBC32-NEXT: addi a0, a0, -241 ; RV32ZVBC32-NEXT: vsetvli t3, zero, e32, m2, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v2, a0 ; RV32ZVBC32-NEXT: lui a0, 209715 ; RV32ZVBC32-NEXT: addi a0, a0, 819 ; RV32ZVBC32-NEXT: vmv.v.x v0, a0 ; RV32ZVBC32-NEXT: lui a0, 349525 ; RV32ZVBC32-NEXT: addi a0, a0, 1365 ; RV32ZVBC32-NEXT: vmv.v.x v12, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 248 ; RV32ZVBC32-NEXT: vsetvli t3, zero, e64, m2, ta, ma ; RV32ZVBC32-NEXT: vlse64.v v4, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 8 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 272 ; RV32ZVBC32-NEXT: vlse64.v v14, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 256 ; RV32ZVBC32-NEXT: vlse64.v v16, (a0), zero ; RV32ZVBC32-NEXT: li t3, 56 ; RV32ZVBC32-NEXT: vsrl.vi v18, v8, 24 ; RV32ZVBC32-NEXT: vsrl.vi v20, v8, 8 ; RV32ZVBC32-NEXT: vsrl.vx v22, v8, t3 ; RV32ZVBC32-NEXT: li s9, 40 ; RV32ZVBC32-NEXT: vsrl.vx v24, v8, s9 ; RV32ZVBC32-NEXT: vsll.vx v26, v8, t3 ; RV32ZVBC32-NEXT: vsrl.vx v28, v10, t3 ; RV32ZVBC32-NEXT: vsrl.vx v30, v10, s9 ; RV32ZVBC32-NEXT: addi s10, t4, -256 ; RV32ZVBC32-NEXT: vand.vx v24, v24, s10 ; RV32ZVBC32-NEXT: vor.vv v22, v24, v22 ; RV32ZVBC32-NEXT: vsll.vx v6, v10, t3 ; RV32ZVBC32-NEXT: vand.vx v24, v30, s10 ; RV32ZVBC32-NEXT: vor.vv v30, v24, v28 ; RV32ZVBC32-NEXT: vand.vx v24, v8, s10 ; RV32ZVBC32-NEXT: vsll.vx v24, v24, s9 ; RV32ZVBC32-NEXT: vor.vv v24, v26, v24 ; RV32ZVBC32-NEXT: vand.vx v26, v10, s10 ; RV32ZVBC32-NEXT: vsll.vx v26, v26, s9 ; RV32ZVBC32-NEXT: vor.vv v26, v6, v26 ; RV32ZVBC32-NEXT: vsrl.vi v28, v10, 24 ; RV32ZVBC32-NEXT: lui a4, 4080 ; RV32ZVBC32-NEXT: vand.vx v18, v18, a4 ; RV32ZVBC32-NEXT: vand.vv v20, v20, v4 ; RV32ZVBC32-NEXT: vor.vv v20, v20, v18 ; RV32ZVBC32-NEXT: vsrl.vi v18, v10, 8 ; RV32ZVBC32-NEXT: vand.vx v28, v28, a4 ; RV32ZVBC32-NEXT: vand.vv v18, v18, v4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v4, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vor.vv v6, v18, v28 ; RV32ZVBC32-NEXT: addi a3, sp, 264 ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v28, v20, v22 ; RV32ZVBC32-NEXT: vand.vx v20, v8, a4 ; RV32ZVBC32-NEXT: vsll.vi v20, v20, 24 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v4 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 8 ; RV32ZVBC32-NEXT: vor.vv v8, v20, v8 ; RV32ZVBC32-NEXT: addi a3, sp, 240 ; RV32ZVBC32-NEXT: vlse64.v v20, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v30, v6, v30 ; RV32ZVBC32-NEXT: vand.vx v22, v10, a4 ; RV32ZVBC32-NEXT: vsll.vi v22, v22, 24 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v4 ; RV32ZVBC32-NEXT: vsll.vi v10, v10, 8 ; RV32ZVBC32-NEXT: vor.vv v10, v22, v10 ; RV32ZVBC32-NEXT: addi a3, sp, 232 ; RV32ZVBC32-NEXT: vlse64.v v22, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: addi a3, sp, 224 ; RV32ZVBC32-NEXT: vlse64.v v24, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v10, v26, v10 ; RV32ZVBC32-NEXT: addi a3, sp, 216 ; RV32ZVBC32-NEXT: vlse64.v v26, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v8, v8, v28 ; RV32ZVBC32-NEXT: addi a3, sp, 208 ; RV32ZVBC32-NEXT: vlse64.v v28, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v10, v10, v30 ; RV32ZVBC32-NEXT: vsrl.vi v30, v8, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v2, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v8, v8, v2 ; RV32ZVBC32-NEXT: vand.vv v30, v30, v2 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v30, v8 ; RV32ZVBC32-NEXT: vsrl.vi v30, v10, 4 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v2 ; RV32ZVBC32-NEXT: vand.vv v30, v30, v2 ; RV32ZVBC32-NEXT: vsll.vi v10, v10, 4 ; RV32ZVBC32-NEXT: vor.vv v10, v30, v10 ; RV32ZVBC32-NEXT: vsrl.vi v30, v8, 2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v0, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v8, v8, v0 ; RV32ZVBC32-NEXT: vand.vv v30, v30, v0 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v30, v8 ; RV32ZVBC32-NEXT: vsrl.vi v30, v10, 2 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v0 ; RV32ZVBC32-NEXT: vand.vv v30, v30, v0 ; RV32ZVBC32-NEXT: vsll.vi v10, v10, 2 ; RV32ZVBC32-NEXT: vor.vv v30, v30, v10 ; RV32ZVBC32-NEXT: vsrl.vi v10, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v6, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v6 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v6 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v10, v10, v8 ; RV32ZVBC32-NEXT: vsrl.vi v8, v30, 1 ; RV32ZVBC32-NEXT: vand.vv v30, v30, v6 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v6 ; RV32ZVBC32-NEXT: vadd.vv v30, v30, v30 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v30 ; RV32ZVBC32-NEXT: addi a3, sp, 200 ; RV32ZVBC32-NEXT: vlse64.v v30, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v22 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v26 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a3, sp, 192 ; RV32ZVBC32-NEXT: addi a1, sp, 184 ; RV32ZVBC32-NEXT: addi a0, sp, 176 ; RV32ZVBC32-NEXT: vlse64.v v12, (a3), zero ; RV32ZVBC32-NEXT: vlse64.v v14, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a0), zero ; RV32ZVBC32-NEXT: vand.vv v18, v8, v30 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v18, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a2, sp, 168 ; RV32ZVBC32-NEXT: addi a1, sp, 160 ; RV32ZVBC32-NEXT: addi a3, sp, 152 ; RV32ZVBC32-NEXT: addi a0, sp, 144 ; RV32ZVBC32-NEXT: vlse64.v v12, (a2), zero ; RV32ZVBC32-NEXT: vlse64.v v14, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a3), zero ; RV32ZVBC32-NEXT: vlse64.v v18, (a0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 136 ; RV32ZVBC32-NEXT: addi a1, sp, 128 ; RV32ZVBC32-NEXT: addi a2, sp, 120 ; RV32ZVBC32-NEXT: addi a3, sp, 112 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v14, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a2), zero ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 104 ; RV32ZVBC32-NEXT: addi a1, sp, 96 ; RV32ZVBC32-NEXT: addi a2, sp, 88 ; RV32ZVBC32-NEXT: addi a3, sp, 80 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v14, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a2), zero ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 72 ; RV32ZVBC32-NEXT: addi a1, sp, 64 ; RV32ZVBC32-NEXT: addi a2, sp, 56 ; RV32ZVBC32-NEXT: addi a3, sp, 48 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v14, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a2), zero ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 40 ; RV32ZVBC32-NEXT: addi a1, sp, 32 ; RV32ZVBC32-NEXT: addi a2, sp, 24 ; RV32ZVBC32-NEXT: addi a3, sp, 16 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v14, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a2), zero ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: li a0, 16 ; RV32ZVBC32-NEXT: vand.vx v12, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: li a0, 32 ; RV32ZVBC32-NEXT: vand.vx v18, v8, a0 ; RV32ZVBC32-NEXT: li a0, 64 ; RV32ZVBC32-NEXT: vand.vx v20, v8, a0 ; RV32ZVBC32-NEXT: li a0, 128 ; RV32ZVBC32-NEXT: vand.vx v22, v8, a0 ; RV32ZVBC32-NEXT: li a0, 256 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: li a0, 512 ; RV32ZVBC32-NEXT: vand.vx v26, v8, a0 ; RV32ZVBC32-NEXT: li a0, 1024 ; RV32ZVBC32-NEXT: vand.vx v28, v8, a0 ; RV32ZVBC32-NEXT: vand.vx v30, v8, a5 ; RV32ZVBC32-NEXT: lui a0, 1 ; RV32ZVBC32-NEXT: vand.vx v6, v8, a0 ; RV32ZVBC32-NEXT: vand.vx v4, v8, a6 ; RV32ZVBC32-NEXT: vand.vx v2, v8, t0 ; RV32ZVBC32-NEXT: vand.vx v0, v8, t2 ; RV32ZVBC32-NEXT: vand.vx v12, v8, t4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t5 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s3 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s5 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s7 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s11 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, ra ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, a7 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vi v12, v8, 2 ; RV32ZVBC32-NEXT: vand.vi v14, v8, 1 ; RV32ZVBC32-NEXT: vand.vi v16, v8, 4 ; RV32ZVBC32-NEXT: vand.vi v8, v8, 8 ; RV32ZVBC32-NEXT: vmul.vv v12, v10, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vmul.vv v12, v10, v14 ; RV32ZVBC32-NEXT: vmul.vv v14, v10, v16 ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v16, v10, v8 ; RV32ZVBC32-NEXT: vmul.vv v18, v10, v18 ; RV32ZVBC32-NEXT: vmul.vv v20, v10, v20 ; RV32ZVBC32-NEXT: vmul.vv v22, v10, v22 ; RV32ZVBC32-NEXT: vmul.vv v24, v10, v24 ; RV32ZVBC32-NEXT: vmul.vv v26, v10, v26 ; RV32ZVBC32-NEXT: vmul.vv v28, v10, v28 ; RV32ZVBC32-NEXT: vmul.vv v30, v10, v30 ; RV32ZVBC32-NEXT: vmul.vv v6, v10, v6 ; RV32ZVBC32-NEXT: vmul.vv v4, v10, v4 ; RV32ZVBC32-NEXT: vmul.vv v2, v10, v2 ; RV32ZVBC32-NEXT: vmul.vv v0, v10, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: addi a0, sp, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v10, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v12, v8 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v18 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v20 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v22 ; RV32ZVBC32-NEXT: vxor.vv v12, v8, v24 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v26 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v28 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v30 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v6 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v4 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v2 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: addi a0, sp, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v22, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v22 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v22, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v22 ; RV32ZVBC32-NEXT: vand.vx v22, v14, a4 ; RV32ZVBC32-NEXT: vsrl.vi v16, v16, 24 ; RV32ZVBC32-NEXT: vand.vx v16, v16, a4 ; RV32ZVBC32-NEXT: vand.vx v12, v12, s10 ; RV32ZVBC32-NEXT: vsll.vx v12, v12, s9 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v24, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v24 ; RV32ZVBC32-NEXT: vsrl.vx v24, v18, s9 ; RV32ZVBC32-NEXT: vand.vx v24, v24, s10 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v26 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v26 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v26 ; RV32ZVBC32-NEXT: vxor.vv v10, v20, v10 ; RV32ZVBC32-NEXT: vsll.vx v8, v8, t3 ; RV32ZVBC32-NEXT: vsrl.vx v10, v10, t3 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vsrl.vi v12, v14, 8 ; RV32ZVBC32-NEXT: vsll.vi v14, v22, 24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v12, v12, v20 ; RV32ZVBC32-NEXT: vor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: vand.vv v16, v18, v20 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 8 ; RV32ZVBC32-NEXT: vor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v14 ; RV32ZVBC32-NEXT: vor.vv v10, v24, v10 ; RV32ZVBC32-NEXT: vor.vv v10, v12, v10 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v10 ; RV32ZVBC32-NEXT: vsrl.vi v10, v8, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v12 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV32ZVBC32-NEXT: vsrl.vi v10, v8, 2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v12 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV32ZVBC32-NEXT: vsrl.vi v10, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v12 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV32ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add sp, sp, a0 ; RV32ZVBC32-NEXT: lw ra, 348(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s0, 344(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s1, 340(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s2, 336(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s3, 332(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s4, 328(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s5, 324(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s6, 320(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s7, 316(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s8, 312(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s9, 308(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s10, 304(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s11, 300(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: addi sp, sp, 352 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv2i64_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: addi sp, sp, -320 ; RV64ZVBC32-NEXT: sd ra, 312(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s0, 304(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s1, 296(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s2, 288(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s3, 280(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s4, 272(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s5, 264(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s6, 256(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s7, 248(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s8, 240(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s9, 232(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s10, 224(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s11, 216(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: sub sp, sp, a0 ; RV64ZVBC32-NEXT: lui a1, 16 ; RV64ZVBC32-NEXT: vsetvli a0, zero, e64, m2, ta, ma ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 24 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 8 ; RV64ZVBC32-NEXT: li a4, 255 ; RV64ZVBC32-NEXT: lui a0, 61681 ; RV64ZVBC32-NEXT: lui a2, 209715 ; RV64ZVBC32-NEXT: lui a3, 349525 ; RV64ZVBC32-NEXT: vsrl.vi v18, v10, 24 ; RV64ZVBC32-NEXT: vsrl.vi v14, v10, 8 ; RV64ZVBC32-NEXT: li a5, 16 ; RV64ZVBC32-NEXT: li a6, 32 ; RV64ZVBC32-NEXT: li a7, 64 ; RV64ZVBC32-NEXT: li t0, 128 ; RV64ZVBC32-NEXT: li t2, 256 ; RV64ZVBC32-NEXT: li t3, 512 ; RV64ZVBC32-NEXT: li t4, 1024 ; RV64ZVBC32-NEXT: li t1, 1 ; RV64ZVBC32-NEXT: lui s4, 1 ; RV64ZVBC32-NEXT: lui s3, 2 ; RV64ZVBC32-NEXT: lui s5, 4 ; RV64ZVBC32-NEXT: lui t5, 8 ; RV64ZVBC32-NEXT: lui s0, 32 ; RV64ZVBC32-NEXT: li s6, 56 ; RV64ZVBC32-NEXT: vsrl.vx v30, v8, s6 ; RV64ZVBC32-NEXT: li s7, 40 ; RV64ZVBC32-NEXT: vsrl.vx v0, v8, s7 ; RV64ZVBC32-NEXT: addi s9, a1, -256 ; RV64ZVBC32-NEXT: lui s8, 4080 ; RV64ZVBC32-NEXT: vand.vx v2, v16, s8 ; RV64ZVBC32-NEXT: slli a4, a4, 24 ; RV64ZVBC32-NEXT: vand.vx v4, v8, s8 ; RV64ZVBC32-NEXT: vsll.vx v6, v8, s6 ; RV64ZVBC32-NEXT: addi t6, a0, -241 ; RV64ZVBC32-NEXT: addi s1, a2, 819 ; RV64ZVBC32-NEXT: addi s2, a3, 1365 ; RV64ZVBC32-NEXT: vsrl.vx v20, v10, s6 ; RV64ZVBC32-NEXT: vsrl.vx v22, v10, s7 ; RV64ZVBC32-NEXT: vand.vx v18, v18, s8 ; RV64ZVBC32-NEXT: vand.vx v24, v10, s8 ; RV64ZVBC32-NEXT: vsll.vx v16, v10, s6 ; RV64ZVBC32-NEXT: slli s11, t1, 11 ; RV64ZVBC32-NEXT: slli a0, t1, 31 ; RV64ZVBC32-NEXT: sd a0, 152(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t1, 32 ; RV64ZVBC32-NEXT: sd a0, 144(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t1, 33 ; RV64ZVBC32-NEXT: sd a0, 136(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t1, 34 ; RV64ZVBC32-NEXT: sd a0, 128(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t6, 32 ; RV64ZVBC32-NEXT: add t6, t6, a0 ; RV64ZVBC32-NEXT: slli a0, s1, 32 ; RV64ZVBC32-NEXT: add s1, s1, a0 ; RV64ZVBC32-NEXT: slli a0, s2, 32 ; RV64ZVBC32-NEXT: add s2, s2, a0 ; RV64ZVBC32-NEXT: slli a0, t1, 35 ; RV64ZVBC32-NEXT: sd a0, 120(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v22, v22, s9 ; RV64ZVBC32-NEXT: vand.vx v14, v14, a4 ; RV64ZVBC32-NEXT: vsll.vi v24, v24, 24 ; RV64ZVBC32-NEXT: vand.vx v26, v10, a4 ; RV64ZVBC32-NEXT: vand.vx v10, v10, s9 ; RV64ZVBC32-NEXT: vor.vv v20, v22, v20 ; RV64ZVBC32-NEXT: vor.vv v14, v14, v18 ; RV64ZVBC32-NEXT: vsll.vi v18, v26, 8 ; RV64ZVBC32-NEXT: li a0, 40 ; RV64ZVBC32-NEXT: vsll.vx v10, v10, a0 ; RV64ZVBC32-NEXT: vor.vv v14, v14, v20 ; RV64ZVBC32-NEXT: vor.vv v18, v24, v18 ; RV64ZVBC32-NEXT: vor.vv v10, v16, v10 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v18 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vsrl.vi v14, v10, 4 ; RV64ZVBC32-NEXT: vand.vx v10, v10, t6 ; RV64ZVBC32-NEXT: vand.vx v14, v14, t6 ; RV64ZVBC32-NEXT: vsll.vi v10, v10, 4 ; RV64ZVBC32-NEXT: vor.vv v10, v14, v10 ; RV64ZVBC32-NEXT: vsrl.vi v14, v10, 2 ; RV64ZVBC32-NEXT: vand.vx v10, v10, s1 ; RV64ZVBC32-NEXT: vand.vx v14, v14, s1 ; RV64ZVBC32-NEXT: vsll.vi v10, v10, 2 ; RV64ZVBC32-NEXT: vor.vv v10, v14, v10 ; RV64ZVBC32-NEXT: vsrl.vi v14, v10, 1 ; RV64ZVBC32-NEXT: vand.vx v10, v10, s2 ; RV64ZVBC32-NEXT: vand.vx v14, v14, s2 ; RV64ZVBC32-NEXT: vadd.vv v10, v10, v10 ; RV64ZVBC32-NEXT: vor.vv v14, v14, v10 ; RV64ZVBC32-NEXT: vand.vx v20, v14, a5 ; RV64ZVBC32-NEXT: slli a2, t1, 36 ; RV64ZVBC32-NEXT: sd a2, 112(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v22, v14, a6 ; RV64ZVBC32-NEXT: slli a2, t1, 37 ; RV64ZVBC32-NEXT: sd a2, 104(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v24, v14, a7 ; RV64ZVBC32-NEXT: slli a2, t1, 38 ; RV64ZVBC32-NEXT: sd a2, 96(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v26, v14, t0 ; RV64ZVBC32-NEXT: slli a2, t1, 39 ; RV64ZVBC32-NEXT: sd a2, 88(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v28, v14, t2 ; RV64ZVBC32-NEXT: slli a2, t1, 40 ; RV64ZVBC32-NEXT: sd a2, 80(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, t3 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 7 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a2) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: slli a2, t1, 41 ; RV64ZVBC32-NEXT: sd a2, 72(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, t4 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a2) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: slli a2, t1, 42 ; RV64ZVBC32-NEXT: sd a2, 64(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, s11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a2) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: slli a2, t1, 43 ; RV64ZVBC32-NEXT: sd a2, 56(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s9, 160(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v0, s9 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v30 ; RV64ZVBC32-NEXT: vand.vx v0, v14, s4 ; RV64ZVBC32-NEXT: slli a2, t1, 44 ; RV64ZVBC32-NEXT: sd a2, 48(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd a4, 168(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v12, a4 ; RV64ZVBC32-NEXT: vor.vv v12, v12, v2 ; RV64ZVBC32-NEXT: vand.vx v2, v14, s3 ; RV64ZVBC32-NEXT: slli a2, t1, 45 ; RV64ZVBC32-NEXT: sd a2, 40(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vsll.vi v16, v4, 24 ; RV64ZVBC32-NEXT: vor.vv v10, v12, v10 ; RV64ZVBC32-NEXT: vand.vx v12, v8, a4 ; RV64ZVBC32-NEXT: vsll.vi v12, v12, 8 ; RV64ZVBC32-NEXT: vor.vv v12, v16, v12 ; RV64ZVBC32-NEXT: vand.vx v16, v14, s5 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 208 ; RV64ZVBC32-NEXT: vs2r.v v16, (a2) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: slli a2, t1, 46 ; RV64ZVBC32-NEXT: sd a2, 32(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v8, s9 ; RV64ZVBC32-NEXT: vsll.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vor.vv v8, v6, v8 ; RV64ZVBC32-NEXT: vand.vx v16, v14, t5 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a2, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a2, a2, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a2, a2, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a2 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v16, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t1, 47 ; RV64ZVBC32-NEXT: sd a0, 24(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vor.vv v8, v8, v12 ; RV64ZVBC32-NEXT: vand.vx v12, v14, a1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t1, 48 ; RV64ZVBC32-NEXT: sd a0, 16(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vor.vv v8, v8, v10 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 4 ; RV64ZVBC32-NEXT: sd t6, 176(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v8, t6 ; RV64ZVBC32-NEXT: vand.vx v10, v10, t6 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 2 ; RV64ZVBC32-NEXT: sd s1, 184(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v8, s1 ; RV64ZVBC32-NEXT: vand.vx v10, v10, s1 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 1 ; RV64ZVBC32-NEXT: sd s2, 192(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v8, s2 ; RV64ZVBC32-NEXT: vand.vx v10, v10, s2 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vand.vx v10, v14, s0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: slli ra, t1, 49 ; RV64ZVBC32-NEXT: slli s11, t1, 50 ; RV64ZVBC32-NEXT: slli s10, t1, 51 ; RV64ZVBC32-NEXT: slli s9, t1, 52 ; RV64ZVBC32-NEXT: slli s8, t1, 53 ; RV64ZVBC32-NEXT: slli s7, t1, 54 ; RV64ZVBC32-NEXT: slli s6, t1, 55 ; RV64ZVBC32-NEXT: slli s5, t1, 56 ; RV64ZVBC32-NEXT: slli s4, t1, 57 ; RV64ZVBC32-NEXT: slli s3, t1, 58 ; RV64ZVBC32-NEXT: slli s2, t1, 59 ; RV64ZVBC32-NEXT: slli t6, t1, 60 ; RV64ZVBC32-NEXT: slli s1, t1, 61 ; RV64ZVBC32-NEXT: slli s0, t1, 62 ; RV64ZVBC32-NEXT: li a0, -1 ; RV64ZVBC32-NEXT: slli t5, a0, 63 ; RV64ZVBC32-NEXT: lui a0, 64 ; RV64ZVBC32-NEXT: lui a1, 128 ; RV64ZVBC32-NEXT: lui a2, 256 ; RV64ZVBC32-NEXT: lui a3, 512 ; RV64ZVBC32-NEXT: lui a4, 1024 ; RV64ZVBC32-NEXT: lui a5, 2048 ; RV64ZVBC32-NEXT: lui a6, 4096 ; RV64ZVBC32-NEXT: lui a7, 8192 ; RV64ZVBC32-NEXT: lui t0, 16384 ; RV64ZVBC32-NEXT: lui t1, 32768 ; RV64ZVBC32-NEXT: lui t2, 65536 ; RV64ZVBC32-NEXT: lui t3, 131072 ; RV64ZVBC32-NEXT: lui t4, 262144 ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: sd s6, 8(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: mv s6, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add s6, s6, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add s6, s6, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, s6 ; RV64ZVBC32-NEXT: ld s6, 8(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, a1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, a2 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, a3 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, a4 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, a5 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, a6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, a7 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, t0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, t1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, t2 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, t3 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, t4 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 152(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 144(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 136(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 128(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 120(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 112(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 104(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 96(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 88(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 80(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 72(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 64(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 56(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 48(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 40(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 32(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 24(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 16(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v10, v14, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, ra ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, s11 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, s10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, s9 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, s8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, s7 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, s6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, s5 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, s4 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, s3 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, s2 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v14, t6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vi v10, v14, 2 ; RV64ZVBC32-NEXT: vand.vi v12, v14, 1 ; RV64ZVBC32-NEXT: vand.vi v16, v14, 4 ; RV64ZVBC32-NEXT: vand.vi v18, v14, 8 ; RV64ZVBC32-NEXT: vand.vx v30, v14, s1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v30, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v30, v14, s0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v30, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v14, v14, t5 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v14, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v16 ; RV64ZVBC32-NEXT: vmul.vv v14, v8, v18 ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v20 ; RV64ZVBC32-NEXT: vmul.vv v18, v8, v22 ; RV64ZVBC32-NEXT: vmul.vv v20, v8, v24 ; RV64ZVBC32-NEXT: vmul.vv v22, v8, v26 ; RV64ZVBC32-NEXT: vmul.vv v24, v8, v28 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v26, v8, v26 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v28, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v28, v8, v28 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v30, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v30, v8, v30 ; RV64ZVBC32-NEXT: vmul.vv v6, v8, v0 ; RV64ZVBC32-NEXT: vmul.vv v4, v8, v2 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v2, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v2, v8, v2 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v0, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v0, v8, v0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: addi a0, sp, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v10, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v10, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v8, v8, v10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v10, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v8, v10 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v16 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v18 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v20 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v22 ; RV64ZVBC32-NEXT: vxor.vv v12, v10, v24 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v26 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v28 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v30 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v6 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 208 ; RV64ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v14, v12, v8 ; RV64ZVBC32-NEXT: addi a0, sp, 208 ; RV64ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v8 ; RV64ZVBC32-NEXT: li a0, 56 ; RV64ZVBC32-NEXT: vsll.vx v10, v10, a0 ; RV64ZVBC32-NEXT: ld a2, 160(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v12, a2 ; RV64ZVBC32-NEXT: li a4, 40 ; RV64ZVBC32-NEXT: vsll.vx v12, v12, a4 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v12, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v14, v12 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 4 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 5 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 4 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v14, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v14, v12, v14 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 4 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 4 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 5 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 6 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v16, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v14, v16 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v18, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v18, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV64ZVBC32-NEXT: vsrl.vi v18, v12, 8 ; RV64ZVBC32-NEXT: ld a3, 168(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v18, v18, a3 ; RV64ZVBC32-NEXT: vsrl.vi v14, v14, 24 ; RV64ZVBC32-NEXT: lui a1, 4080 ; RV64ZVBC32-NEXT: vand.vx v14, v14, a1 ; RV64ZVBC32-NEXT: vor.vv v14, v18, v14 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 208 ; RV64ZVBC32-NEXT: vl2r.v v18, (a5) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 4 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 208 ; RV64ZVBC32-NEXT: vl2r.v v18, (a5) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 2 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 208 ; RV64ZVBC32-NEXT: vl2r.v v18, (a5) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 2 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 2 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 208 ; RV64ZVBC32-NEXT: vl2r.v v18, (a5) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 2 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 2 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 208 ; RV64ZVBC32-NEXT: vl2r.v v18, (a5) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a1 ; RV64ZVBC32-NEXT: vsll.vi v12, v12, 24 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a5, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a5, a5, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a5, a5, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a5, a5, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a5 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v18, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v18, v16, v18 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: mv a5, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a5, a5, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a5, a5, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a5 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v20, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV64ZVBC32-NEXT: vand.vx v20, v16, a3 ; RV64ZVBC32-NEXT: vsll.vi v20, v20, 8 ; RV64ZVBC32-NEXT: vor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v20, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a3, a3, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a3 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v12, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v18, v12 ; RV64ZVBC32-NEXT: vsrl.vx v16, v16, a4 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 7 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v18, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v18 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v18, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v18 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v18, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v18 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 208 ; RV64ZVBC32-NEXT: vl2r.v v8, (a1) # vscale x 16-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vsrl.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v14, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 4 ; RV64ZVBC32-NEXT: ld a0, 176(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a0 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 2 ; RV64ZVBC32-NEXT: ld a0, 184(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a0 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 1 ; RV64ZVBC32-NEXT: ld a0, 192(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a0 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add sp, sp, a0 ; RV64ZVBC32-NEXT: ld ra, 312(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s0, 304(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s1, 296(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s2, 288(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s3, 280(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s4, 272(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s5, 264(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s6, 256(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s7, 248(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s8, 240(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s9, 232(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s10, 224(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s11, 216(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: addi sp, sp, 320 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv2i128( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i128 64) %res = trunc %res.ext to ret %res } define @clmulh_nxv2i64_vx( %va, i64 %b) nounwind { ; RV32V-LABEL: clmulh_nxv2i64_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -368 ; RV32V-NEXT: sw ra, 364(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s0, 360(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s1, 356(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s2, 352(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s3, 348(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s4, 344(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s5, 340(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s6, 336(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s7, 332(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s8, 328(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s9, 324(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s10, 320(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s11, 316(sp) # 4-byte Folded Spill ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 2 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 2 ; RV32V-NEXT: add a3, a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a3, a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: sub sp, sp, a2 ; RV32V-NEXT: sw a0, 16(sp) ; RV32V-NEXT: sw a1, 20(sp) ; RV32V-NEXT: addi s7, sp, 16 ; RV32V-NEXT: lui s9, 1044480 ; RV32V-NEXT: li s1, 1 ; RV32V-NEXT: li ra, 2 ; RV32V-NEXT: li s3, 4 ; RV32V-NEXT: li s5, 8 ; RV32V-NEXT: li s6, 32 ; RV32V-NEXT: li s11, 64 ; RV32V-NEXT: li s4, 128 ; RV32V-NEXT: li s2, 256 ; RV32V-NEXT: li s0, 512 ; RV32V-NEXT: li t6, 1024 ; RV32V-NEXT: lui t5, 1 ; RV32V-NEXT: lui s8, 2 ; RV32V-NEXT: lui t4, 4 ; RV32V-NEXT: lui t2, 8 ; RV32V-NEXT: lui t1, 16 ; RV32V-NEXT: lui t0, 32 ; RV32V-NEXT: lui a7, 64 ; RV32V-NEXT: lui a6, 128 ; RV32V-NEXT: lui a5, 256 ; RV32V-NEXT: lui t3, 512 ; RV32V-NEXT: lui a4, 1024 ; RV32V-NEXT: lui a3, 2048 ; RV32V-NEXT: lui a2, 4096 ; RV32V-NEXT: lui a1, 8192 ; RV32V-NEXT: vsetvli s10, zero, e64, m2, ta, ma ; RV32V-NEXT: vlse64.v v18, (s7), zero ; RV32V-NEXT: lui s10, 16384 ; RV32V-NEXT: sw s9, 264(sp) ; RV32V-NEXT: lui s9, 32768 ; RV32V-NEXT: sw zero, 268(sp) ; RV32V-NEXT: lui a0, 524288 ; RV32V-NEXT: sw a0, 24(sp) ; RV32V-NEXT: sw zero, 28(sp) ; RV32V-NEXT: sw zero, 288(sp) ; RV32V-NEXT: sw s1, 292(sp) ; RV32V-NEXT: sw zero, 272(sp) ; RV32V-NEXT: sw ra, 276(sp) ; RV32V-NEXT: lui ra, 65536 ; RV32V-NEXT: sw zero, 280(sp) ; RV32V-NEXT: sw s3, 284(sp) ; RV32V-NEXT: lui s7, 131072 ; RV32V-NEXT: sw zero, 256(sp) ; RV32V-NEXT: sw s5, 260(sp) ; RV32V-NEXT: lui s3, 262144 ; RV32V-NEXT: sw zero, 248(sp) ; RV32V-NEXT: li s5, 16 ; RV32V-NEXT: sw s5, 252(sp) ; RV32V-NEXT: sw zero, 240(sp) ; RV32V-NEXT: sw s6, 244(sp) ; RV32V-NEXT: li s5, 32 ; RV32V-NEXT: sw zero, 232(sp) ; RV32V-NEXT: sw s11, 236(sp) ; RV32V-NEXT: sw zero, 224(sp) ; RV32V-NEXT: sw s4, 228(sp) ; RV32V-NEXT: sw zero, 216(sp) ; RV32V-NEXT: sw s2, 220(sp) ; RV32V-NEXT: sw zero, 208(sp) ; RV32V-NEXT: sw s0, 212(sp) ; RV32V-NEXT: sw zero, 200(sp) ; RV32V-NEXT: sw t6, 204(sp) ; RV32V-NEXT: slli s1, s1, 11 ; RV32V-NEXT: sw zero, 192(sp) ; RV32V-NEXT: sw s1, 196(sp) ; RV32V-NEXT: sw zero, 184(sp) ; RV32V-NEXT: sw t5, 188(sp) ; RV32V-NEXT: sw zero, 176(sp) ; RV32V-NEXT: sw s8, 180(sp) ; RV32V-NEXT: sw zero, 168(sp) ; RV32V-NEXT: sw t4, 172(sp) ; RV32V-NEXT: lui s4, 4 ; RV32V-NEXT: sw zero, 160(sp) ; RV32V-NEXT: sw t2, 164(sp) ; RV32V-NEXT: sw zero, 152(sp) ; RV32V-NEXT: sw t1, 156(sp) ; RV32V-NEXT: lui s0, 16 ; RV32V-NEXT: sw zero, 144(sp) ; RV32V-NEXT: sw t0, 148(sp) ; RV32V-NEXT: sw zero, 136(sp) ; RV32V-NEXT: sw a7, 140(sp) ; RV32V-NEXT: lui t5, 64 ; RV32V-NEXT: sw zero, 128(sp) ; RV32V-NEXT: sw a6, 132(sp) ; RV32V-NEXT: lui s2, 128 ; RV32V-NEXT: sw zero, 120(sp) ; RV32V-NEXT: sw a5, 124(sp) ; RV32V-NEXT: lui t6, 256 ; RV32V-NEXT: sw zero, 112(sp) ; RV32V-NEXT: sw t3, 116(sp) ; RV32V-NEXT: lui a7, 512 ; RV32V-NEXT: sw zero, 104(sp) ; RV32V-NEXT: sw a4, 108(sp) ; RV32V-NEXT: lui t4, 1024 ; RV32V-NEXT: sw zero, 96(sp) ; RV32V-NEXT: sw a3, 100(sp) ; RV32V-NEXT: lui a5, 2048 ; RV32V-NEXT: sw zero, 88(sp) ; RV32V-NEXT: sw a2, 92(sp) ; RV32V-NEXT: lui a6, 4096 ; RV32V-NEXT: sw zero, 80(sp) ; RV32V-NEXT: sw a1, 84(sp) ; RV32V-NEXT: lui a4, 8192 ; RV32V-NEXT: sw zero, 72(sp) ; RV32V-NEXT: sw s10, 76(sp) ; RV32V-NEXT: lui t1, 16384 ; RV32V-NEXT: sw zero, 64(sp) ; RV32V-NEXT: sw s9, 68(sp) ; RV32V-NEXT: sw zero, 56(sp) ; RV32V-NEXT: sw ra, 60(sp) ; RV32V-NEXT: sw zero, 48(sp) ; RV32V-NEXT: sw s7, 52(sp) ; RV32V-NEXT: sw zero, 40(sp) ; RV32V-NEXT: sw s3, 44(sp) ; RV32V-NEXT: sw zero, 32(sp) ; RV32V-NEXT: sw a0, 36(sp) ; RV32V-NEXT: lui t3, 61681 ; RV32V-NEXT: addi t3, t3, -241 ; RV32V-NEXT: vsetvli s8, zero, e32, m2, ta, ma ; RV32V-NEXT: vmv.v.x v4, t3 ; RV32V-NEXT: lui t3, 209715 ; RV32V-NEXT: addi t3, t3, 819 ; RV32V-NEXT: vmv.v.x v2, t3 ; RV32V-NEXT: lui t3, 349525 ; RV32V-NEXT: addi t3, t3, 1365 ; RV32V-NEXT: vmv.v.x v0, t3 ; RV32V-NEXT: addi t3, sp, 264 ; RV32V-NEXT: vsetvli s8, zero, e64, m2, ta, ma ; RV32V-NEXT: vlse64.v v6, (t3), zero ; RV32V-NEXT: addi t3, sp, 24 ; RV32V-NEXT: vlse64.v v12, (t3), zero ; RV32V-NEXT: addi t3, sp, 288 ; RV32V-NEXT: vlse64.v v14, (t3), zero ; RV32V-NEXT: addi t3, sp, 272 ; RV32V-NEXT: vlse64.v v16, (t3), zero ; RV32V-NEXT: li t3, 56 ; RV32V-NEXT: vsrl.vi v10, v8, 24 ; RV32V-NEXT: vsrl.vi v20, v8, 8 ; RV32V-NEXT: vsrl.vx v22, v8, t3 ; RV32V-NEXT: li s8, 40 ; RV32V-NEXT: vsrl.vx v24, v8, s8 ; RV32V-NEXT: lui s11, 4080 ; RV32V-NEXT: vand.vx v28, v10, s11 ; RV32V-NEXT: vsll.vx v10, v8, t3 ; RV32V-NEXT: addi s10, s0, -256 ; RV32V-NEXT: vand.vx v24, v24, s10 ; RV32V-NEXT: vand.vx v26, v8, s10 ; RV32V-NEXT: vor.vv v22, v24, v22 ; RV32V-NEXT: vsll.vx v24, v26, s8 ; RV32V-NEXT: vor.vv v10, v10, v24 ; RV32V-NEXT: vsrl.vx v24, v18, t3 ; RV32V-NEXT: vsrl.vx v26, v18, s8 ; RV32V-NEXT: vsll.vx v30, v18, t3 ; RV32V-NEXT: vand.vx v26, v26, s10 ; RV32V-NEXT: vor.vv v24, v26, v24 ; RV32V-NEXT: vand.vx v26, v18, s10 ; RV32V-NEXT: vsll.vx v26, v26, s8 ; RV32V-NEXT: vor.vv v26, v30, v26 ; RV32V-NEXT: vsrl.vi v30, v18, 24 ; RV32V-NEXT: vand.vv v20, v20, v6 ; RV32V-NEXT: vor.vv v28, v20, v28 ; RV32V-NEXT: vsrl.vi v20, v18, 8 ; RV32V-NEXT: vand.vx v30, v30, s11 ; RV32V-NEXT: vand.vv v20, v20, v6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v6, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vor.vv v30, v20, v30 ; RV32V-NEXT: addi a3, sp, 280 ; RV32V-NEXT: vlse64.v v20, (a3), zero ; RV32V-NEXT: vor.vv v28, v28, v22 ; RV32V-NEXT: vand.vx v22, v8, s11 ; RV32V-NEXT: vsll.vi v22, v22, 24 ; RV32V-NEXT: vand.vv v8, v8, v6 ; RV32V-NEXT: vsll.vi v8, v8, 8 ; RV32V-NEXT: vor.vv v8, v22, v8 ; RV32V-NEXT: addi a3, sp, 256 ; RV32V-NEXT: vlse64.v v22, (a3), zero ; RV32V-NEXT: vor.vv v30, v30, v24 ; RV32V-NEXT: vand.vx v24, v18, s11 ; RV32V-NEXT: vsll.vi v24, v24, 24 ; RV32V-NEXT: vand.vv v18, v18, v6 ; RV32V-NEXT: vsll.vi v18, v18, 8 ; RV32V-NEXT: vor.vv v6, v24, v18 ; RV32V-NEXT: addi a3, sp, 248 ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: vor.vv v8, v10, v8 ; RV32V-NEXT: addi a3, sp, 240 ; RV32V-NEXT: vlse64.v v24, (a3), zero ; RV32V-NEXT: vor.vv v10, v26, v6 ; RV32V-NEXT: addi a3, sp, 232 ; RV32V-NEXT: vlse64.v v26, (a3), zero ; RV32V-NEXT: vor.vv v8, v8, v28 ; RV32V-NEXT: addi a3, sp, 224 ; RV32V-NEXT: vlse64.v v28, (a3), zero ; RV32V-NEXT: vor.vv v10, v10, v30 ; RV32V-NEXT: vsrl.vi v30, v8, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v4, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v8, v8, v4 ; RV32V-NEXT: vand.vv v30, v30, v4 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v30, v8 ; RV32V-NEXT: vsrl.vi v30, v10, 4 ; RV32V-NEXT: vand.vv v10, v10, v4 ; RV32V-NEXT: vand.vv v30, v30, v4 ; RV32V-NEXT: vsll.vi v10, v10, 4 ; RV32V-NEXT: vor.vv v10, v30, v10 ; RV32V-NEXT: vsrl.vi v30, v8, 2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v2, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v8, v8, v2 ; RV32V-NEXT: vand.vv v30, v30, v2 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v30, v8 ; RV32V-NEXT: vsrl.vi v30, v10, 2 ; RV32V-NEXT: vand.vv v10, v10, v2 ; RV32V-NEXT: vand.vv v30, v30, v2 ; RV32V-NEXT: vsll.vi v10, v10, 2 ; RV32V-NEXT: vor.vv v30, v30, v10 ; RV32V-NEXT: vsrl.vi v10, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v0, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v8, v8, v0 ; RV32V-NEXT: vand.vv v10, v10, v0 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v10, v10, v8 ; RV32V-NEXT: vsrl.vi v8, v30, 1 ; RV32V-NEXT: vand.vv v30, v30, v0 ; RV32V-NEXT: vand.vv v8, v8, v0 ; RV32V-NEXT: vadd.vv v30, v30, v30 ; RV32V-NEXT: vor.vv v8, v8, v30 ; RV32V-NEXT: addi a3, sp, 216 ; RV32V-NEXT: vlse64.v v30, (a3), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v22 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v26 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a3, sp, 208 ; RV32V-NEXT: addi a1, sp, 200 ; RV32V-NEXT: addi a0, sp, 192 ; RV32V-NEXT: vlse64.v v12, (a3), zero ; RV32V-NEXT: vlse64.v v14, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a0), zero ; RV32V-NEXT: vand.vv v18, v8, v30 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v18, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a2, sp, 184 ; RV32V-NEXT: addi a1, sp, 176 ; RV32V-NEXT: addi a3, sp, 168 ; RV32V-NEXT: addi a0, sp, 160 ; RV32V-NEXT: vlse64.v v12, (a2), zero ; RV32V-NEXT: vlse64.v v14, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a3), zero ; RV32V-NEXT: vlse64.v v18, (a0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 152 ; RV32V-NEXT: addi a1, sp, 144 ; RV32V-NEXT: addi a2, sp, 136 ; RV32V-NEXT: addi a3, sp, 128 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v14, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a2), zero ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 120 ; RV32V-NEXT: addi a1, sp, 112 ; RV32V-NEXT: addi a2, sp, 104 ; RV32V-NEXT: addi a3, sp, 96 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v14, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a2), zero ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 88 ; RV32V-NEXT: addi a1, sp, 80 ; RV32V-NEXT: addi a2, sp, 72 ; RV32V-NEXT: addi a3, sp, 64 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v14, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a2), zero ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 56 ; RV32V-NEXT: addi a1, sp, 48 ; RV32V-NEXT: addi a2, sp, 40 ; RV32V-NEXT: addi a3, sp, 32 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v14, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a2), zero ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vx v12, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v18, v8, s5 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vand.vx v20, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v22, v8, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vand.vx v26, v8, a0 ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vand.vx v28, v8, a0 ; RV32V-NEXT: vand.vx v30, v8, s1 ; RV32V-NEXT: lui a0, 1 ; RV32V-NEXT: vand.vx v6, v8, a0 ; RV32V-NEXT: lui a0, 2 ; RV32V-NEXT: vand.vx v4, v8, a0 ; RV32V-NEXT: vand.vx v2, v8, s4 ; RV32V-NEXT: vand.vx v0, v8, t2 ; RV32V-NEXT: vand.vx v12, v8, s0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t5 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, a7 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, a5 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, a6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, a4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s9 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, ra ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s7 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s3 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vand.vi v12, v8, 2 ; RV32V-NEXT: vand.vi v14, v8, 1 ; RV32V-NEXT: vand.vi v16, v8, 4 ; RV32V-NEXT: vand.vi v8, v8, 8 ; RV32V-NEXT: vmul.vv v12, v10, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: vmul.vv v12, v10, v14 ; RV32V-NEXT: vmul.vv v14, v10, v16 ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v16, v10, v8 ; RV32V-NEXT: vmul.vv v18, v10, v18 ; RV32V-NEXT: vmul.vv v20, v10, v20 ; RV32V-NEXT: vmul.vv v22, v10, v22 ; RV32V-NEXT: vmul.vv v24, v10, v24 ; RV32V-NEXT: vmul.vv v26, v10, v26 ; RV32V-NEXT: vmul.vv v28, v10, v28 ; RV32V-NEXT: vmul.vv v30, v10, v30 ; RV32V-NEXT: vmul.vv v6, v10, v6 ; RV32V-NEXT: vmul.vv v4, v10, v4 ; RV32V-NEXT: vmul.vv v2, v10, v2 ; RV32V-NEXT: vmul.vv v0, v10, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: addi a0, sp, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vmul.vv v10, v10, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v12, v8 ; RV32V-NEXT: vxor.vv v8, v8, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v12 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: vxor.vv v8, v8, v18 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vxor.vv v8, v8, v22 ; RV32V-NEXT: vxor.vv v12, v8, v24 ; RV32V-NEXT: vxor.vv v12, v12, v26 ; RV32V-NEXT: vxor.vv v12, v12, v28 ; RV32V-NEXT: vxor.vv v12, v12, v30 ; RV32V-NEXT: vxor.vv v12, v12, v6 ; RV32V-NEXT: vxor.vv v12, v12, v4 ; RV32V-NEXT: vxor.vv v12, v12, v2 ; RV32V-NEXT: vxor.vv v12, v12, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v12, v14 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: addi a0, sp, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v14, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v14, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v16, v18 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v18, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v18, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v22, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v22 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v22, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v22 ; RV32V-NEXT: vand.vx v22, v14, s11 ; RV32V-NEXT: vsrl.vi v16, v16, 24 ; RV32V-NEXT: vand.vx v16, v16, s11 ; RV32V-NEXT: vand.vx v12, v12, s10 ; RV32V-NEXT: vsll.vx v12, v12, s8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v24, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v24 ; RV32V-NEXT: vsrl.vx v24, v18, s8 ; RV32V-NEXT: vand.vx v24, v24, s10 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v26 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v26 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v26 ; RV32V-NEXT: vxor.vv v10, v20, v10 ; RV32V-NEXT: vsll.vx v8, v8, t3 ; RV32V-NEXT: vsrl.vx v10, v10, t3 ; RV32V-NEXT: vor.vv v8, v8, v12 ; RV32V-NEXT: vsrl.vi v12, v14, 8 ; RV32V-NEXT: vsll.vi v14, v22, 24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vand.vv v12, v12, v20 ; RV32V-NEXT: vor.vv v12, v12, v16 ; RV32V-NEXT: vand.vv v16, v18, v20 ; RV32V-NEXT: vsll.vi v16, v16, 8 ; RV32V-NEXT: vor.vv v14, v14, v16 ; RV32V-NEXT: vor.vv v8, v8, v14 ; RV32V-NEXT: vor.vv v10, v24, v10 ; RV32V-NEXT: vor.vv v10, v12, v10 ; RV32V-NEXT: vor.vv v8, v8, v10 ; RV32V-NEXT: vsrl.vi v10, v8, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v12 ; RV32V-NEXT: vand.vv v10, v10, v12 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v10, v8 ; RV32V-NEXT: vsrl.vi v10, v8, 2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v12 ; RV32V-NEXT: vand.vv v10, v10, v12 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v10, v8 ; RV32V-NEXT: vsrl.vi v10, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v12 ; RV32V-NEXT: vand.vv v10, v10, v12 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v10, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: lw ra, 364(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s0, 360(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s1, 356(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s2, 352(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s3, 348(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s4, 344(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s5, 340(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s6, 336(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s7, 332(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s8, 328(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s9, 324(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s10, 320(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s11, 316(sp) # 4-byte Folded Reload ; RV32V-NEXT: addi sp, sp, 368 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv2i64_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: li a1, 56 ; RV64V-NEXT: lui t2, 16 ; RV64V-NEXT: lui a2, 4080 ; RV64V-NEXT: li t0, 255 ; RV64V-NEXT: lui a3, 61681 ; RV64V-NEXT: lui a4, 209715 ; RV64V-NEXT: lui a5, 349525 ; RV64V-NEXT: srli a6, a0, 24 ; RV64V-NEXT: srli a7, a0, 8 ; RV64V-NEXT: srli t1, a0, 40 ; RV64V-NEXT: srli t3, a0, 56 ; RV64V-NEXT: addi a3, a3, -241 ; RV64V-NEXT: addi a4, a4, 819 ; RV64V-NEXT: addi t4, a5, 1365 ; RV64V-NEXT: slli a5, a3, 32 ; RV64V-NEXT: add a5, a3, a5 ; RV64V-NEXT: slli a3, a4, 32 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, t4, 32 ; RV64V-NEXT: add a3, t4, a3 ; RV64V-NEXT: srliw t4, a0, 24 ; RV64V-NEXT: slli t0, t0, 24 ; RV64V-NEXT: and a6, a6, a2 ; RV64V-NEXT: and a7, a7, t0 ; RV64V-NEXT: or t5, a7, a6 ; RV64V-NEXT: addi a6, t2, -256 ; RV64V-NEXT: and a7, t1, a6 ; RV64V-NEXT: or t1, a7, t3 ; RV64V-NEXT: and a7, a0, a2 ; RV64V-NEXT: slli t4, t4, 32 ; RV64V-NEXT: slli a7, a7, 24 ; RV64V-NEXT: or t3, a7, t4 ; RV64V-NEXT: li a7, 40 ; RV64V-NEXT: vsetvli t4, zero, e64, m2, ta, ma ; RV64V-NEXT: vsrl.vi v12, v8, 24 ; RV64V-NEXT: vsrl.vi v10, v8, 8 ; RV64V-NEXT: or t1, t5, t1 ; RV64V-NEXT: slli t4, a0, 56 ; RV64V-NEXT: and a0, a0, a6 ; RV64V-NEXT: slli a0, a0, 40 ; RV64V-NEXT: or t4, t4, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: or t4, t4, t3 ; RV64V-NEXT: lui t3, 1 ; RV64V-NEXT: vsrl.vx v14, v8, a1 ; RV64V-NEXT: vsrl.vx v16, v8, a7 ; RV64V-NEXT: vand.vx v12, v12, a2 ; RV64V-NEXT: vand.vx v18, v8, a2 ; RV64V-NEXT: vsll.vx v20, v8, a1 ; RV64V-NEXT: vand.vx v16, v16, a6 ; RV64V-NEXT: vand.vx v10, v10, t0 ; RV64V-NEXT: vsll.vi v18, v18, 24 ; RV64V-NEXT: vor.vv v14, v16, v14 ; RV64V-NEXT: vand.vx v16, v8, t0 ; RV64V-NEXT: vand.vx v8, v8, a6 ; RV64V-NEXT: vor.vv v10, v10, v12 ; RV64V-NEXT: vsll.vi v12, v16, 8 ; RV64V-NEXT: vsll.vx v8, v8, a7 ; RV64V-NEXT: vor.vv v10, v10, v14 ; RV64V-NEXT: vor.vv v12, v18, v12 ; RV64V-NEXT: vor.vv v8, v20, v8 ; RV64V-NEXT: vor.vv v8, v8, v12 ; RV64V-NEXT: vor.vv v8, v8, v10 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v10, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a5 ; RV64V-NEXT: srli t4, t1, 4 ; RV64V-NEXT: and t1, t1, a5 ; RV64V-NEXT: vand.vx v10, v10, a5 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: and t4, t4, a5 ; RV64V-NEXT: slli t1, t1, 4 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v10, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a4 ; RV64V-NEXT: srli t4, t1, 2 ; RV64V-NEXT: and t1, t1, a4 ; RV64V-NEXT: vand.vx v10, v10, a4 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: and t4, t4, a4 ; RV64V-NEXT: slli t1, t1, 2 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v10, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: srli t4, t1, 1 ; RV64V-NEXT: and t1, t1, a3 ; RV64V-NEXT: vand.vx v10, v10, a3 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: and t4, t4, a3 ; RV64V-NEXT: slli t1, t1, 1 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: andi t4, t1, 2 ; RV64V-NEXT: vmul.vx v10, v8, t4 ; RV64V-NEXT: andi t4, t1, 1 ; RV64V-NEXT: vmul.vx v12, v8, t4 ; RV64V-NEXT: andi t4, t1, 4 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: andi t4, t1, 8 ; RV64V-NEXT: vmul.vx v16, v8, t4 ; RV64V-NEXT: andi t4, t1, 16 ; RV64V-NEXT: vmul.vx v18, v8, t4 ; RV64V-NEXT: andi t4, t1, 32 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: andi t4, t1, 64 ; RV64V-NEXT: vxor.vv v10, v12, v10 ; RV64V-NEXT: vmul.vx v12, v8, t4 ; RV64V-NEXT: andi t4, t1, 128 ; RV64V-NEXT: vxor.vv v10, v10, v14 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: andi t4, t1, 256 ; RV64V-NEXT: vxor.vv v10, v10, v16 ; RV64V-NEXT: vmul.vx v16, v8, t4 ; RV64V-NEXT: andi t4, t1, 512 ; RV64V-NEXT: vxor.vv v10, v10, v18 ; RV64V-NEXT: vmul.vx v18, v8, t4 ; RV64V-NEXT: andi t4, t1, 1024 ; RV64V-NEXT: vxor.vv v10, v10, v20 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: slli t4, a0, 11 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v10, v10, v12 ; RV64V-NEXT: vmul.vx v12, v8, t4 ; RV64V-NEXT: lui t4, 2 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v10, v10, v14 ; RV64V-NEXT: vmul.vx v14, v8, t3 ; RV64V-NEXT: lui t3, 4 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v16, v10, v16 ; RV64V-NEXT: vxor.vv v16, v16, v18 ; RV64V-NEXT: vmul.vx v18, v8, t4 ; RV64V-NEXT: lui t4, 8 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vmul.vx v20, v8, t3 ; RV64V-NEXT: lui t3, 32 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v16, v12 ; RV64V-NEXT: vmul.vx v16, v8, t4 ; RV64V-NEXT: lui t4, 64 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v8, t2 ; RV64V-NEXT: lui t2, 128 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v12, v18 ; RV64V-NEXT: vmul.vx v18, v8, t3 ; RV64V-NEXT: lui t3, 256 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v12, v20 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: lui t4, 512 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v12, v16 ; RV64V-NEXT: vmul.vx v16, v8, t2 ; RV64V-NEXT: lui t2, 1024 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v8, t3 ; RV64V-NEXT: lui t3, 2048 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v12, v18 ; RV64V-NEXT: vmul.vx v18, v8, t4 ; RV64V-NEXT: lui t4, 4096 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v12, v20 ; RV64V-NEXT: vmul.vx v20, v8, t2 ; RV64V-NEXT: lui t2, 8192 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v12, v16 ; RV64V-NEXT: vmul.vx v16, v8, t3 ; RV64V-NEXT: lui t3, 16384 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v22, v8, t4 ; RV64V-NEXT: lui t4, 32768 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v12, v18 ; RV64V-NEXT: vmul.vx v18, v8, t2 ; RV64V-NEXT: lui t2, 65536 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v14, v12, v20 ; RV64V-NEXT: vmul.vx v12, v8, t3 ; RV64V-NEXT: lui t3, 131072 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v20, v14, v16 ; RV64V-NEXT: vmul.vx v14, v8, t4 ; RV64V-NEXT: lui t4, 262144 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v16, v20, v22 ; RV64V-NEXT: vxor.vv v18, v16, v18 ; RV64V-NEXT: vmul.vx v16, v8, t2 ; RV64V-NEXT: slli t2, a0, 32 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vsll.vx v10, v10, a1 ; RV64V-NEXT: vand.vx v20, v20, a6 ; RV64V-NEXT: vsll.vx v20, v20, a7 ; RV64V-NEXT: vor.vv v10, v10, v20 ; RV64V-NEXT: vmul.vx v20, v8, t3 ; RV64V-NEXT: slli t3, a0, 33 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v18, v12 ; RV64V-NEXT: vmul.vx v18, v8, t4 ; RV64V-NEXT: slli t4, a0, 34 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v8, t2 ; RV64V-NEXT: slli t2, a0, 35 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v12, v16 ; RV64V-NEXT: vmul.vx v16, v8, t3 ; RV64V-NEXT: slli t3, a0, 36 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v20, v12, v20 ; RV64V-NEXT: vmul.vx v12, v8, t4 ; RV64V-NEXT: srliw t4, t1, 31 ; RV64V-NEXT: slli t4, t4, 31 ; RV64V-NEXT: vxor.vv v18, v20, v18 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: slli t4, a0, 37 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v18, v18, v20 ; RV64V-NEXT: vmul.vx v20, v8, t2 ; RV64V-NEXT: slli t2, a0, 38 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v14, v18, v14 ; RV64V-NEXT: vmul.vx v18, v8, t3 ; RV64V-NEXT: slli t3, a0, 39 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v14, v14, v16 ; RV64V-NEXT: vmul.vx v16, v8, t4 ; RV64V-NEXT: slli t4, a0, 40 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v14, v12 ; RV64V-NEXT: vmul.vx v14, v8, t2 ; RV64V-NEXT: slli t2, a0, 41 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v12, v20 ; RV64V-NEXT: vmul.vx v20, v8, t3 ; RV64V-NEXT: slli t3, a0, 42 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v12, v18 ; RV64V-NEXT: vmul.vx v18, v8, t4 ; RV64V-NEXT: slli t4, a0, 43 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v12, v16 ; RV64V-NEXT: vmul.vx v16, v8, t2 ; RV64V-NEXT: slli t2, a0, 44 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v8, t3 ; RV64V-NEXT: slli t3, a0, 45 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v12, v20 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: slli t4, a0, 46 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v18, v12, v18 ; RV64V-NEXT: vxor.vv v16, v18, v16 ; RV64V-NEXT: vmul.vx v18, v8, t2 ; RV64V-NEXT: slli t2, a0, 47 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v14, v16, v14 ; RV64V-NEXT: vmul.vx v16, v8, t3 ; RV64V-NEXT: slli t3, a0, 48 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v14, v14, v20 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: slli t4, a0, 49 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v14, v14, v18 ; RV64V-NEXT: vmul.vx v18, v8, t2 ; RV64V-NEXT: slli t2, a0, 50 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v14, v14, v16 ; RV64V-NEXT: vmul.vx v16, v8, t3 ; RV64V-NEXT: slli t3, a0, 51 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v14, v14, v20 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: slli t4, a0, 52 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v14, v14, v18 ; RV64V-NEXT: vmul.vx v18, v8, t2 ; RV64V-NEXT: slli t2, a0, 53 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v16, v14, v16 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vmul.vx v20, v8, t3 ; RV64V-NEXT: slli t3, a0, 54 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v16, v16, v18 ; RV64V-NEXT: vsrl.vi v18, v12, 8 ; RV64V-NEXT: vand.vx v18, v18, t0 ; RV64V-NEXT: vsrl.vi v14, v14, 24 ; RV64V-NEXT: vand.vx v14, v14, a2 ; RV64V-NEXT: vor.vv v14, v18, v14 ; RV64V-NEXT: vmul.vx v18, v8, t4 ; RV64V-NEXT: slli t4, a0, 55 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vmul.vx v20, v8, t2 ; RV64V-NEXT: slli t2, a0, 56 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v16, v16, v18 ; RV64V-NEXT: vmul.vx v18, v8, t3 ; RV64V-NEXT: slli t3, a0, 57 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: slli t4, a0, 58 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v16, v16, v18 ; RV64V-NEXT: vmul.vx v18, v8, t2 ; RV64V-NEXT: slli t2, a0, 59 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vmul.vx v20, v8, t3 ; RV64V-NEXT: slli t3, a0, 60 ; RV64V-NEXT: vand.vx v12, v12, a2 ; RV64V-NEXT: slli a2, a0, 61 ; RV64V-NEXT: slli a0, a0, 62 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: and a2, t1, a2 ; RV64V-NEXT: and a0, t1, a0 ; RV64V-NEXT: srli t1, t1, 63 ; RV64V-NEXT: vsll.vi v12, v12, 24 ; RV64V-NEXT: vxor.vv v18, v16, v18 ; RV64V-NEXT: vxor.vv v18, v18, v20 ; RV64V-NEXT: vand.vx v20, v16, t0 ; RV64V-NEXT: vsll.vi v20, v20, 8 ; RV64V-NEXT: vor.vv v12, v12, v20 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: vxor.vv v18, v18, v20 ; RV64V-NEXT: vmul.vx v20, v8, t2 ; RV64V-NEXT: vor.vv v10, v10, v12 ; RV64V-NEXT: vmul.vx v12, v8, t3 ; RV64V-NEXT: vxor.vv v18, v18, v20 ; RV64V-NEXT: vmul.vx v20, v8, a2 ; RV64V-NEXT: vxor.vv v12, v18, v12 ; RV64V-NEXT: vmul.vx v18, v8, a0 ; RV64V-NEXT: slli t1, t1, 63 ; RV64V-NEXT: vmul.vx v8, v8, t1 ; RV64V-NEXT: vsrl.vx v16, v16, a7 ; RV64V-NEXT: vand.vx v16, v16, a6 ; RV64V-NEXT: vxor.vv v12, v12, v20 ; RV64V-NEXT: vxor.vv v12, v12, v18 ; RV64V-NEXT: vxor.vv v8, v12, v8 ; RV64V-NEXT: vsrl.vx v8, v8, a1 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vor.vv v8, v14, v8 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: vsrl.vi v10, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a5 ; RV64V-NEXT: vand.vx v10, v10, a5 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: vsrl.vi v10, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a4 ; RV64V-NEXT: vand.vx v10, v10, a4 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: vsrl.vi v10, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: vand.vx v10, v10, a3 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv2i64_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: addi sp, sp, -16 ; RV32ZVBC64-NEXT: sw a0, 8(sp) ; RV32ZVBC64-NEXT: sw a1, 12(sp) ; RV32ZVBC64-NEXT: addi a0, sp, 8 ; RV32ZVBC64-NEXT: vsetvli a1, zero, e64, m2, ta, ma ; RV32ZVBC64-NEXT: vlse64.v v10, (a0), zero ; RV32ZVBC64-NEXT: vclmulh.vv v8, v8, v10 ; RV32ZVBC64-NEXT: addi sp, sp, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv2i64_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e64, m2, ta, ma ; RV64ZVBC64-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv2i64_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: addi sp, sp, -368 ; RV32ZVBC32-NEXT: sw ra, 364(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s0, 360(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s1, 356(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s2, 352(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s3, 348(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s4, 344(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s5, 340(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s6, 336(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s7, 332(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s8, 328(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s9, 324(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s10, 320(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s11, 316(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a2, vlenb ; RV32ZVBC32-NEXT: slli a2, a2, 2 ; RV32ZVBC32-NEXT: mv a3, a2 ; RV32ZVBC32-NEXT: slli a2, a2, 2 ; RV32ZVBC32-NEXT: add a3, a3, a2 ; RV32ZVBC32-NEXT: slli a2, a2, 1 ; RV32ZVBC32-NEXT: add a3, a3, a2 ; RV32ZVBC32-NEXT: slli a2, a2, 1 ; RV32ZVBC32-NEXT: add a2, a2, a3 ; RV32ZVBC32-NEXT: sub sp, sp, a2 ; RV32ZVBC32-NEXT: sw a0, 16(sp) ; RV32ZVBC32-NEXT: sw a1, 20(sp) ; RV32ZVBC32-NEXT: addi s7, sp, 16 ; RV32ZVBC32-NEXT: lui s9, 1044480 ; RV32ZVBC32-NEXT: li s1, 1 ; RV32ZVBC32-NEXT: li ra, 2 ; RV32ZVBC32-NEXT: li s3, 4 ; RV32ZVBC32-NEXT: li s5, 8 ; RV32ZVBC32-NEXT: li s6, 32 ; RV32ZVBC32-NEXT: li s11, 64 ; RV32ZVBC32-NEXT: li s4, 128 ; RV32ZVBC32-NEXT: li s2, 256 ; RV32ZVBC32-NEXT: li s0, 512 ; RV32ZVBC32-NEXT: li t6, 1024 ; RV32ZVBC32-NEXT: lui t5, 1 ; RV32ZVBC32-NEXT: lui s8, 2 ; RV32ZVBC32-NEXT: lui t4, 4 ; RV32ZVBC32-NEXT: lui t2, 8 ; RV32ZVBC32-NEXT: lui t1, 16 ; RV32ZVBC32-NEXT: lui t0, 32 ; RV32ZVBC32-NEXT: lui a7, 64 ; RV32ZVBC32-NEXT: lui a6, 128 ; RV32ZVBC32-NEXT: lui a5, 256 ; RV32ZVBC32-NEXT: lui t3, 512 ; RV32ZVBC32-NEXT: lui a4, 1024 ; RV32ZVBC32-NEXT: lui a3, 2048 ; RV32ZVBC32-NEXT: lui a2, 4096 ; RV32ZVBC32-NEXT: lui a1, 8192 ; RV32ZVBC32-NEXT: vsetvli s10, zero, e64, m2, ta, ma ; RV32ZVBC32-NEXT: vlse64.v v18, (s7), zero ; RV32ZVBC32-NEXT: lui s10, 16384 ; RV32ZVBC32-NEXT: sw s9, 264(sp) ; RV32ZVBC32-NEXT: lui s9, 32768 ; RV32ZVBC32-NEXT: sw zero, 268(sp) ; RV32ZVBC32-NEXT: lui a0, 524288 ; RV32ZVBC32-NEXT: sw a0, 24(sp) ; RV32ZVBC32-NEXT: sw zero, 28(sp) ; RV32ZVBC32-NEXT: sw zero, 288(sp) ; RV32ZVBC32-NEXT: sw s1, 292(sp) ; RV32ZVBC32-NEXT: sw zero, 272(sp) ; RV32ZVBC32-NEXT: sw ra, 276(sp) ; RV32ZVBC32-NEXT: lui ra, 65536 ; RV32ZVBC32-NEXT: sw zero, 280(sp) ; RV32ZVBC32-NEXT: sw s3, 284(sp) ; RV32ZVBC32-NEXT: lui s7, 131072 ; RV32ZVBC32-NEXT: sw zero, 256(sp) ; RV32ZVBC32-NEXT: sw s5, 260(sp) ; RV32ZVBC32-NEXT: lui s3, 262144 ; RV32ZVBC32-NEXT: sw zero, 248(sp) ; RV32ZVBC32-NEXT: li s5, 16 ; RV32ZVBC32-NEXT: sw s5, 252(sp) ; RV32ZVBC32-NEXT: sw zero, 240(sp) ; RV32ZVBC32-NEXT: sw s6, 244(sp) ; RV32ZVBC32-NEXT: li s5, 32 ; RV32ZVBC32-NEXT: sw zero, 232(sp) ; RV32ZVBC32-NEXT: sw s11, 236(sp) ; RV32ZVBC32-NEXT: sw zero, 224(sp) ; RV32ZVBC32-NEXT: sw s4, 228(sp) ; RV32ZVBC32-NEXT: sw zero, 216(sp) ; RV32ZVBC32-NEXT: sw s2, 220(sp) ; RV32ZVBC32-NEXT: sw zero, 208(sp) ; RV32ZVBC32-NEXT: sw s0, 212(sp) ; RV32ZVBC32-NEXT: sw zero, 200(sp) ; RV32ZVBC32-NEXT: sw t6, 204(sp) ; RV32ZVBC32-NEXT: slli s1, s1, 11 ; RV32ZVBC32-NEXT: sw zero, 192(sp) ; RV32ZVBC32-NEXT: sw s1, 196(sp) ; RV32ZVBC32-NEXT: sw zero, 184(sp) ; RV32ZVBC32-NEXT: sw t5, 188(sp) ; RV32ZVBC32-NEXT: sw zero, 176(sp) ; RV32ZVBC32-NEXT: sw s8, 180(sp) ; RV32ZVBC32-NEXT: sw zero, 168(sp) ; RV32ZVBC32-NEXT: sw t4, 172(sp) ; RV32ZVBC32-NEXT: lui s4, 4 ; RV32ZVBC32-NEXT: sw zero, 160(sp) ; RV32ZVBC32-NEXT: sw t2, 164(sp) ; RV32ZVBC32-NEXT: sw zero, 152(sp) ; RV32ZVBC32-NEXT: sw t1, 156(sp) ; RV32ZVBC32-NEXT: lui s0, 16 ; RV32ZVBC32-NEXT: sw zero, 144(sp) ; RV32ZVBC32-NEXT: sw t0, 148(sp) ; RV32ZVBC32-NEXT: sw zero, 136(sp) ; RV32ZVBC32-NEXT: sw a7, 140(sp) ; RV32ZVBC32-NEXT: lui t5, 64 ; RV32ZVBC32-NEXT: sw zero, 128(sp) ; RV32ZVBC32-NEXT: sw a6, 132(sp) ; RV32ZVBC32-NEXT: lui s2, 128 ; RV32ZVBC32-NEXT: sw zero, 120(sp) ; RV32ZVBC32-NEXT: sw a5, 124(sp) ; RV32ZVBC32-NEXT: lui t6, 256 ; RV32ZVBC32-NEXT: sw zero, 112(sp) ; RV32ZVBC32-NEXT: sw t3, 116(sp) ; RV32ZVBC32-NEXT: lui a7, 512 ; RV32ZVBC32-NEXT: sw zero, 104(sp) ; RV32ZVBC32-NEXT: sw a4, 108(sp) ; RV32ZVBC32-NEXT: lui t4, 1024 ; RV32ZVBC32-NEXT: sw zero, 96(sp) ; RV32ZVBC32-NEXT: sw a3, 100(sp) ; RV32ZVBC32-NEXT: lui a5, 2048 ; RV32ZVBC32-NEXT: sw zero, 88(sp) ; RV32ZVBC32-NEXT: sw a2, 92(sp) ; RV32ZVBC32-NEXT: lui a6, 4096 ; RV32ZVBC32-NEXT: sw zero, 80(sp) ; RV32ZVBC32-NEXT: sw a1, 84(sp) ; RV32ZVBC32-NEXT: lui a4, 8192 ; RV32ZVBC32-NEXT: sw zero, 72(sp) ; RV32ZVBC32-NEXT: sw s10, 76(sp) ; RV32ZVBC32-NEXT: lui t1, 16384 ; RV32ZVBC32-NEXT: sw zero, 64(sp) ; RV32ZVBC32-NEXT: sw s9, 68(sp) ; RV32ZVBC32-NEXT: sw zero, 56(sp) ; RV32ZVBC32-NEXT: sw ra, 60(sp) ; RV32ZVBC32-NEXT: sw zero, 48(sp) ; RV32ZVBC32-NEXT: sw s7, 52(sp) ; RV32ZVBC32-NEXT: sw zero, 40(sp) ; RV32ZVBC32-NEXT: sw s3, 44(sp) ; RV32ZVBC32-NEXT: sw zero, 32(sp) ; RV32ZVBC32-NEXT: sw a0, 36(sp) ; RV32ZVBC32-NEXT: lui t3, 61681 ; RV32ZVBC32-NEXT: addi t3, t3, -241 ; RV32ZVBC32-NEXT: vsetvli s8, zero, e32, m2, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v4, t3 ; RV32ZVBC32-NEXT: lui t3, 209715 ; RV32ZVBC32-NEXT: addi t3, t3, 819 ; RV32ZVBC32-NEXT: vmv.v.x v2, t3 ; RV32ZVBC32-NEXT: lui t3, 349525 ; RV32ZVBC32-NEXT: addi t3, t3, 1365 ; RV32ZVBC32-NEXT: vmv.v.x v0, t3 ; RV32ZVBC32-NEXT: addi t3, sp, 264 ; RV32ZVBC32-NEXT: vsetvli s8, zero, e64, m2, ta, ma ; RV32ZVBC32-NEXT: vlse64.v v6, (t3), zero ; RV32ZVBC32-NEXT: addi t3, sp, 24 ; RV32ZVBC32-NEXT: vlse64.v v12, (t3), zero ; RV32ZVBC32-NEXT: addi t3, sp, 288 ; RV32ZVBC32-NEXT: vlse64.v v14, (t3), zero ; RV32ZVBC32-NEXT: addi t3, sp, 272 ; RV32ZVBC32-NEXT: vlse64.v v16, (t3), zero ; RV32ZVBC32-NEXT: li t3, 56 ; RV32ZVBC32-NEXT: vsrl.vi v10, v8, 24 ; RV32ZVBC32-NEXT: vsrl.vi v20, v8, 8 ; RV32ZVBC32-NEXT: vsrl.vx v22, v8, t3 ; RV32ZVBC32-NEXT: li s8, 40 ; RV32ZVBC32-NEXT: vsrl.vx v24, v8, s8 ; RV32ZVBC32-NEXT: lui s11, 4080 ; RV32ZVBC32-NEXT: vand.vx v28, v10, s11 ; RV32ZVBC32-NEXT: vsll.vx v10, v8, t3 ; RV32ZVBC32-NEXT: addi s10, s0, -256 ; RV32ZVBC32-NEXT: vand.vx v24, v24, s10 ; RV32ZVBC32-NEXT: vand.vx v26, v8, s10 ; RV32ZVBC32-NEXT: vor.vv v22, v24, v22 ; RV32ZVBC32-NEXT: vsll.vx v24, v26, s8 ; RV32ZVBC32-NEXT: vor.vv v10, v10, v24 ; RV32ZVBC32-NEXT: vsrl.vx v24, v18, t3 ; RV32ZVBC32-NEXT: vsrl.vx v26, v18, s8 ; RV32ZVBC32-NEXT: vsll.vx v30, v18, t3 ; RV32ZVBC32-NEXT: vand.vx v26, v26, s10 ; RV32ZVBC32-NEXT: vor.vv v24, v26, v24 ; RV32ZVBC32-NEXT: vand.vx v26, v18, s10 ; RV32ZVBC32-NEXT: vsll.vx v26, v26, s8 ; RV32ZVBC32-NEXT: vor.vv v26, v30, v26 ; RV32ZVBC32-NEXT: vsrl.vi v30, v18, 24 ; RV32ZVBC32-NEXT: vand.vv v20, v20, v6 ; RV32ZVBC32-NEXT: vor.vv v28, v20, v28 ; RV32ZVBC32-NEXT: vsrl.vi v20, v18, 8 ; RV32ZVBC32-NEXT: vand.vx v30, v30, s11 ; RV32ZVBC32-NEXT: vand.vv v20, v20, v6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v6, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vor.vv v30, v20, v30 ; RV32ZVBC32-NEXT: addi a3, sp, 280 ; RV32ZVBC32-NEXT: vlse64.v v20, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v28, v28, v22 ; RV32ZVBC32-NEXT: vand.vx v22, v8, s11 ; RV32ZVBC32-NEXT: vsll.vi v22, v22, 24 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v6 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 8 ; RV32ZVBC32-NEXT: vor.vv v8, v22, v8 ; RV32ZVBC32-NEXT: addi a3, sp, 256 ; RV32ZVBC32-NEXT: vlse64.v v22, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v30, v30, v24 ; RV32ZVBC32-NEXT: vand.vx v24, v18, s11 ; RV32ZVBC32-NEXT: vsll.vi v24, v24, 24 ; RV32ZVBC32-NEXT: vand.vv v18, v18, v6 ; RV32ZVBC32-NEXT: vsll.vi v18, v18, 8 ; RV32ZVBC32-NEXT: vor.vv v6, v24, v18 ; RV32ZVBC32-NEXT: addi a3, sp, 248 ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV32ZVBC32-NEXT: addi a3, sp, 240 ; RV32ZVBC32-NEXT: vlse64.v v24, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v10, v26, v6 ; RV32ZVBC32-NEXT: addi a3, sp, 232 ; RV32ZVBC32-NEXT: vlse64.v v26, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v8, v8, v28 ; RV32ZVBC32-NEXT: addi a3, sp, 224 ; RV32ZVBC32-NEXT: vlse64.v v28, (a3), zero ; RV32ZVBC32-NEXT: vor.vv v10, v10, v30 ; RV32ZVBC32-NEXT: vsrl.vi v30, v8, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v4, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v8, v8, v4 ; RV32ZVBC32-NEXT: vand.vv v30, v30, v4 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v30, v8 ; RV32ZVBC32-NEXT: vsrl.vi v30, v10, 4 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v4 ; RV32ZVBC32-NEXT: vand.vv v30, v30, v4 ; RV32ZVBC32-NEXT: vsll.vi v10, v10, 4 ; RV32ZVBC32-NEXT: vor.vv v10, v30, v10 ; RV32ZVBC32-NEXT: vsrl.vi v30, v8, 2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v2, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v8, v8, v2 ; RV32ZVBC32-NEXT: vand.vv v30, v30, v2 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v30, v8 ; RV32ZVBC32-NEXT: vsrl.vi v30, v10, 2 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v2 ; RV32ZVBC32-NEXT: vand.vv v30, v30, v2 ; RV32ZVBC32-NEXT: vsll.vi v10, v10, 2 ; RV32ZVBC32-NEXT: vor.vv v30, v30, v10 ; RV32ZVBC32-NEXT: vsrl.vi v10, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v0, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v8, v8, v0 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v0 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v10, v10, v8 ; RV32ZVBC32-NEXT: vsrl.vi v8, v30, 1 ; RV32ZVBC32-NEXT: vand.vv v30, v30, v0 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v0 ; RV32ZVBC32-NEXT: vadd.vv v30, v30, v30 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v30 ; RV32ZVBC32-NEXT: addi a3, sp, 216 ; RV32ZVBC32-NEXT: vlse64.v v30, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v22 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v26 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a3, sp, 208 ; RV32ZVBC32-NEXT: addi a1, sp, 200 ; RV32ZVBC32-NEXT: addi a0, sp, 192 ; RV32ZVBC32-NEXT: vlse64.v v12, (a3), zero ; RV32ZVBC32-NEXT: vlse64.v v14, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a0), zero ; RV32ZVBC32-NEXT: vand.vv v18, v8, v30 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v18, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a2, sp, 184 ; RV32ZVBC32-NEXT: addi a1, sp, 176 ; RV32ZVBC32-NEXT: addi a3, sp, 168 ; RV32ZVBC32-NEXT: addi a0, sp, 160 ; RV32ZVBC32-NEXT: vlse64.v v12, (a2), zero ; RV32ZVBC32-NEXT: vlse64.v v14, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a3), zero ; RV32ZVBC32-NEXT: vlse64.v v18, (a0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 152 ; RV32ZVBC32-NEXT: addi a1, sp, 144 ; RV32ZVBC32-NEXT: addi a2, sp, 136 ; RV32ZVBC32-NEXT: addi a3, sp, 128 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v14, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a2), zero ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 120 ; RV32ZVBC32-NEXT: addi a1, sp, 112 ; RV32ZVBC32-NEXT: addi a2, sp, 104 ; RV32ZVBC32-NEXT: addi a3, sp, 96 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v14, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a2), zero ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 88 ; RV32ZVBC32-NEXT: addi a1, sp, 80 ; RV32ZVBC32-NEXT: addi a2, sp, 72 ; RV32ZVBC32-NEXT: addi a3, sp, 64 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v14, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a2), zero ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 56 ; RV32ZVBC32-NEXT: addi a1, sp, 48 ; RV32ZVBC32-NEXT: addi a2, sp, 40 ; RV32ZVBC32-NEXT: addi a3, sp, 32 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v14, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a2), zero ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: li a0, 16 ; RV32ZVBC32-NEXT: vand.vx v12, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v18, v8, s5 ; RV32ZVBC32-NEXT: li a0, 64 ; RV32ZVBC32-NEXT: vand.vx v20, v8, a0 ; RV32ZVBC32-NEXT: li a0, 128 ; RV32ZVBC32-NEXT: vand.vx v22, v8, a0 ; RV32ZVBC32-NEXT: li a0, 256 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: li a0, 512 ; RV32ZVBC32-NEXT: vand.vx v26, v8, a0 ; RV32ZVBC32-NEXT: li a0, 1024 ; RV32ZVBC32-NEXT: vand.vx v28, v8, a0 ; RV32ZVBC32-NEXT: vand.vx v30, v8, s1 ; RV32ZVBC32-NEXT: lui a0, 1 ; RV32ZVBC32-NEXT: vand.vx v6, v8, a0 ; RV32ZVBC32-NEXT: lui a0, 2 ; RV32ZVBC32-NEXT: vand.vx v4, v8, a0 ; RV32ZVBC32-NEXT: vand.vx v2, v8, s4 ; RV32ZVBC32-NEXT: vand.vx v0, v8, t2 ; RV32ZVBC32-NEXT: vand.vx v12, v8, s0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t5 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, a7 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, a5 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, a6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, a4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s9 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, ra ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s7 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s3 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vi v12, v8, 2 ; RV32ZVBC32-NEXT: vand.vi v14, v8, 1 ; RV32ZVBC32-NEXT: vand.vi v16, v8, 4 ; RV32ZVBC32-NEXT: vand.vi v8, v8, 8 ; RV32ZVBC32-NEXT: vmul.vv v12, v10, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v12, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: vmul.vv v12, v10, v14 ; RV32ZVBC32-NEXT: vmul.vv v14, v10, v16 ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v16, v10, v8 ; RV32ZVBC32-NEXT: vmul.vv v18, v10, v18 ; RV32ZVBC32-NEXT: vmul.vv v20, v10, v20 ; RV32ZVBC32-NEXT: vmul.vv v22, v10, v22 ; RV32ZVBC32-NEXT: vmul.vv v24, v10, v24 ; RV32ZVBC32-NEXT: vmul.vv v26, v10, v26 ; RV32ZVBC32-NEXT: vmul.vv v28, v10, v28 ; RV32ZVBC32-NEXT: vmul.vv v30, v10, v30 ; RV32ZVBC32-NEXT: vmul.vv v6, v10, v6 ; RV32ZVBC32-NEXT: vmul.vv v4, v10, v4 ; RV32ZVBC32-NEXT: vmul.vv v2, v10, v2 ; RV32ZVBC32-NEXT: vmul.vv v0, v10, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: addi a0, sp, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs2r.v v8, (a0) # vscale x 16-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v10, v10, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v8, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v12, v8 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v18 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v20 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v22 ; RV32ZVBC32-NEXT: vxor.vv v12, v8, v24 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v26 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v28 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v30 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v6 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v4 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v2 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v14, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v12, v14 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: addi a0, sp, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v16, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v14, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v18, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v16, v18 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v18, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v22, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v22 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v22, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v22 ; RV32ZVBC32-NEXT: vand.vx v22, v14, s11 ; RV32ZVBC32-NEXT: vsrl.vi v16, v16, 24 ; RV32ZVBC32-NEXT: vand.vx v16, v16, s11 ; RV32ZVBC32-NEXT: vand.vx v12, v12, s10 ; RV32ZVBC32-NEXT: vsll.vx v12, v12, s8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v24, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v24 ; RV32ZVBC32-NEXT: vsrl.vx v24, v18, s8 ; RV32ZVBC32-NEXT: vand.vx v24, v24, s10 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v26 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v26 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v26, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v26 ; RV32ZVBC32-NEXT: vxor.vv v10, v20, v10 ; RV32ZVBC32-NEXT: vsll.vx v8, v8, t3 ; RV32ZVBC32-NEXT: vsrl.vx v10, v10, t3 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vsrl.vi v12, v14, 8 ; RV32ZVBC32-NEXT: vsll.vi v14, v22, 24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v20, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v12, v12, v20 ; RV32ZVBC32-NEXT: vor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: vand.vv v16, v18, v20 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 8 ; RV32ZVBC32-NEXT: vor.vv v14, v14, v16 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v14 ; RV32ZVBC32-NEXT: vor.vv v10, v24, v10 ; RV32ZVBC32-NEXT: vor.vv v10, v12, v10 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v10 ; RV32ZVBC32-NEXT: vsrl.vi v10, v8, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v12 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV32ZVBC32-NEXT: vsrl.vi v10, v8, 2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v12 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV32ZVBC32-NEXT: vsrl.vi v10, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl2r.v v12, (a0) # vscale x 16-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v12 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV32ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add sp, sp, a0 ; RV32ZVBC32-NEXT: lw ra, 364(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s0, 360(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s1, 356(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s2, 352(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s3, 348(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s4, 344(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s5, 340(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s6, 336(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s7, 332(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s8, 328(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s9, 324(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s10, 320(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s11, 316(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: addi sp, sp, 368 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv2i64_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: li a1, 56 ; RV64ZVBC32-NEXT: lui t2, 16 ; RV64ZVBC32-NEXT: lui a2, 4080 ; RV64ZVBC32-NEXT: li t0, 255 ; RV64ZVBC32-NEXT: lui a3, 61681 ; RV64ZVBC32-NEXT: lui a4, 209715 ; RV64ZVBC32-NEXT: lui a5, 349525 ; RV64ZVBC32-NEXT: srli a6, a0, 24 ; RV64ZVBC32-NEXT: srli a7, a0, 8 ; RV64ZVBC32-NEXT: srli t1, a0, 40 ; RV64ZVBC32-NEXT: srli t3, a0, 56 ; RV64ZVBC32-NEXT: addi a3, a3, -241 ; RV64ZVBC32-NEXT: addi a4, a4, 819 ; RV64ZVBC32-NEXT: addi t4, a5, 1365 ; RV64ZVBC32-NEXT: slli a5, a3, 32 ; RV64ZVBC32-NEXT: add a5, a3, a5 ; RV64ZVBC32-NEXT: slli a3, a4, 32 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, t4, 32 ; RV64ZVBC32-NEXT: add a3, t4, a3 ; RV64ZVBC32-NEXT: srliw t4, a0, 24 ; RV64ZVBC32-NEXT: slli t0, t0, 24 ; RV64ZVBC32-NEXT: and a6, a6, a2 ; RV64ZVBC32-NEXT: and a7, a7, t0 ; RV64ZVBC32-NEXT: or t5, a7, a6 ; RV64ZVBC32-NEXT: addi a6, t2, -256 ; RV64ZVBC32-NEXT: and a7, t1, a6 ; RV64ZVBC32-NEXT: or t1, a7, t3 ; RV64ZVBC32-NEXT: and a7, a0, a2 ; RV64ZVBC32-NEXT: slli t4, t4, 32 ; RV64ZVBC32-NEXT: slli a7, a7, 24 ; RV64ZVBC32-NEXT: or t3, a7, t4 ; RV64ZVBC32-NEXT: li a7, 40 ; RV64ZVBC32-NEXT: vsetvli t4, zero, e64, m2, ta, ma ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 24 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 8 ; RV64ZVBC32-NEXT: or t1, t5, t1 ; RV64ZVBC32-NEXT: slli t4, a0, 56 ; RV64ZVBC32-NEXT: and a0, a0, a6 ; RV64ZVBC32-NEXT: slli a0, a0, 40 ; RV64ZVBC32-NEXT: or t4, t4, a0 ; RV64ZVBC32-NEXT: li a0, 1 ; RV64ZVBC32-NEXT: or t4, t4, t3 ; RV64ZVBC32-NEXT: lui t3, 1 ; RV64ZVBC32-NEXT: vsrl.vx v14, v8, a1 ; RV64ZVBC32-NEXT: vsrl.vx v16, v8, a7 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a2 ; RV64ZVBC32-NEXT: vand.vx v18, v8, a2 ; RV64ZVBC32-NEXT: vsll.vx v20, v8, a1 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a6 ; RV64ZVBC32-NEXT: vand.vx v10, v10, t0 ; RV64ZVBC32-NEXT: vsll.vi v18, v18, 24 ; RV64ZVBC32-NEXT: vor.vv v14, v16, v14 ; RV64ZVBC32-NEXT: vand.vx v16, v8, t0 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a6 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: vsll.vi v12, v16, 8 ; RV64ZVBC32-NEXT: vsll.vx v8, v8, a7 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vor.vv v12, v18, v12 ; RV64ZVBC32-NEXT: vor.vv v8, v20, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v12 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v10 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a5 ; RV64ZVBC32-NEXT: srli t4, t1, 4 ; RV64ZVBC32-NEXT: and t1, t1, a5 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a5 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: and t4, t4, a5 ; RV64ZVBC32-NEXT: slli t1, t1, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a4 ; RV64ZVBC32-NEXT: srli t4, t1, 2 ; RV64ZVBC32-NEXT: and t1, t1, a4 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a4 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: and t4, t4, a4 ; RV64ZVBC32-NEXT: slli t1, t1, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC32-NEXT: srli t4, t1, 1 ; RV64ZVBC32-NEXT: and t1, t1, a3 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a3 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: and t4, t4, a3 ; RV64ZVBC32-NEXT: slli t1, t1, 1 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: andi t4, t1, 2 ; RV64ZVBC32-NEXT: vmul.vx v10, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 1 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 4 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 8 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 16 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 32 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 64 ; RV64ZVBC32-NEXT: vxor.vv v10, v12, v10 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 128 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 256 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v16 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 512 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v18 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 1024 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 11 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 2 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 4 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v16, v10, v16 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 8 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 32 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v16, v12 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 64 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 128 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v18 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 256 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 512 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 1024 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 2048 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v18 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 4096 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 8192 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 16384 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v22, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 32768 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v18 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 65536 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v14, v12, v20 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 131072 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v20, v14, v16 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 262144 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v20, v22 ; RV64ZVBC32-NEXT: vxor.vv v18, v16, v18 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 32 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vsll.vx v10, v10, a1 ; RV64ZVBC32-NEXT: vand.vx v20, v20, a6 ; RV64ZVBC32-NEXT: vsll.vx v20, v20, a7 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 33 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v18, v12 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 34 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 35 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 36 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v20, v12, v20 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t4 ; RV64ZVBC32-NEXT: srliw t4, t1, 31 ; RV64ZVBC32-NEXT: slli t4, t4, 31 ; RV64ZVBC32-NEXT: vxor.vv v18, v20, v18 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 37 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 38 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v14, v18, v14 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 39 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 40 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v14, v12 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 41 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 42 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v18 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 43 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 44 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 45 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 46 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v18, v12, v18 ; RV64ZVBC32-NEXT: vxor.vv v16, v18, v16 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 47 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v14, v16, v14 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 48 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 49 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v18 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 50 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v16 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 51 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 52 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v18 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 53 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v14, v16 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 54 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV64ZVBC32-NEXT: vsrl.vi v18, v12, 8 ; RV64ZVBC32-NEXT: vand.vx v18, v18, t0 ; RV64ZVBC32-NEXT: vsrl.vi v14, v14, 24 ; RV64ZVBC32-NEXT: vand.vx v14, v14, a2 ; RV64ZVBC32-NEXT: vor.vv v14, v18, v14 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 55 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 56 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 57 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 58 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 59 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 60 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a2 ; RV64ZVBC32-NEXT: slli a2, a0, 61 ; RV64ZVBC32-NEXT: slli a0, a0, 62 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: and a2, t1, a2 ; RV64ZVBC32-NEXT: and a0, t1, a0 ; RV64ZVBC32-NEXT: srli t1, t1, 63 ; RV64ZVBC32-NEXT: vsll.vi v12, v12, 24 ; RV64ZVBC32-NEXT: vxor.vv v18, v16, v18 ; RV64ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV64ZVBC32-NEXT: vand.vx v20, v16, t0 ; RV64ZVBC32-NEXT: vsll.vi v20, v20, 8 ; RV64ZVBC32-NEXT: vor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t2 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t3 ; RV64ZVBC32-NEXT: vxor.vv v18, v18, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, a2 ; RV64ZVBC32-NEXT: vxor.vv v12, v18, v12 ; RV64ZVBC32-NEXT: vmul.vx v18, v8, a0 ; RV64ZVBC32-NEXT: slli t1, t1, 63 ; RV64ZVBC32-NEXT: vmul.vx v8, v8, t1 ; RV64ZVBC32-NEXT: vsrl.vx v16, v16, a7 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a6 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v18 ; RV64ZVBC32-NEXT: vxor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vsrl.vx v8, v8, a1 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v14, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a5 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a5 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a4 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a4 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a3 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i64 %b, i128 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv2i128( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i128 64) %res = trunc %res.ext to ret %res } define @clmulh_nxv4i64_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv4i64_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -352 ; RV32V-NEXT: sw ra, 348(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s0, 344(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s1, 340(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s2, 336(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s3, 332(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s4, 328(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s5, 324(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s6, 320(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s7, 316(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s8, 312(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s9, 308(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s10, 304(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s11, 300(sp) # 4-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: sub sp, sp, a0 ; RV32V-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV32V-NEXT: vmv4r.v v28, v12 ; RV32V-NEXT: lui s11, 1044480 ; RV32V-NEXT: lui t6, 524288 ; RV32V-NEXT: li a0, 1 ; RV32V-NEXT: li ra, 2 ; RV32V-NEXT: li t4, 4 ; RV32V-NEXT: li t2, 8 ; RV32V-NEXT: li t5, 16 ; RV32V-NEXT: li t3, 32 ; RV32V-NEXT: li t1, 64 ; RV32V-NEXT: li t0, 128 ; RV32V-NEXT: li a7, 256 ; RV32V-NEXT: li a6, 512 ; RV32V-NEXT: li a3, 1024 ; RV32V-NEXT: lui a2, 1 ; RV32V-NEXT: lui a4, 2 ; RV32V-NEXT: lui a1, 4 ; RV32V-NEXT: lui a5, 8 ; RV32V-NEXT: lui s0, 16 ; RV32V-NEXT: lui s1, 32 ; RV32V-NEXT: lui s2, 64 ; RV32V-NEXT: lui s3, 128 ; RV32V-NEXT: lui s4, 256 ; RV32V-NEXT: lui s5, 512 ; RV32V-NEXT: lui s6, 1024 ; RV32V-NEXT: lui s7, 2048 ; RV32V-NEXT: lui s8, 4096 ; RV32V-NEXT: lui s9, 8192 ; RV32V-NEXT: lui s10, 16384 ; RV32V-NEXT: sw s11, 248(sp) ; RV32V-NEXT: lui s11, 32768 ; RV32V-NEXT: sw zero, 252(sp) ; RV32V-NEXT: sw t6, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: sw zero, 272(sp) ; RV32V-NEXT: sw a0, 276(sp) ; RV32V-NEXT: sw zero, 256(sp) ; RV32V-NEXT: sw ra, 260(sp) ; RV32V-NEXT: lui ra, 65536 ; RV32V-NEXT: sw zero, 264(sp) ; RV32V-NEXT: sw t4, 268(sp) ; RV32V-NEXT: lui t4, 131072 ; RV32V-NEXT: sw zero, 240(sp) ; RV32V-NEXT: sw t2, 244(sp) ; RV32V-NEXT: lui t2, 262144 ; RV32V-NEXT: sw zero, 232(sp) ; RV32V-NEXT: sw t5, 236(sp) ; RV32V-NEXT: sw zero, 224(sp) ; RV32V-NEXT: sw t3, 228(sp) ; RV32V-NEXT: sw zero, 216(sp) ; RV32V-NEXT: sw t1, 220(sp) ; RV32V-NEXT: sw zero, 208(sp) ; RV32V-NEXT: sw t0, 212(sp) ; RV32V-NEXT: sw zero, 200(sp) ; RV32V-NEXT: sw a7, 204(sp) ; RV32V-NEXT: sw zero, 192(sp) ; RV32V-NEXT: sw a6, 196(sp) ; RV32V-NEXT: sw zero, 184(sp) ; RV32V-NEXT: sw a3, 188(sp) ; RV32V-NEXT: slli a3, a0, 11 ; RV32V-NEXT: sw zero, 176(sp) ; RV32V-NEXT: sw a3, 180(sp) ; RV32V-NEXT: sw zero, 168(sp) ; RV32V-NEXT: sw a2, 172(sp) ; RV32V-NEXT: lui t1, 1 ; RV32V-NEXT: sw zero, 160(sp) ; RV32V-NEXT: sw a4, 164(sp) ; RV32V-NEXT: lui t3, 2 ; RV32V-NEXT: sw zero, 152(sp) ; RV32V-NEXT: sw a1, 156(sp) ; RV32V-NEXT: sw zero, 144(sp) ; RV32V-NEXT: sw a5, 148(sp) ; RV32V-NEXT: lui t5, 8 ; RV32V-NEXT: sw zero, 136(sp) ; RV32V-NEXT: sw s0, 140(sp) ; RV32V-NEXT: sw zero, 128(sp) ; RV32V-NEXT: sw s1, 132(sp) ; RV32V-NEXT: sw zero, 120(sp) ; RV32V-NEXT: sw s2, 124(sp) ; RV32V-NEXT: sw zero, 112(sp) ; RV32V-NEXT: sw s3, 116(sp) ; RV32V-NEXT: sw zero, 104(sp) ; RV32V-NEXT: sw s4, 108(sp) ; RV32V-NEXT: sw zero, 96(sp) ; RV32V-NEXT: sw s5, 100(sp) ; RV32V-NEXT: sw zero, 88(sp) ; RV32V-NEXT: sw s6, 92(sp) ; RV32V-NEXT: sw zero, 80(sp) ; RV32V-NEXT: sw s7, 84(sp) ; RV32V-NEXT: sw zero, 72(sp) ; RV32V-NEXT: sw s8, 76(sp) ; RV32V-NEXT: sw zero, 64(sp) ; RV32V-NEXT: sw s9, 68(sp) ; RV32V-NEXT: sw zero, 56(sp) ; RV32V-NEXT: sw s10, 60(sp) ; RV32V-NEXT: sw zero, 48(sp) ; RV32V-NEXT: sw s11, 52(sp) ; RV32V-NEXT: sw zero, 40(sp) ; RV32V-NEXT: sw ra, 44(sp) ; RV32V-NEXT: sw zero, 32(sp) ; RV32V-NEXT: sw t4, 36(sp) ; RV32V-NEXT: sw zero, 24(sp) ; RV32V-NEXT: sw t2, 28(sp) ; RV32V-NEXT: sw zero, 16(sp) ; RV32V-NEXT: sw t6, 20(sp) ; RV32V-NEXT: addi a1, sp, 248 ; RV32V-NEXT: vlse64.v v12, (a1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: li a6, 56 ; RV32V-NEXT: vsrl.vx v20, v8, a6 ; RV32V-NEXT: li a5, 40 ; RV32V-NEXT: vsrl.vx v24, v8, a5 ; RV32V-NEXT: vsll.vx v16, v8, a6 ; RV32V-NEXT: vsrl.vx v12, v28, a6 ; RV32V-NEXT: vsrl.vx v4, v28, a5 ; RV32V-NEXT: addi a2, s0, -256 ; RV32V-NEXT: vand.vx v24, v24, a2 ; RV32V-NEXT: vor.vv v24, v24, v20 ; RV32V-NEXT: vsll.vx v0, v28, a6 ; RV32V-NEXT: vand.vx v20, v4, a2 ; RV32V-NEXT: vor.vv v12, v20, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v20, v8, a2 ; RV32V-NEXT: vsll.vx v20, v20, a5 ; RV32V-NEXT: vor.vv v20, v16, v20 ; RV32V-NEXT: vand.vx v16, v28, a2 ; RV32V-NEXT: vsll.vx v16, v16, a5 ; RV32V-NEXT: vor.vv v12, v0, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vsrl.vi v4, v8, 24 ; RV32V-NEXT: lui a4, 4080 ; RV32V-NEXT: vand.vx v4, v4, a4 ; RV32V-NEXT: vsrl.vi v0, v8, 8 ; RV32V-NEXT: vmv4r.v v12, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vand.vv v0, v0, v8 ; RV32V-NEXT: vor.vv v4, v0, v4 ; RV32V-NEXT: vsrl.vi v0, v28, 24 ; RV32V-NEXT: vand.vx v0, v0, a4 ; RV32V-NEXT: vsrl.vi v16, v28, 8 ; RV32V-NEXT: vand.vv v16, v16, v8 ; RV32V-NEXT: vor.vv v16, v16, v0 ; RV32V-NEXT: vor.vv v24, v4, v24 ; RV32V-NEXT: vand.vx v4, v12, a4 ; RV32V-NEXT: vsll.vi v4, v4, 24 ; RV32V-NEXT: vand.vv v12, v12, v8 ; RV32V-NEXT: vsll.vi v12, v12, 8 ; RV32V-NEXT: vor.vv v12, v4, v12 ; RV32V-NEXT: lui a7, 61681 ; RV32V-NEXT: addi a7, a7, -241 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v4, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vor.vv v16, v16, v4 ; RV32V-NEXT: vmv4r.v v4, v28 ; RV32V-NEXT: vand.vx v28, v28, a4 ; RV32V-NEXT: vsll.vi v28, v28, 24 ; RV32V-NEXT: vand.vv v4, v4, v8 ; RV32V-NEXT: vsll.vi v4, v4, 8 ; RV32V-NEXT: vor.vv v28, v28, v4 ; RV32V-NEXT: vsetvli t0, zero, e32, m4, ta, ma ; RV32V-NEXT: vmv.v.x v4, a7 ; RV32V-NEXT: lui a7, 209715 ; RV32V-NEXT: addi a7, a7, 819 ; RV32V-NEXT: vsetvli t0, zero, e64, m4, ta, ma ; RV32V-NEXT: vor.vv v12, v20, v12 ; RV32V-NEXT: vsetvli t0, zero, e32, m4, ta, ma ; RV32V-NEXT: vmv.v.x v0, a7 ; RV32V-NEXT: lui a7, 349525 ; RV32V-NEXT: addi a7, a7, 1365 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vsetvli t0, zero, e64, m4, ta, ma ; RV32V-NEXT: vor.vv v28, v8, v28 ; RV32V-NEXT: vsetvli t0, zero, e32, m4, ta, ma ; RV32V-NEXT: vmv.v.x v8, a7 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vsetvli a7, zero, e64, m4, ta, ma ; RV32V-NEXT: vor.vv v24, v12, v24 ; RV32V-NEXT: addi a7, sp, 8 ; RV32V-NEXT: vlse64.v v12, (a7), zero ; RV32V-NEXT: vor.vv v8, v28, v16 ; RV32V-NEXT: vsrl.vi v16, v24, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v4, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v20, v24, v4 ; RV32V-NEXT: vand.vv v16, v16, v4 ; RV32V-NEXT: vsll.vi v20, v20, 4 ; RV32V-NEXT: vor.vv v16, v16, v20 ; RV32V-NEXT: vsrl.vi v20, v8, 4 ; RV32V-NEXT: vand.vv v8, v8, v4 ; RV32V-NEXT: vand.vv v20, v20, v4 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v20, v8 ; RV32V-NEXT: vsrl.vi v20, v16, 2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v0, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v16, v16, v0 ; RV32V-NEXT: vand.vv v20, v20, v0 ; RV32V-NEXT: vsll.vi v16, v16, 2 ; RV32V-NEXT: vor.vv v16, v20, v16 ; RV32V-NEXT: vsrl.vi v20, v8, 2 ; RV32V-NEXT: vand.vv v8, v8, v0 ; RV32V-NEXT: vand.vv v20, v20, v0 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v20, v8 ; RV32V-NEXT: vsrl.vi v20, v16, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vand.vv v16, v16, v28 ; RV32V-NEXT: vand.vv v20, v20, v28 ; RV32V-NEXT: vadd.vv v16, v16, v16 ; RV32V-NEXT: vor.vv v24, v20, v16 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vv v8, v8, v28 ; RV32V-NEXT: vand.vv v16, v16, v28 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: addi a7, sp, 272 ; RV32V-NEXT: vlse64.v v16, (a7), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a7, sp, 256 ; RV32V-NEXT: addi t0, sp, 264 ; RV32V-NEXT: addi a0, sp, 240 ; RV32V-NEXT: vlse64.v v12, (a7), zero ; RV32V-NEXT: vlse64.v v20, (t0), zero ; RV32V-NEXT: vlse64.v v28, (a0), zero ; RV32V-NEXT: vand.vv v16, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v16, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a1, sp, 232 ; RV32V-NEXT: addi a7, sp, 224 ; RV32V-NEXT: addi t0, sp, 216 ; RV32V-NEXT: addi a0, sp, 208 ; RV32V-NEXT: vlse64.v v12, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a7), zero ; RV32V-NEXT: vlse64.v v20, (t0), zero ; RV32V-NEXT: vlse64.v v28, (a0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 200 ; RV32V-NEXT: addi a1, sp, 192 ; RV32V-NEXT: addi a7, sp, 184 ; RV32V-NEXT: addi t0, sp, 176 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v16, (a1), zero ; RV32V-NEXT: vlse64.v v20, (a7), zero ; RV32V-NEXT: vlse64.v v28, (t0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 168 ; RV32V-NEXT: addi a1, sp, 160 ; RV32V-NEXT: addi a7, sp, 152 ; RV32V-NEXT: addi t0, sp, 144 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v16, (a1), zero ; RV32V-NEXT: vlse64.v v20, (a7), zero ; RV32V-NEXT: vlse64.v v28, (t0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 136 ; RV32V-NEXT: addi a1, sp, 128 ; RV32V-NEXT: addi a7, sp, 120 ; RV32V-NEXT: addi t0, sp, 112 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v16, (a1), zero ; RV32V-NEXT: vlse64.v v20, (a7), zero ; RV32V-NEXT: vlse64.v v28, (t0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 104 ; RV32V-NEXT: addi a1, sp, 96 ; RV32V-NEXT: addi a7, sp, 88 ; RV32V-NEXT: addi t0, sp, 80 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v16, (a1), zero ; RV32V-NEXT: vlse64.v v20, (a7), zero ; RV32V-NEXT: vlse64.v v28, (t0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 72 ; RV32V-NEXT: addi a1, sp, 64 ; RV32V-NEXT: addi a7, sp, 56 ; RV32V-NEXT: addi t0, sp, 48 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v16, (a1), zero ; RV32V-NEXT: vlse64.v v20, (a7), zero ; RV32V-NEXT: vlse64.v v28, (t0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 40 ; RV32V-NEXT: addi a1, sp, 32 ; RV32V-NEXT: addi a7, sp, 24 ; RV32V-NEXT: addi t0, sp, 16 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v16, (a1), zero ; RV32V-NEXT: vlse64.v v20, (a7), zero ; RV32V-NEXT: vlse64.v v28, (t0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vx v12, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vand.vx v28, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vand.vx v4, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vand.vx v12, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vand.vx v12, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vand.vx v12, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, a3 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t3 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: lui a0, 4 ; RV32V-NEXT: vand.vx v12, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t5 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s3 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s5 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s7 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s9 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s10 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s11 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, ra ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t2 ; RV32V-NEXT: addi a0, sp, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vi v12, v8, 2 ; RV32V-NEXT: vand.vi v16, v8, 1 ; RV32V-NEXT: vand.vi v20, v8, 4 ; RV32V-NEXT: vand.vi v8, v8, 8 ; RV32V-NEXT: vmul.vv v12, v24, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vmul.vv v12, v24, v16 ; RV32V-NEXT: vmul.vv v16, v24, v20 ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v20, v24, v8 ; RV32V-NEXT: vmul.vv v28, v24, v28 ; RV32V-NEXT: vmul.vv v4, v24, v4 ; RV32V-NEXT: vmul.vv v0, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v24, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v12, v8 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v12 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vxor.vv v8, v8, v28 ; RV32V-NEXT: vxor.vv v8, v8, v4 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vsll.vx v8, v8, a6 ; RV32V-NEXT: vand.vx v12, v12, a2 ; RV32V-NEXT: vsll.vx v12, v12, a5 ; RV32V-NEXT: vor.vv v8, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v16, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: vsrl.vi v28, v12, 8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v4, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vand.vv v28, v28, v4 ; RV32V-NEXT: vsrl.vi v16, v16, 24 ; RV32V-NEXT: vand.vx v16, v16, a4 ; RV32V-NEXT: vor.vv v16, v28, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v28, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v0, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v28, v28, v0 ; RV32V-NEXT: vand.vx v12, v12, a4 ; RV32V-NEXT: vsll.vi v12, v12, 24 ; RV32V-NEXT: vand.vv v4, v20, v4 ; RV32V-NEXT: vsll.vi v4, v4, 8 ; RV32V-NEXT: vor.vv v12, v12, v4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v4, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v28, v28, v4 ; RV32V-NEXT: vor.vv v8, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v28, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v28 ; RV32V-NEXT: vxor.vv v12, v12, v24 ; RV32V-NEXT: vsrl.vx v20, v20, a5 ; RV32V-NEXT: vand.vx v20, v20, a2 ; RV32V-NEXT: vsrl.vx v12, v12, a6 ; RV32V-NEXT: vor.vv v12, v20, v12 ; RV32V-NEXT: vor.vv v12, v16, v12 ; RV32V-NEXT: vor.vv v8, v8, v12 ; RV32V-NEXT: vsrl.vi v12, v8, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v16 ; RV32V-NEXT: vand.vv v12, v12, v16 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v12, v8 ; RV32V-NEXT: vsrl.vi v12, v8, 2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v16 ; RV32V-NEXT: vand.vv v12, v12, v16 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v12, v8 ; RV32V-NEXT: vsrl.vi v12, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v16 ; RV32V-NEXT: vand.vv v12, v12, v16 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v12, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: lw ra, 348(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s0, 344(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s1, 340(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s2, 336(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s3, 332(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s4, 328(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s5, 324(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s6, 320(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s7, 316(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s8, 312(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s9, 308(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s10, 304(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s11, 300(sp) # 4-byte Folded Reload ; RV32V-NEXT: addi sp, sp, 352 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv4i64_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -384 ; RV64V-NEXT: sd ra, 376(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s0, 368(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s1, 360(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s2, 352(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s3, 344(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s4, 336(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s5, 328(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s6, 320(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s7, 312(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s8, 304(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s9, 296(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s10, 288(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s11, 280(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: sub sp, sp, a0 ; RV64V-NEXT: lui a5, 16 ; RV64V-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV64V-NEXT: vsrl.vi v24, v8, 24 ; RV64V-NEXT: vsrl.vi v16, v8, 8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v16, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: li s3, 255 ; RV64V-NEXT: lui a0, 61681 ; RV64V-NEXT: lui a1, 209715 ; RV64V-NEXT: lui a2, 349525 ; RV64V-NEXT: vsrl.vi v28, v12, 24 ; RV64V-NEXT: li a3, 56 ; RV64V-NEXT: vsrl.vx v16, v8, a3 ; RV64V-NEXT: li a4, 40 ; RV64V-NEXT: vsrl.vx v20, v8, a4 ; RV64V-NEXT: addi t3, a5, -256 ; RV64V-NEXT: vsrl.vx v4, v12, a3 ; RV64V-NEXT: vand.vx v20, v20, t3 ; RV64V-NEXT: vor.vv v20, v20, v16 ; RV64V-NEXT: vsrl.vx v16, v12, a4 ; RV64V-NEXT: li t4, 40 ; RV64V-NEXT: vand.vx v16, v16, t3 ; RV64V-NEXT: vor.vv v0, v16, v4 ; RV64V-NEXT: vsrl.vi v16, v12, 8 ; RV64V-NEXT: li a3, 16 ; RV64V-NEXT: li a6, 32 ; RV64V-NEXT: li a5, 64 ; RV64V-NEXT: li a4, 128 ; RV64V-NEXT: li t0, 256 ; RV64V-NEXT: li a7, 512 ; RV64V-NEXT: li t2, 1 ; RV64V-NEXT: lui t1, 4080 ; RV64V-NEXT: vand.vx v4, v24, t1 ; RV64V-NEXT: slli s3, s3, 24 ; RV64V-NEXT: vand.vx v24, v28, t1 ; RV64V-NEXT: vand.vx v16, v16, s3 ; RV64V-NEXT: vor.vv v16, v16, v24 ; RV64V-NEXT: vand.vx v24, v12, t1 ; RV64V-NEXT: lui t5, 4080 ; RV64V-NEXT: vsll.vi v28, v24, 24 ; RV64V-NEXT: vor.vv v24, v16, v0 ; RV64V-NEXT: vand.vx v16, v12, s3 ; RV64V-NEXT: vsll.vi v16, v16, 8 ; RV64V-NEXT: vor.vv v16, v28, v16 ; RV64V-NEXT: li t1, 56 ; RV64V-NEXT: vsll.vx v28, v12, t1 ; RV64V-NEXT: vand.vx v12, v12, t3 ; RV64V-NEXT: mv s0, t3 ; RV64V-NEXT: sd t3, 224(sp) # 8-byte Folded Spill ; RV64V-NEXT: vsll.vx v12, v12, t4 ; RV64V-NEXT: vor.vv v12, v28, v12 ; RV64V-NEXT: vand.vx v0, v8, t5 ; RV64V-NEXT: vor.vv v12, v12, v16 ; RV64V-NEXT: vsll.vx v28, v8, t1 ; RV64V-NEXT: addi t3, a0, -241 ; RV64V-NEXT: addi t5, a1, 819 ; RV64V-NEXT: addi t6, a2, 1365 ; RV64V-NEXT: slli a0, t2, 11 ; RV64V-NEXT: sd a0, 216(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 31 ; RV64V-NEXT: sd a0, 208(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 32 ; RV64V-NEXT: sd a0, 200(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 33 ; RV64V-NEXT: sd a0, 192(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 34 ; RV64V-NEXT: sd a0, 184(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 35 ; RV64V-NEXT: sd a0, 176(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 36 ; RV64V-NEXT: sd a0, 168(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 37 ; RV64V-NEXT: sd a0, 160(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 38 ; RV64V-NEXT: sd a0, 152(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 39 ; RV64V-NEXT: sd a0, 144(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 40 ; RV64V-NEXT: sd a0, 136(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t3, 32 ; RV64V-NEXT: add t3, t3, a0 ; RV64V-NEXT: slli a0, t5, 32 ; RV64V-NEXT: add t5, t5, a0 ; RV64V-NEXT: slli a0, t6, 32 ; RV64V-NEXT: add a0, t6, a0 ; RV64V-NEXT: slli a1, t2, 41 ; RV64V-NEXT: sd a1, 128(sp) # 8-byte Folded Spill ; RV64V-NEXT: vor.vv v12, v12, v24 ; RV64V-NEXT: vsrl.vi v16, v12, 4 ; RV64V-NEXT: vand.vx v12, v12, t3 ; RV64V-NEXT: vand.vx v16, v16, t3 ; RV64V-NEXT: vsll.vi v12, v12, 4 ; RV64V-NEXT: vor.vv v12, v16, v12 ; RV64V-NEXT: vsrl.vi v16, v12, 2 ; RV64V-NEXT: vand.vx v12, v12, t5 ; RV64V-NEXT: vand.vx v16, v16, t5 ; RV64V-NEXT: vsll.vi v12, v12, 2 ; RV64V-NEXT: vor.vv v12, v16, v12 ; RV64V-NEXT: vsrl.vi v16, v12, 1 ; RV64V-NEXT: vand.vx v12, v12, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vadd.vv v12, v12, v12 ; RV64V-NEXT: vor.vv v24, v16, v12 ; RV64V-NEXT: vand.vx v12, v24, a3 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 4 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 272 ; RV64V-NEXT: vs4r.v v12, (a1) # vscale x 32-byte Folded Spill ; RV64V-NEXT: slli a1, t2, 42 ; RV64V-NEXT: sd a1, 120(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 272 ; RV64V-NEXT: vl4r.v v12, (a1) # vscale x 32-byte Folded Reload ; RV64V-NEXT: sd s3, 232(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v12, s3 ; RV64V-NEXT: vor.vv v12, v12, v4 ; RV64V-NEXT: vand.vx v16, v24, a6 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 4 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 272 ; RV64V-NEXT: vs4r.v v16, (a1) # vscale x 32-byte Folded Spill ; RV64V-NEXT: slli a1, t2, 43 ; RV64V-NEXT: sd a1, 112(sp) # 8-byte Folded Spill ; RV64V-NEXT: vsll.vi v16, v0, 24 ; RV64V-NEXT: vor.vv v12, v12, v20 ; RV64V-NEXT: vand.vx v20, v8, s3 ; RV64V-NEXT: vsll.vi v20, v20, 8 ; RV64V-NEXT: vor.vv v16, v16, v20 ; RV64V-NEXT: vand.vx v0, v24, a5 ; RV64V-NEXT: slli a1, t2, 44 ; RV64V-NEXT: sd a1, 104(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v8, s0 ; RV64V-NEXT: vsll.vx v8, v8, t4 ; RV64V-NEXT: vor.vv v8, v28, v8 ; RV64V-NEXT: vand.vx v20, v24, a4 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 272 ; RV64V-NEXT: vs4r.v v20, (a1) # vscale x 32-byte Folded Spill ; RV64V-NEXT: slli a1, t2, 45 ; RV64V-NEXT: sd a1, 96(sp) # 8-byte Folded Spill ; RV64V-NEXT: vor.vv v8, v8, v16 ; RV64V-NEXT: vand.vx v16, v24, t0 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 272 ; RV64V-NEXT: vs4r.v v16, (a1) # vscale x 32-byte Folded Spill ; RV64V-NEXT: slli a1, t2, 46 ; RV64V-NEXT: sd a1, 88(sp) # 8-byte Folded Spill ; RV64V-NEXT: vor.vv v8, v8, v12 ; RV64V-NEXT: vsrl.vi v12, v8, 4 ; RV64V-NEXT: sd t3, 240(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v8, t3 ; RV64V-NEXT: vand.vx v12, v12, t3 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vsrl.vi v12, v8, 2 ; RV64V-NEXT: sd t5, 248(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v8, t5 ; RV64V-NEXT: vand.vx v12, v12, t5 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vsrl.vi v12, v8, 1 ; RV64V-NEXT: sd a0, 256(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v12, v12, a0 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vand.vx v12, v24, a7 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 47 ; RV64V-NEXT: sd a0, 80(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 48 ; RV64V-NEXT: sd a0, 72(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 49 ; RV64V-NEXT: sd a0, 64(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 50 ; RV64V-NEXT: sd a0, 56(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 51 ; RV64V-NEXT: sd a0, 48(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 52 ; RV64V-NEXT: sd a0, 40(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 53 ; RV64V-NEXT: sd a0, 32(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 54 ; RV64V-NEXT: sd a0, 24(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli ra, t2, 55 ; RV64V-NEXT: slli s11, t2, 56 ; RV64V-NEXT: slli s10, t2, 57 ; RV64V-NEXT: slli s9, t2, 58 ; RV64V-NEXT: slli s8, t2, 59 ; RV64V-NEXT: slli s6, t2, 60 ; RV64V-NEXT: slli s7, t2, 61 ; RV64V-NEXT: slli s5, t2, 62 ; RV64V-NEXT: li a0, -1 ; RV64V-NEXT: slli s4, a0, 63 ; RV64V-NEXT: li a0, 1024 ; RV64V-NEXT: lui a1, 1 ; RV64V-NEXT: lui a2, 2 ; RV64V-NEXT: lui a3, 4 ; RV64V-NEXT: lui a4, 8 ; RV64V-NEXT: lui a5, 32 ; RV64V-NEXT: lui a6, 64 ; RV64V-NEXT: lui a7, 128 ; RV64V-NEXT: lui t0, 256 ; RV64V-NEXT: lui t1, 512 ; RV64V-NEXT: lui t2, 1024 ; RV64V-NEXT: lui t3, 2048 ; RV64V-NEXT: lui t4, 4096 ; RV64V-NEXT: lui t5, 8192 ; RV64V-NEXT: lui t6, 16384 ; RV64V-NEXT: lui s0, 32768 ; RV64V-NEXT: lui s1, 65536 ; RV64V-NEXT: lui s2, 131072 ; RV64V-NEXT: lui s3, 262144 ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: sd s8, 8(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv s8, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add s8, s8, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, s8 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 216(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv s8, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, s8 ; RV64V-NEXT: ld s8, 8(sp) # 8-byte Folded Reload ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, a1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, a2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, a3 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, a4 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: lui a0, 16 ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, a5 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, a6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, a7 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 8 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, t0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, t1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, t2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, t3 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, t4 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, t5 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, t6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, s0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, s1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, s2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, s3 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 208(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 200(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 192(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 184(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 176(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 168(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 160(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 152(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 144(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 136(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 128(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 120(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 112(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 104(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 96(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 88(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 80(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 72(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 64(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 56(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 48(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 40(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 32(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: ld a0, 24(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v12, v24, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, ra ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, s11 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, s10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, s9 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, s8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v12, v24, s6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vi v12, v24, 2 ; RV64V-NEXT: vand.vi v16, v24, 1 ; RV64V-NEXT: vand.vi v20, v24, 4 ; RV64V-NEXT: vand.vi v28, v24, 8 ; RV64V-NEXT: vand.vx v4, v24, s7 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v4, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v4, v24, s5 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v4, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vand.vx v24, v24, s4 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v24, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vmul.vv v12, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vmul.vv v16, v8, v20 ; RV64V-NEXT: vmul.vv v20, v8, v28 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v24, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v24, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v28, v8, v12 ; RV64V-NEXT: vmul.vv v4, v8, v0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v0, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v0, v8, v0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 8 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: addi a0, sp, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 8 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v12, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vmul.vv v8, v8, v12 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v8, v12 ; RV64V-NEXT: vxor.vv v12, v12, v16 ; RV64V-NEXT: vxor.vv v12, v12, v20 ; RV64V-NEXT: vxor.vv v12, v12, v24 ; RV64V-NEXT: vxor.vv v12, v12, v28 ; RV64V-NEXT: vxor.vv v12, v12, v4 ; RV64V-NEXT: vxor.vv v12, v12, v0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v12, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v20, v16, v8 ; RV64V-NEXT: addi a0, sp, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v20, v20, v8 ; RV64V-NEXT: li a2, 56 ; RV64V-NEXT: vsll.vx v12, v12, a2 ; RV64V-NEXT: ld a1, 224(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v16, a1 ; RV64V-NEXT: li a0, 40 ; RV64V-NEXT: vsll.vx v16, v16, a0 ; RV64V-NEXT: vor.vv v12, v12, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 6 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v16, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v20, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 8 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v20, v16, v20 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v20, v20, v24 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v20, v20, v24 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 6 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v20, v20, v24 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v20, v20, v24 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v20, v20, v24 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v20, v20, v24 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v20, v20, v24 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v20, v24 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v28, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v28 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v28, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v28 ; RV64V-NEXT: vsrl.vi v28, v16, 8 ; RV64V-NEXT: ld a4, 232(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v28, v28, a4 ; RV64V-NEXT: vsrl.vi v20, v20, 24 ; RV64V-NEXT: lui a3, 4080 ; RV64V-NEXT: vand.vx v20, v20, a3 ; RV64V-NEXT: vor.vv v20, v28, v20 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 5 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 272 ; RV64V-NEXT: vl4r.v v28, (a5) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v28 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 4 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 272 ; RV64V-NEXT: vl4r.v v28, (a5) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v28 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 4 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 272 ; RV64V-NEXT: vl4r.v v28, (a5) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v28 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 4 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 272 ; RV64V-NEXT: vl4r.v v28, (a5) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v28 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 4 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 4 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 272 ; RV64V-NEXT: vl4r.v v28, (a5) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v28 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 5 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 272 ; RV64V-NEXT: vl4r.v v28, (a5) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v28, v24, v28 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 5 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 272 ; RV64V-NEXT: vl4r.v v4, (a5) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v28, v28, v4 ; RV64V-NEXT: vand.vx v16, v16, a3 ; RV64V-NEXT: vsll.vi v16, v16, 24 ; RV64V-NEXT: vand.vx v4, v24, a4 ; RV64V-NEXT: vsll.vi v4, v4, 8 ; RV64V-NEXT: vor.vv v16, v16, v4 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v4, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v28, v28, v4 ; RV64V-NEXT: vor.vv v12, v12, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 272 ; RV64V-NEXT: vl4r.v v16, (a3) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v28, v16 ; RV64V-NEXT: vsrl.vx v24, v24, a0 ; RV64V-NEXT: vand.vx v24, v24, a1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v28 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v28 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v28 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 272 ; RV64V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vx v8, v8, a2 ; RV64V-NEXT: vor.vv v8, v24, v8 ; RV64V-NEXT: vor.vv v8, v20, v8 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vsrl.vi v12, v8, 4 ; RV64V-NEXT: ld a0, 240(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v12, v12, a0 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vsrl.vi v12, v8, 2 ; RV64V-NEXT: ld a0, 248(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v12, v12, a0 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vsrl.vi v12, v8, 1 ; RV64V-NEXT: ld a0, 256(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v12, v12, a0 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: ld ra, 376(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s0, 368(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s1, 360(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s2, 352(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s3, 344(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s4, 336(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s5, 328(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s6, 320(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s7, 312(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s8, 304(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s9, 296(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s10, 288(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s11, 280(sp) # 8-byte Folded Reload ; RV64V-NEXT: addi sp, sp, 384 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv4i64_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV32ZVBC64-NEXT: vclmulh.vv v8, v8, v12 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv4i64_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV64ZVBC64-NEXT: vclmulh.vv v8, v8, v12 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv4i64_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: addi sp, sp, -352 ; RV32ZVBC32-NEXT: sw ra, 348(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s0, 344(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s1, 340(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s2, 336(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s3, 332(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s4, 328(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s5, 324(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s6, 320(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s7, 316(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s8, 312(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s9, 308(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s10, 304(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s11, 300(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: sub sp, sp, a0 ; RV32ZVBC32-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV32ZVBC32-NEXT: vmv4r.v v28, v12 ; RV32ZVBC32-NEXT: lui s11, 1044480 ; RV32ZVBC32-NEXT: lui t6, 524288 ; RV32ZVBC32-NEXT: li a0, 1 ; RV32ZVBC32-NEXT: li ra, 2 ; RV32ZVBC32-NEXT: li t4, 4 ; RV32ZVBC32-NEXT: li t2, 8 ; RV32ZVBC32-NEXT: li t5, 16 ; RV32ZVBC32-NEXT: li t3, 32 ; RV32ZVBC32-NEXT: li t1, 64 ; RV32ZVBC32-NEXT: li t0, 128 ; RV32ZVBC32-NEXT: li a7, 256 ; RV32ZVBC32-NEXT: li a6, 512 ; RV32ZVBC32-NEXT: li a3, 1024 ; RV32ZVBC32-NEXT: lui a2, 1 ; RV32ZVBC32-NEXT: lui a4, 2 ; RV32ZVBC32-NEXT: lui a1, 4 ; RV32ZVBC32-NEXT: lui a5, 8 ; RV32ZVBC32-NEXT: lui s0, 16 ; RV32ZVBC32-NEXT: lui s1, 32 ; RV32ZVBC32-NEXT: lui s2, 64 ; RV32ZVBC32-NEXT: lui s3, 128 ; RV32ZVBC32-NEXT: lui s4, 256 ; RV32ZVBC32-NEXT: lui s5, 512 ; RV32ZVBC32-NEXT: lui s6, 1024 ; RV32ZVBC32-NEXT: lui s7, 2048 ; RV32ZVBC32-NEXT: lui s8, 4096 ; RV32ZVBC32-NEXT: lui s9, 8192 ; RV32ZVBC32-NEXT: lui s10, 16384 ; RV32ZVBC32-NEXT: sw s11, 248(sp) ; RV32ZVBC32-NEXT: lui s11, 32768 ; RV32ZVBC32-NEXT: sw zero, 252(sp) ; RV32ZVBC32-NEXT: sw t6, 8(sp) ; RV32ZVBC32-NEXT: sw zero, 12(sp) ; RV32ZVBC32-NEXT: sw zero, 272(sp) ; RV32ZVBC32-NEXT: sw a0, 276(sp) ; RV32ZVBC32-NEXT: sw zero, 256(sp) ; RV32ZVBC32-NEXT: sw ra, 260(sp) ; RV32ZVBC32-NEXT: lui ra, 65536 ; RV32ZVBC32-NEXT: sw zero, 264(sp) ; RV32ZVBC32-NEXT: sw t4, 268(sp) ; RV32ZVBC32-NEXT: lui t4, 131072 ; RV32ZVBC32-NEXT: sw zero, 240(sp) ; RV32ZVBC32-NEXT: sw t2, 244(sp) ; RV32ZVBC32-NEXT: lui t2, 262144 ; RV32ZVBC32-NEXT: sw zero, 232(sp) ; RV32ZVBC32-NEXT: sw t5, 236(sp) ; RV32ZVBC32-NEXT: sw zero, 224(sp) ; RV32ZVBC32-NEXT: sw t3, 228(sp) ; RV32ZVBC32-NEXT: sw zero, 216(sp) ; RV32ZVBC32-NEXT: sw t1, 220(sp) ; RV32ZVBC32-NEXT: sw zero, 208(sp) ; RV32ZVBC32-NEXT: sw t0, 212(sp) ; RV32ZVBC32-NEXT: sw zero, 200(sp) ; RV32ZVBC32-NEXT: sw a7, 204(sp) ; RV32ZVBC32-NEXT: sw zero, 192(sp) ; RV32ZVBC32-NEXT: sw a6, 196(sp) ; RV32ZVBC32-NEXT: sw zero, 184(sp) ; RV32ZVBC32-NEXT: sw a3, 188(sp) ; RV32ZVBC32-NEXT: slli a3, a0, 11 ; RV32ZVBC32-NEXT: sw zero, 176(sp) ; RV32ZVBC32-NEXT: sw a3, 180(sp) ; RV32ZVBC32-NEXT: sw zero, 168(sp) ; RV32ZVBC32-NEXT: sw a2, 172(sp) ; RV32ZVBC32-NEXT: lui t1, 1 ; RV32ZVBC32-NEXT: sw zero, 160(sp) ; RV32ZVBC32-NEXT: sw a4, 164(sp) ; RV32ZVBC32-NEXT: lui t3, 2 ; RV32ZVBC32-NEXT: sw zero, 152(sp) ; RV32ZVBC32-NEXT: sw a1, 156(sp) ; RV32ZVBC32-NEXT: sw zero, 144(sp) ; RV32ZVBC32-NEXT: sw a5, 148(sp) ; RV32ZVBC32-NEXT: lui t5, 8 ; RV32ZVBC32-NEXT: sw zero, 136(sp) ; RV32ZVBC32-NEXT: sw s0, 140(sp) ; RV32ZVBC32-NEXT: sw zero, 128(sp) ; RV32ZVBC32-NEXT: sw s1, 132(sp) ; RV32ZVBC32-NEXT: sw zero, 120(sp) ; RV32ZVBC32-NEXT: sw s2, 124(sp) ; RV32ZVBC32-NEXT: sw zero, 112(sp) ; RV32ZVBC32-NEXT: sw s3, 116(sp) ; RV32ZVBC32-NEXT: sw zero, 104(sp) ; RV32ZVBC32-NEXT: sw s4, 108(sp) ; RV32ZVBC32-NEXT: sw zero, 96(sp) ; RV32ZVBC32-NEXT: sw s5, 100(sp) ; RV32ZVBC32-NEXT: sw zero, 88(sp) ; RV32ZVBC32-NEXT: sw s6, 92(sp) ; RV32ZVBC32-NEXT: sw zero, 80(sp) ; RV32ZVBC32-NEXT: sw s7, 84(sp) ; RV32ZVBC32-NEXT: sw zero, 72(sp) ; RV32ZVBC32-NEXT: sw s8, 76(sp) ; RV32ZVBC32-NEXT: sw zero, 64(sp) ; RV32ZVBC32-NEXT: sw s9, 68(sp) ; RV32ZVBC32-NEXT: sw zero, 56(sp) ; RV32ZVBC32-NEXT: sw s10, 60(sp) ; RV32ZVBC32-NEXT: sw zero, 48(sp) ; RV32ZVBC32-NEXT: sw s11, 52(sp) ; RV32ZVBC32-NEXT: sw zero, 40(sp) ; RV32ZVBC32-NEXT: sw ra, 44(sp) ; RV32ZVBC32-NEXT: sw zero, 32(sp) ; RV32ZVBC32-NEXT: sw t4, 36(sp) ; RV32ZVBC32-NEXT: sw zero, 24(sp) ; RV32ZVBC32-NEXT: sw t2, 28(sp) ; RV32ZVBC32-NEXT: sw zero, 16(sp) ; RV32ZVBC32-NEXT: sw t6, 20(sp) ; RV32ZVBC32-NEXT: addi a1, sp, 248 ; RV32ZVBC32-NEXT: vlse64.v v12, (a1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: li a6, 56 ; RV32ZVBC32-NEXT: vsrl.vx v20, v8, a6 ; RV32ZVBC32-NEXT: li a5, 40 ; RV32ZVBC32-NEXT: vsrl.vx v24, v8, a5 ; RV32ZVBC32-NEXT: vsll.vx v16, v8, a6 ; RV32ZVBC32-NEXT: vsrl.vx v12, v28, a6 ; RV32ZVBC32-NEXT: vsrl.vx v4, v28, a5 ; RV32ZVBC32-NEXT: addi a2, s0, -256 ; RV32ZVBC32-NEXT: vand.vx v24, v24, a2 ; RV32ZVBC32-NEXT: vor.vv v24, v24, v20 ; RV32ZVBC32-NEXT: vsll.vx v0, v28, a6 ; RV32ZVBC32-NEXT: vand.vx v20, v4, a2 ; RV32ZVBC32-NEXT: vor.vv v12, v20, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v20, v8, a2 ; RV32ZVBC32-NEXT: vsll.vx v20, v20, a5 ; RV32ZVBC32-NEXT: vor.vv v20, v16, v20 ; RV32ZVBC32-NEXT: vand.vx v16, v28, a2 ; RV32ZVBC32-NEXT: vsll.vx v16, v16, a5 ; RV32ZVBC32-NEXT: vor.vv v12, v0, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vsrl.vi v4, v8, 24 ; RV32ZVBC32-NEXT: lui a4, 4080 ; RV32ZVBC32-NEXT: vand.vx v4, v4, a4 ; RV32ZVBC32-NEXT: vsrl.vi v0, v8, 8 ; RV32ZVBC32-NEXT: vmv4r.v v12, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v0, v0, v8 ; RV32ZVBC32-NEXT: vor.vv v4, v0, v4 ; RV32ZVBC32-NEXT: vsrl.vi v0, v28, 24 ; RV32ZVBC32-NEXT: vand.vx v0, v0, a4 ; RV32ZVBC32-NEXT: vsrl.vi v16, v28, 8 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v8 ; RV32ZVBC32-NEXT: vor.vv v16, v16, v0 ; RV32ZVBC32-NEXT: vor.vv v24, v4, v24 ; RV32ZVBC32-NEXT: vand.vx v4, v12, a4 ; RV32ZVBC32-NEXT: vsll.vi v4, v4, 24 ; RV32ZVBC32-NEXT: vand.vv v12, v12, v8 ; RV32ZVBC32-NEXT: vsll.vi v12, v12, 8 ; RV32ZVBC32-NEXT: vor.vv v12, v4, v12 ; RV32ZVBC32-NEXT: lui a7, 61681 ; RV32ZVBC32-NEXT: addi a7, a7, -241 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v4, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v16, v16, v4 ; RV32ZVBC32-NEXT: vmv4r.v v4, v28 ; RV32ZVBC32-NEXT: vand.vx v28, v28, a4 ; RV32ZVBC32-NEXT: vsll.vi v28, v28, 24 ; RV32ZVBC32-NEXT: vand.vv v4, v4, v8 ; RV32ZVBC32-NEXT: vsll.vi v4, v4, 8 ; RV32ZVBC32-NEXT: vor.vv v28, v28, v4 ; RV32ZVBC32-NEXT: vsetvli t0, zero, e32, m4, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v4, a7 ; RV32ZVBC32-NEXT: lui a7, 209715 ; RV32ZVBC32-NEXT: addi a7, a7, 819 ; RV32ZVBC32-NEXT: vsetvli t0, zero, e64, m4, ta, ma ; RV32ZVBC32-NEXT: vor.vv v12, v20, v12 ; RV32ZVBC32-NEXT: vsetvli t0, zero, e32, m4, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v0, a7 ; RV32ZVBC32-NEXT: lui a7, 349525 ; RV32ZVBC32-NEXT: addi a7, a7, 1365 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vsetvli t0, zero, e64, m4, ta, ma ; RV32ZVBC32-NEXT: vor.vv v28, v8, v28 ; RV32ZVBC32-NEXT: vsetvli t0, zero, e32, m4, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v8, a7 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vsetvli a7, zero, e64, m4, ta, ma ; RV32ZVBC32-NEXT: vor.vv v24, v12, v24 ; RV32ZVBC32-NEXT: addi a7, sp, 8 ; RV32ZVBC32-NEXT: vlse64.v v12, (a7), zero ; RV32ZVBC32-NEXT: vor.vv v8, v28, v16 ; RV32ZVBC32-NEXT: vsrl.vi v16, v24, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v4, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v20, v24, v4 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v4 ; RV32ZVBC32-NEXT: vsll.vi v20, v20, 4 ; RV32ZVBC32-NEXT: vor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: vsrl.vi v20, v8, 4 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v4 ; RV32ZVBC32-NEXT: vand.vv v20, v20, v4 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v20, v8 ; RV32ZVBC32-NEXT: vsrl.vi v20, v16, 2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v0, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v16, v16, v0 ; RV32ZVBC32-NEXT: vand.vv v20, v20, v0 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 2 ; RV32ZVBC32-NEXT: vor.vv v16, v20, v16 ; RV32ZVBC32-NEXT: vsrl.vi v20, v8, 2 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v0 ; RV32ZVBC32-NEXT: vand.vv v20, v20, v0 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v20, v8 ; RV32ZVBC32-NEXT: vsrl.vi v20, v16, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v16, v16, v28 ; RV32ZVBC32-NEXT: vand.vv v20, v20, v28 ; RV32ZVBC32-NEXT: vadd.vv v16, v16, v16 ; RV32ZVBC32-NEXT: vor.vv v24, v20, v16 ; RV32ZVBC32-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v28 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v28 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC32-NEXT: addi a7, sp, 272 ; RV32ZVBC32-NEXT: vlse64.v v16, (a7), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a7, sp, 256 ; RV32ZVBC32-NEXT: addi t0, sp, 264 ; RV32ZVBC32-NEXT: addi a0, sp, 240 ; RV32ZVBC32-NEXT: vlse64.v v12, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (t0), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (a0), zero ; RV32ZVBC32-NEXT: vand.vv v16, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v16, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a1, sp, 232 ; RV32ZVBC32-NEXT: addi a7, sp, 224 ; RV32ZVBC32-NEXT: addi t0, sp, 216 ; RV32ZVBC32-NEXT: addi a0, sp, 208 ; RV32ZVBC32-NEXT: vlse64.v v12, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (t0), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (a0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 200 ; RV32ZVBC32-NEXT: addi a1, sp, 192 ; RV32ZVBC32-NEXT: addi a7, sp, 184 ; RV32ZVBC32-NEXT: addi t0, sp, 176 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (t0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 168 ; RV32ZVBC32-NEXT: addi a1, sp, 160 ; RV32ZVBC32-NEXT: addi a7, sp, 152 ; RV32ZVBC32-NEXT: addi t0, sp, 144 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (t0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 136 ; RV32ZVBC32-NEXT: addi a1, sp, 128 ; RV32ZVBC32-NEXT: addi a7, sp, 120 ; RV32ZVBC32-NEXT: addi t0, sp, 112 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (t0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 104 ; RV32ZVBC32-NEXT: addi a1, sp, 96 ; RV32ZVBC32-NEXT: addi a7, sp, 88 ; RV32ZVBC32-NEXT: addi t0, sp, 80 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (t0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 72 ; RV32ZVBC32-NEXT: addi a1, sp, 64 ; RV32ZVBC32-NEXT: addi a7, sp, 56 ; RV32ZVBC32-NEXT: addi t0, sp, 48 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (t0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 40 ; RV32ZVBC32-NEXT: addi a1, sp, 32 ; RV32ZVBC32-NEXT: addi a7, sp, 24 ; RV32ZVBC32-NEXT: addi t0, sp, 16 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (t0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: li a0, 16 ; RV32ZVBC32-NEXT: vand.vx v12, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: li a0, 32 ; RV32ZVBC32-NEXT: vand.vx v28, v8, a0 ; RV32ZVBC32-NEXT: li a0, 64 ; RV32ZVBC32-NEXT: vand.vx v4, v8, a0 ; RV32ZVBC32-NEXT: li a0, 128 ; RV32ZVBC32-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC32-NEXT: li a0, 256 ; RV32ZVBC32-NEXT: vand.vx v12, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: li a0, 512 ; RV32ZVBC32-NEXT: vand.vx v12, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: li a0, 1024 ; RV32ZVBC32-NEXT: vand.vx v12, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, a3 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t3 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 4 ; RV32ZVBC32-NEXT: vand.vx v12, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t5 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s3 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s5 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s7 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s9 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s10 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s11 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, ra ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t2 ; RV32ZVBC32-NEXT: addi a0, sp, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vi v12, v8, 2 ; RV32ZVBC32-NEXT: vand.vi v16, v8, 1 ; RV32ZVBC32-NEXT: vand.vi v20, v8, 4 ; RV32ZVBC32-NEXT: vand.vi v8, v8, 8 ; RV32ZVBC32-NEXT: vmul.vv v12, v24, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vmul.vv v12, v24, v16 ; RV32ZVBC32-NEXT: vmul.vv v16, v24, v20 ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v20, v24, v8 ; RV32ZVBC32-NEXT: vmul.vv v28, v24, v28 ; RV32ZVBC32-NEXT: vmul.vv v4, v24, v4 ; RV32ZVBC32-NEXT: vmul.vv v0, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v24, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v12, v8 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v20 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v28 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v4 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: vsll.vx v8, v8, a6 ; RV32ZVBC32-NEXT: vand.vx v12, v12, a2 ; RV32ZVBC32-NEXT: vsll.vx v12, v12, a5 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v16, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: vsrl.vi v28, v12, 8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v4, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v28, v28, v4 ; RV32ZVBC32-NEXT: vsrl.vi v16, v16, 24 ; RV32ZVBC32-NEXT: vand.vx v16, v16, a4 ; RV32ZVBC32-NEXT: vor.vv v16, v28, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v28, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v0, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v28, v28, v0 ; RV32ZVBC32-NEXT: vand.vx v12, v12, a4 ; RV32ZVBC32-NEXT: vsll.vi v12, v12, 24 ; RV32ZVBC32-NEXT: vand.vv v4, v20, v4 ; RV32ZVBC32-NEXT: vsll.vi v4, v4, 8 ; RV32ZVBC32-NEXT: vor.vv v12, v12, v4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v4, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v28, v28, v4 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v28, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v28 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v24 ; RV32ZVBC32-NEXT: vsrl.vx v20, v20, a5 ; RV32ZVBC32-NEXT: vand.vx v20, v20, a2 ; RV32ZVBC32-NEXT: vsrl.vx v12, v12, a6 ; RV32ZVBC32-NEXT: vor.vv v12, v20, v12 ; RV32ZVBC32-NEXT: vor.vv v12, v16, v12 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vsrl.vi v12, v8, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v16 ; RV32ZVBC32-NEXT: vand.vv v12, v12, v16 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV32ZVBC32-NEXT: vsrl.vi v12, v8, 2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v16 ; RV32ZVBC32-NEXT: vand.vv v12, v12, v16 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV32ZVBC32-NEXT: vsrl.vi v12, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v16 ; RV32ZVBC32-NEXT: vand.vv v12, v12, v16 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV32ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add sp, sp, a0 ; RV32ZVBC32-NEXT: lw ra, 348(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s0, 344(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s1, 340(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s2, 336(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s3, 332(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s4, 328(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s5, 324(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s6, 320(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s7, 316(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s8, 312(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s9, 308(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s10, 304(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s11, 300(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: addi sp, sp, 352 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv4i64_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: addi sp, sp, -384 ; RV64ZVBC32-NEXT: sd ra, 376(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s0, 368(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s1, 360(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s2, 352(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s3, 344(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s4, 336(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s5, 328(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s6, 320(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s7, 312(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s8, 304(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s9, 296(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s10, 288(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s11, 280(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: sub sp, sp, a0 ; RV64ZVBC32-NEXT: lui a5, 16 ; RV64ZVBC32-NEXT: vsetvli a0, zero, e64, m4, ta, ma ; RV64ZVBC32-NEXT: vsrl.vi v24, v8, 24 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v16, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: li s3, 255 ; RV64ZVBC32-NEXT: lui a0, 61681 ; RV64ZVBC32-NEXT: lui a1, 209715 ; RV64ZVBC32-NEXT: lui a2, 349525 ; RV64ZVBC32-NEXT: vsrl.vi v28, v12, 24 ; RV64ZVBC32-NEXT: li a3, 56 ; RV64ZVBC32-NEXT: vsrl.vx v16, v8, a3 ; RV64ZVBC32-NEXT: li a4, 40 ; RV64ZVBC32-NEXT: vsrl.vx v20, v8, a4 ; RV64ZVBC32-NEXT: addi t3, a5, -256 ; RV64ZVBC32-NEXT: vsrl.vx v4, v12, a3 ; RV64ZVBC32-NEXT: vand.vx v20, v20, t3 ; RV64ZVBC32-NEXT: vor.vv v20, v20, v16 ; RV64ZVBC32-NEXT: vsrl.vx v16, v12, a4 ; RV64ZVBC32-NEXT: li t4, 40 ; RV64ZVBC32-NEXT: vand.vx v16, v16, t3 ; RV64ZVBC32-NEXT: vor.vv v0, v16, v4 ; RV64ZVBC32-NEXT: vsrl.vi v16, v12, 8 ; RV64ZVBC32-NEXT: li a3, 16 ; RV64ZVBC32-NEXT: li a6, 32 ; RV64ZVBC32-NEXT: li a5, 64 ; RV64ZVBC32-NEXT: li a4, 128 ; RV64ZVBC32-NEXT: li t0, 256 ; RV64ZVBC32-NEXT: li a7, 512 ; RV64ZVBC32-NEXT: li t2, 1 ; RV64ZVBC32-NEXT: lui t1, 4080 ; RV64ZVBC32-NEXT: vand.vx v4, v24, t1 ; RV64ZVBC32-NEXT: slli s3, s3, 24 ; RV64ZVBC32-NEXT: vand.vx v24, v28, t1 ; RV64ZVBC32-NEXT: vand.vx v16, v16, s3 ; RV64ZVBC32-NEXT: vor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vand.vx v24, v12, t1 ; RV64ZVBC32-NEXT: lui t5, 4080 ; RV64ZVBC32-NEXT: vsll.vi v28, v24, 24 ; RV64ZVBC32-NEXT: vor.vv v24, v16, v0 ; RV64ZVBC32-NEXT: vand.vx v16, v12, s3 ; RV64ZVBC32-NEXT: vsll.vi v16, v16, 8 ; RV64ZVBC32-NEXT: vor.vv v16, v28, v16 ; RV64ZVBC32-NEXT: li t1, 56 ; RV64ZVBC32-NEXT: vsll.vx v28, v12, t1 ; RV64ZVBC32-NEXT: vand.vx v12, v12, t3 ; RV64ZVBC32-NEXT: mv s0, t3 ; RV64ZVBC32-NEXT: sd t3, 224(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vsll.vx v12, v12, t4 ; RV64ZVBC32-NEXT: vor.vv v12, v28, v12 ; RV64ZVBC32-NEXT: vand.vx v0, v8, t5 ; RV64ZVBC32-NEXT: vor.vv v12, v12, v16 ; RV64ZVBC32-NEXT: vsll.vx v28, v8, t1 ; RV64ZVBC32-NEXT: addi t3, a0, -241 ; RV64ZVBC32-NEXT: addi t5, a1, 819 ; RV64ZVBC32-NEXT: addi t6, a2, 1365 ; RV64ZVBC32-NEXT: slli a0, t2, 11 ; RV64ZVBC32-NEXT: sd a0, 216(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 31 ; RV64ZVBC32-NEXT: sd a0, 208(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 32 ; RV64ZVBC32-NEXT: sd a0, 200(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 33 ; RV64ZVBC32-NEXT: sd a0, 192(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 34 ; RV64ZVBC32-NEXT: sd a0, 184(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 35 ; RV64ZVBC32-NEXT: sd a0, 176(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 36 ; RV64ZVBC32-NEXT: sd a0, 168(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 37 ; RV64ZVBC32-NEXT: sd a0, 160(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 38 ; RV64ZVBC32-NEXT: sd a0, 152(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 39 ; RV64ZVBC32-NEXT: sd a0, 144(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 40 ; RV64ZVBC32-NEXT: sd a0, 136(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t3, 32 ; RV64ZVBC32-NEXT: add t3, t3, a0 ; RV64ZVBC32-NEXT: slli a0, t5, 32 ; RV64ZVBC32-NEXT: add t5, t5, a0 ; RV64ZVBC32-NEXT: slli a0, t6, 32 ; RV64ZVBC32-NEXT: add a0, t6, a0 ; RV64ZVBC32-NEXT: slli a1, t2, 41 ; RV64ZVBC32-NEXT: sd a1, 128(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vor.vv v12, v12, v24 ; RV64ZVBC32-NEXT: vsrl.vi v16, v12, 4 ; RV64ZVBC32-NEXT: vand.vx v12, v12, t3 ; RV64ZVBC32-NEXT: vand.vx v16, v16, t3 ; RV64ZVBC32-NEXT: vsll.vi v12, v12, 4 ; RV64ZVBC32-NEXT: vor.vv v12, v16, v12 ; RV64ZVBC32-NEXT: vsrl.vi v16, v12, 2 ; RV64ZVBC32-NEXT: vand.vx v12, v12, t5 ; RV64ZVBC32-NEXT: vand.vx v16, v16, t5 ; RV64ZVBC32-NEXT: vsll.vi v12, v12, 2 ; RV64ZVBC32-NEXT: vor.vv v12, v16, v12 ; RV64ZVBC32-NEXT: vsrl.vi v16, v12, 1 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a0 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC32-NEXT: vadd.vv v12, v12, v12 ; RV64ZVBC32-NEXT: vor.vv v24, v16, v12 ; RV64ZVBC32-NEXT: vand.vx v12, v24, a3 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 4 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a1) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: slli a1, t2, 42 ; RV64ZVBC32-NEXT: sd a1, 120(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a1) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: sd s3, 232(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v12, s3 ; RV64ZVBC32-NEXT: vor.vv v12, v12, v4 ; RV64ZVBC32-NEXT: vand.vx v16, v24, a6 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 4 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 272 ; RV64ZVBC32-NEXT: vs4r.v v16, (a1) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: slli a1, t2, 43 ; RV64ZVBC32-NEXT: sd a1, 112(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vsll.vi v16, v0, 24 ; RV64ZVBC32-NEXT: vor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: vand.vx v20, v8, s3 ; RV64ZVBC32-NEXT: vsll.vi v20, v20, 8 ; RV64ZVBC32-NEXT: vor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: vand.vx v0, v24, a5 ; RV64ZVBC32-NEXT: slli a1, t2, 44 ; RV64ZVBC32-NEXT: sd a1, 104(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v8, s0 ; RV64ZVBC32-NEXT: vsll.vx v8, v8, t4 ; RV64ZVBC32-NEXT: vor.vv v8, v28, v8 ; RV64ZVBC32-NEXT: vand.vx v20, v24, a4 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 272 ; RV64ZVBC32-NEXT: vs4r.v v20, (a1) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: slli a1, t2, 45 ; RV64ZVBC32-NEXT: sd a1, 96(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: vand.vx v16, v24, t0 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 272 ; RV64ZVBC32-NEXT: vs4r.v v16, (a1) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: slli a1, t2, 46 ; RV64ZVBC32-NEXT: sd a1, 88(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vor.vv v8, v8, v12 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 4 ; RV64ZVBC32-NEXT: sd t3, 240(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v8, t3 ; RV64ZVBC32-NEXT: vand.vx v12, v12, t3 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 2 ; RV64ZVBC32-NEXT: sd t5, 248(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v8, t5 ; RV64ZVBC32-NEXT: vand.vx v12, v12, t5 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 1 ; RV64ZVBC32-NEXT: sd a0, 256(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a0 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vand.vx v12, v24, a7 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 47 ; RV64ZVBC32-NEXT: sd a0, 80(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 48 ; RV64ZVBC32-NEXT: sd a0, 72(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 49 ; RV64ZVBC32-NEXT: sd a0, 64(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 50 ; RV64ZVBC32-NEXT: sd a0, 56(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 51 ; RV64ZVBC32-NEXT: sd a0, 48(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 52 ; RV64ZVBC32-NEXT: sd a0, 40(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 53 ; RV64ZVBC32-NEXT: sd a0, 32(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 54 ; RV64ZVBC32-NEXT: sd a0, 24(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli ra, t2, 55 ; RV64ZVBC32-NEXT: slli s11, t2, 56 ; RV64ZVBC32-NEXT: slli s10, t2, 57 ; RV64ZVBC32-NEXT: slli s9, t2, 58 ; RV64ZVBC32-NEXT: slli s8, t2, 59 ; RV64ZVBC32-NEXT: slli s6, t2, 60 ; RV64ZVBC32-NEXT: slli s7, t2, 61 ; RV64ZVBC32-NEXT: slli s5, t2, 62 ; RV64ZVBC32-NEXT: li a0, -1 ; RV64ZVBC32-NEXT: slli s4, a0, 63 ; RV64ZVBC32-NEXT: li a0, 1024 ; RV64ZVBC32-NEXT: lui a1, 1 ; RV64ZVBC32-NEXT: lui a2, 2 ; RV64ZVBC32-NEXT: lui a3, 4 ; RV64ZVBC32-NEXT: lui a4, 8 ; RV64ZVBC32-NEXT: lui a5, 32 ; RV64ZVBC32-NEXT: lui a6, 64 ; RV64ZVBC32-NEXT: lui a7, 128 ; RV64ZVBC32-NEXT: lui t0, 256 ; RV64ZVBC32-NEXT: lui t1, 512 ; RV64ZVBC32-NEXT: lui t2, 1024 ; RV64ZVBC32-NEXT: lui t3, 2048 ; RV64ZVBC32-NEXT: lui t4, 4096 ; RV64ZVBC32-NEXT: lui t5, 8192 ; RV64ZVBC32-NEXT: lui t6, 16384 ; RV64ZVBC32-NEXT: lui s0, 32768 ; RV64ZVBC32-NEXT: lui s1, 65536 ; RV64ZVBC32-NEXT: lui s2, 131072 ; RV64ZVBC32-NEXT: lui s3, 262144 ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: sd s8, 8(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv s8, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add s8, s8, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, s8 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 216(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv s8, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, s8 ; RV64ZVBC32-NEXT: ld s8, 8(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, a1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, a2 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, a3 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, a4 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: lui a0, 16 ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, a5 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, a6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, a7 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 8 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, t0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, t1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, t2 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, t3 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, t4 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, t5 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, t6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, s0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, s1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, s2 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, s3 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 208(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 200(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 192(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 184(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 176(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 168(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 160(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 152(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 144(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 136(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 128(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 120(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 112(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 104(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 96(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 88(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 80(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 72(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 64(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 56(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 48(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 40(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 32(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 24(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v12, v24, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, ra ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, s11 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, s10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, s9 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, s8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v12, v24, s6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vi v12, v24, 2 ; RV64ZVBC32-NEXT: vand.vi v16, v24, 1 ; RV64ZVBC32-NEXT: vand.vi v20, v24, 4 ; RV64ZVBC32-NEXT: vand.vi v28, v24, 8 ; RV64ZVBC32-NEXT: vand.vx v4, v24, s7 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v4, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v4, v24, s5 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v4, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v24, v24, s4 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v24, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v20 ; RV64ZVBC32-NEXT: vmul.vv v20, v8, v28 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v24, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v24, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v28, v8, v12 ; RV64ZVBC32-NEXT: vmul.vv v4, v8, v0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v0, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v0, v8, v0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 8 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: addi a0, sp, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 8 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v12, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v8, v8, v12 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v8, v12 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v24 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v28 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v12, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v20, v16, v8 ; RV64ZVBC32-NEXT: addi a0, sp, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v20, v20, v8 ; RV64ZVBC32-NEXT: li a2, 56 ; RV64ZVBC32-NEXT: vsll.vx v12, v12, a2 ; RV64ZVBC32-NEXT: ld a1, 224(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v16, a1 ; RV64ZVBC32-NEXT: li a0, 40 ; RV64ZVBC32-NEXT: vsll.vx v16, v16, a0 ; RV64ZVBC32-NEXT: vor.vv v12, v12, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 6 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v16, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v20, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 8 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 5 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v20, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v20, v16, v20 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v20, v20, v24 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v20, v20, v24 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 6 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v20, v20, v24 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v20, v20, v24 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v20, v20, v24 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v20, v20, v24 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v20, v20, v24 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v24, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v20, v24 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v28, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v28 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v28, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v28 ; RV64ZVBC32-NEXT: vsrl.vi v28, v16, 8 ; RV64ZVBC32-NEXT: ld a4, 232(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v28, v28, a4 ; RV64ZVBC32-NEXT: vsrl.vi v20, v20, 24 ; RV64ZVBC32-NEXT: lui a3, 4080 ; RV64ZVBC32-NEXT: vand.vx v20, v20, a3 ; RV64ZVBC32-NEXT: vor.vv v20, v28, v20 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 5 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 272 ; RV64ZVBC32-NEXT: vl4r.v v28, (a5) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v28 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 2 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 4 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 272 ; RV64ZVBC32-NEXT: vl4r.v v28, (a5) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v28 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 4 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 272 ; RV64ZVBC32-NEXT: vl4r.v v28, (a5) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v28 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 2 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 2 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 4 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 272 ; RV64ZVBC32-NEXT: vl4r.v v28, (a5) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v28 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 4 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 4 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 272 ; RV64ZVBC32-NEXT: vl4r.v v28, (a5) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v28 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 2 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 5 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 272 ; RV64ZVBC32-NEXT: vl4r.v v28, (a5) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v28, v24, v28 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 5 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 272 ; RV64ZVBC32-NEXT: vl4r.v v4, (a5) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v28, v28, v4 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a3 ; RV64ZVBC32-NEXT: vsll.vi v16, v16, 24 ; RV64ZVBC32-NEXT: vand.vx v4, v24, a4 ; RV64ZVBC32-NEXT: vsll.vi v4, v4, 8 ; RV64ZVBC32-NEXT: vor.vv v16, v16, v4 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v4, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v28, v28, v4 ; RV64ZVBC32-NEXT: vor.vv v12, v12, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 272 ; RV64ZVBC32-NEXT: vl4r.v v16, (a3) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v28, v16 ; RV64ZVBC32-NEXT: vsrl.vx v24, v24, a0 ; RV64ZVBC32-NEXT: vand.vx v24, v24, a1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v28 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v28 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v28 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 272 ; RV64ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vsrl.vx v8, v8, a2 ; RV64ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v20, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 4 ; RV64ZVBC32-NEXT: ld a0, 240(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a0 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 2 ; RV64ZVBC32-NEXT: ld a0, 248(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a0 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 1 ; RV64ZVBC32-NEXT: ld a0, 256(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a0 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add sp, sp, a0 ; RV64ZVBC32-NEXT: ld ra, 376(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s0, 368(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s1, 360(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s2, 352(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s3, 344(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s4, 336(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s5, 328(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s6, 320(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s7, 312(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s8, 304(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s9, 296(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s10, 288(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s11, 280(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: addi sp, sp, 384 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv4i128( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i128 64) %res = trunc %res.ext to ret %res } define @clmulh_nxv4i64_vx( %va, i64 %b) nounwind { ; RV32V-LABEL: clmulh_nxv4i64_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -368 ; RV32V-NEXT: sw ra, 364(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s0, 360(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s1, 356(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s2, 352(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s3, 348(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s4, 344(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s5, 340(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s6, 336(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s7, 332(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s8, 328(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s9, 324(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s10, 320(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s11, 316(sp) # 4-byte Folded Spill ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 2 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a3, a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a3, a3, a2 ; RV32V-NEXT: slli a2, a2, 1 ; RV32V-NEXT: add a3, a3, a2 ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: sub sp, sp, a2 ; RV32V-NEXT: vsetvli a2, zero, e64, m4, ta, ma ; RV32V-NEXT: vmv4r.v v0, v8 ; RV32V-NEXT: sw a0, 16(sp) ; RV32V-NEXT: sw a1, 20(sp) ; RV32V-NEXT: addi s10, sp, 16 ; RV32V-NEXT: lui s11, 1044480 ; RV32V-NEXT: lui s0, 524288 ; RV32V-NEXT: li a0, 1 ; RV32V-NEXT: li ra, 2 ; RV32V-NEXT: li t5, 4 ; RV32V-NEXT: li t3, 8 ; RV32V-NEXT: li t6, 16 ; RV32V-NEXT: li t4, 32 ; RV32V-NEXT: li t2, 64 ; RV32V-NEXT: li t1, 128 ; RV32V-NEXT: li t0, 256 ; RV32V-NEXT: li a7, 512 ; RV32V-NEXT: li a3, 1024 ; RV32V-NEXT: lui a2, 1 ; RV32V-NEXT: lui a4, 2 ; RV32V-NEXT: lui a1, 4 ; RV32V-NEXT: lui a5, 8 ; RV32V-NEXT: lui s1, 16 ; RV32V-NEXT: lui a6, 32 ; RV32V-NEXT: lui s2, 64 ; RV32V-NEXT: lui s3, 128 ; RV32V-NEXT: lui s4, 256 ; RV32V-NEXT: lui s5, 512 ; RV32V-NEXT: lui s6, 1024 ; RV32V-NEXT: lui s7, 2048 ; RV32V-NEXT: lui s8, 4096 ; RV32V-NEXT: lui s9, 8192 ; RV32V-NEXT: vlse64.v v4, (s10), zero ; RV32V-NEXT: lui s10, 16384 ; RV32V-NEXT: sw s11, 264(sp) ; RV32V-NEXT: lui s11, 32768 ; RV32V-NEXT: sw zero, 268(sp) ; RV32V-NEXT: sw s0, 24(sp) ; RV32V-NEXT: sw zero, 28(sp) ; RV32V-NEXT: sw zero, 288(sp) ; RV32V-NEXT: sw a0, 292(sp) ; RV32V-NEXT: sw zero, 272(sp) ; RV32V-NEXT: sw ra, 276(sp) ; RV32V-NEXT: lui ra, 65536 ; RV32V-NEXT: sw zero, 280(sp) ; RV32V-NEXT: sw t5, 284(sp) ; RV32V-NEXT: lui t5, 131072 ; RV32V-NEXT: sw zero, 256(sp) ; RV32V-NEXT: sw t3, 260(sp) ; RV32V-NEXT: lui t3, 262144 ; RV32V-NEXT: sw zero, 248(sp) ; RV32V-NEXT: sw t6, 252(sp) ; RV32V-NEXT: sw zero, 240(sp) ; RV32V-NEXT: sw t4, 244(sp) ; RV32V-NEXT: sw zero, 232(sp) ; RV32V-NEXT: sw t2, 236(sp) ; RV32V-NEXT: sw zero, 224(sp) ; RV32V-NEXT: sw t1, 228(sp) ; RV32V-NEXT: sw zero, 216(sp) ; RV32V-NEXT: sw t0, 220(sp) ; RV32V-NEXT: sw zero, 208(sp) ; RV32V-NEXT: sw a7, 212(sp) ; RV32V-NEXT: sw zero, 200(sp) ; RV32V-NEXT: sw a3, 204(sp) ; RV32V-NEXT: slli a3, a0, 11 ; RV32V-NEXT: sw zero, 192(sp) ; RV32V-NEXT: sw a3, 196(sp) ; RV32V-NEXT: sw zero, 184(sp) ; RV32V-NEXT: sw a2, 188(sp) ; RV32V-NEXT: lui t1, 1 ; RV32V-NEXT: sw zero, 176(sp) ; RV32V-NEXT: sw a4, 180(sp) ; RV32V-NEXT: lui t4, 2 ; RV32V-NEXT: sw zero, 168(sp) ; RV32V-NEXT: sw a1, 172(sp) ; RV32V-NEXT: lui t2, 4 ; RV32V-NEXT: sw zero, 160(sp) ; RV32V-NEXT: sw a5, 164(sp) ; RV32V-NEXT: lui t6, 8 ; RV32V-NEXT: sw zero, 152(sp) ; RV32V-NEXT: sw s1, 156(sp) ; RV32V-NEXT: sw zero, 144(sp) ; RV32V-NEXT: sw a6, 148(sp) ; RV32V-NEXT: sw zero, 136(sp) ; RV32V-NEXT: sw s2, 140(sp) ; RV32V-NEXT: sw zero, 128(sp) ; RV32V-NEXT: sw s3, 132(sp) ; RV32V-NEXT: sw zero, 120(sp) ; RV32V-NEXT: sw s4, 124(sp) ; RV32V-NEXT: sw zero, 112(sp) ; RV32V-NEXT: sw s5, 116(sp) ; RV32V-NEXT: sw zero, 104(sp) ; RV32V-NEXT: sw s6, 108(sp) ; RV32V-NEXT: sw zero, 96(sp) ; RV32V-NEXT: sw s7, 100(sp) ; RV32V-NEXT: sw zero, 88(sp) ; RV32V-NEXT: sw s8, 92(sp) ; RV32V-NEXT: sw zero, 80(sp) ; RV32V-NEXT: sw s9, 84(sp) ; RV32V-NEXT: sw zero, 72(sp) ; RV32V-NEXT: sw s10, 76(sp) ; RV32V-NEXT: sw zero, 64(sp) ; RV32V-NEXT: sw s11, 68(sp) ; RV32V-NEXT: sw zero, 56(sp) ; RV32V-NEXT: sw ra, 60(sp) ; RV32V-NEXT: sw zero, 48(sp) ; RV32V-NEXT: sw t5, 52(sp) ; RV32V-NEXT: sw zero, 40(sp) ; RV32V-NEXT: sw t3, 44(sp) ; RV32V-NEXT: sw zero, 32(sp) ; RV32V-NEXT: sw s0, 36(sp) ; RV32V-NEXT: addi a1, sp, 264 ; RV32V-NEXT: vlse64.v v12, (a1), zero ; RV32V-NEXT: li a6, 56 ; RV32V-NEXT: vsrl.vx v16, v8, a6 ; RV32V-NEXT: li a5, 40 ; RV32V-NEXT: vsrl.vx v20, v8, a5 ; RV32V-NEXT: vsll.vx v24, v8, a6 ; RV32V-NEXT: addi a2, s1, -256 ; RV32V-NEXT: vand.vx v20, v20, a2 ; RV32V-NEXT: vand.vx v28, v8, a2 ; RV32V-NEXT: vor.vv v8, v20, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vsll.vx v16, v28, a5 ; RV32V-NEXT: vor.vv v8, v24, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vmv.v.v v20, v4 ; RV32V-NEXT: vsrl.vx v24, v4, a6 ; RV32V-NEXT: vsrl.vx v28, v4, a5 ; RV32V-NEXT: vsll.vx v4, v4, a6 ; RV32V-NEXT: vand.vx v28, v28, a2 ; RV32V-NEXT: vor.vv v28, v28, v24 ; RV32V-NEXT: vand.vx v24, v20, a2 ; RV32V-NEXT: vsll.vx v24, v24, a5 ; RV32V-NEXT: vor.vv v8, v4, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vmv4r.v v8, v0 ; RV32V-NEXT: vsrl.vi v4, v0, 24 ; RV32V-NEXT: lui a4, 4080 ; RV32V-NEXT: vand.vx v4, v4, a4 ; RV32V-NEXT: vsrl.vi v0, v0, 8 ; RV32V-NEXT: vand.vv v0, v0, v12 ; RV32V-NEXT: vor.vv v4, v0, v4 ; RV32V-NEXT: vsrl.vi v0, v20, 24 ; RV32V-NEXT: vand.vx v0, v0, a4 ; RV32V-NEXT: vsrl.vi v16, v20, 8 ; RV32V-NEXT: vand.vv v16, v16, v12 ; RV32V-NEXT: vor.vv v16, v16, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v24, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vor.vv v24, v4, v24 ; RV32V-NEXT: vand.vx v4, v8, a4 ; RV32V-NEXT: vsll.vi v4, v4, 24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v8, v8, v12 ; RV32V-NEXT: vsll.vi v8, v8, 8 ; RV32V-NEXT: vor.vv v4, v4, v8 ; RV32V-NEXT: lui a7, 61681 ; RV32V-NEXT: addi a7, a7, -241 ; RV32V-NEXT: vor.vv v8, v16, v28 ; RV32V-NEXT: vand.vx v16, v20, a4 ; RV32V-NEXT: vsll.vi v16, v16, 24 ; RV32V-NEXT: vand.vv v12, v20, v12 ; RV32V-NEXT: vsll.vi v12, v12, 8 ; RV32V-NEXT: vor.vv v12, v16, v12 ; RV32V-NEXT: vsetvli t0, zero, e32, m4, ta, ma ; RV32V-NEXT: vmv.v.x v0, a7 ; RV32V-NEXT: lui a7, 209715 ; RV32V-NEXT: addi a7, a7, 819 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vsetvli t0, zero, e64, m4, ta, ma ; RV32V-NEXT: vor.vv v16, v16, v4 ; RV32V-NEXT: vsetvli t0, zero, e32, m4, ta, ma ; RV32V-NEXT: vmv.v.x v4, a7 ; RV32V-NEXT: lui a7, 349525 ; RV32V-NEXT: addi a7, a7, 1365 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vsetvli t0, zero, e64, m4, ta, ma ; RV32V-NEXT: vor.vv v28, v20, v12 ; RV32V-NEXT: vsetvli t0, zero, e32, m4, ta, ma ; RV32V-NEXT: vmv.v.x v12, a7 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vsetvli a7, zero, e64, m4, ta, ma ; RV32V-NEXT: vor.vv v24, v16, v24 ; RV32V-NEXT: addi a7, sp, 24 ; RV32V-NEXT: vlse64.v v12, (a7), zero ; RV32V-NEXT: vor.vv v8, v28, v8 ; RV32V-NEXT: vsrl.vi v16, v24, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v0, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v20, v24, v0 ; RV32V-NEXT: vand.vv v16, v16, v0 ; RV32V-NEXT: vsll.vi v20, v20, 4 ; RV32V-NEXT: vor.vv v16, v16, v20 ; RV32V-NEXT: vsrl.vi v20, v8, 4 ; RV32V-NEXT: vand.vv v8, v8, v0 ; RV32V-NEXT: vand.vv v20, v20, v0 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v20, v8 ; RV32V-NEXT: vsrl.vi v20, v16, 2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v4, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v16, v16, v4 ; RV32V-NEXT: vand.vv v20, v20, v4 ; RV32V-NEXT: vsll.vi v16, v16, 2 ; RV32V-NEXT: vor.vv v16, v20, v16 ; RV32V-NEXT: vsrl.vi v20, v8, 2 ; RV32V-NEXT: vand.vv v8, v8, v4 ; RV32V-NEXT: vand.vv v20, v20, v4 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v20, v8 ; RV32V-NEXT: vsrl.vi v20, v16, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vand.vv v16, v16, v28 ; RV32V-NEXT: vand.vv v20, v20, v28 ; RV32V-NEXT: vadd.vv v16, v16, v16 ; RV32V-NEXT: vor.vv v24, v20, v16 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vv v8, v8, v28 ; RV32V-NEXT: vand.vv v16, v16, v28 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: addi a7, sp, 288 ; RV32V-NEXT: vlse64.v v16, (a7), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a7, sp, 272 ; RV32V-NEXT: addi t0, sp, 280 ; RV32V-NEXT: addi a0, sp, 256 ; RV32V-NEXT: vlse64.v v12, (a7), zero ; RV32V-NEXT: vlse64.v v20, (t0), zero ; RV32V-NEXT: vlse64.v v28, (a0), zero ; RV32V-NEXT: vand.vv v16, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v16, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a1, sp, 248 ; RV32V-NEXT: addi a7, sp, 240 ; RV32V-NEXT: addi t0, sp, 232 ; RV32V-NEXT: addi a0, sp, 224 ; RV32V-NEXT: vlse64.v v12, (a1), zero ; RV32V-NEXT: vlse64.v v16, (a7), zero ; RV32V-NEXT: vlse64.v v20, (t0), zero ; RV32V-NEXT: vlse64.v v28, (a0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 216 ; RV32V-NEXT: addi a1, sp, 208 ; RV32V-NEXT: addi a7, sp, 200 ; RV32V-NEXT: addi t0, sp, 192 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v16, (a1), zero ; RV32V-NEXT: vlse64.v v20, (a7), zero ; RV32V-NEXT: vlse64.v v28, (t0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 184 ; RV32V-NEXT: addi a1, sp, 176 ; RV32V-NEXT: addi a7, sp, 168 ; RV32V-NEXT: addi t0, sp, 160 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v16, (a1), zero ; RV32V-NEXT: vlse64.v v20, (a7), zero ; RV32V-NEXT: vlse64.v v28, (t0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 152 ; RV32V-NEXT: addi a1, sp, 144 ; RV32V-NEXT: addi a7, sp, 136 ; RV32V-NEXT: addi t0, sp, 128 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v16, (a1), zero ; RV32V-NEXT: vlse64.v v20, (a7), zero ; RV32V-NEXT: vlse64.v v28, (t0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 120 ; RV32V-NEXT: addi a1, sp, 112 ; RV32V-NEXT: addi a7, sp, 104 ; RV32V-NEXT: addi t0, sp, 96 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v16, (a1), zero ; RV32V-NEXT: vlse64.v v20, (a7), zero ; RV32V-NEXT: vlse64.v v28, (t0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 88 ; RV32V-NEXT: addi a1, sp, 80 ; RV32V-NEXT: addi a7, sp, 72 ; RV32V-NEXT: addi t0, sp, 64 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v16, (a1), zero ; RV32V-NEXT: vlse64.v v20, (a7), zero ; RV32V-NEXT: vlse64.v v28, (t0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 56 ; RV32V-NEXT: addi a1, sp, 48 ; RV32V-NEXT: addi a7, sp, 40 ; RV32V-NEXT: addi t0, sp, 32 ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: vlse64.v v16, (a1), zero ; RV32V-NEXT: vlse64.v v20, (a7), zero ; RV32V-NEXT: vlse64.v v28, (t0), zero ; RV32V-NEXT: vand.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vv v12, v8, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: li a0, 16 ; RV32V-NEXT: vand.vx v12, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: li a0, 32 ; RV32V-NEXT: vand.vx v28, v8, a0 ; RV32V-NEXT: li a0, 64 ; RV32V-NEXT: vand.vx v4, v8, a0 ; RV32V-NEXT: li a0, 128 ; RV32V-NEXT: vand.vx v0, v8, a0 ; RV32V-NEXT: li a0, 256 ; RV32V-NEXT: vand.vx v12, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: li a0, 512 ; RV32V-NEXT: vand.vx v12, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: li a0, 1024 ; RV32V-NEXT: vand.vx v12, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, a3 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: lui a0, 32 ; RV32V-NEXT: vand.vx v12, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s3 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s5 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s7 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s9 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s10 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, s11 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, ra ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t5 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vx v12, v8, t3 ; RV32V-NEXT: addi a0, sp, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vand.vi v12, v8, 2 ; RV32V-NEXT: vand.vi v16, v8, 1 ; RV32V-NEXT: vand.vi v20, v8, 4 ; RV32V-NEXT: vand.vi v8, v8, 8 ; RV32V-NEXT: vmul.vv v12, v24, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: vmul.vv v12, v24, v16 ; RV32V-NEXT: vmul.vv v16, v24, v20 ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v20, v24, v8 ; RV32V-NEXT: vmul.vv v28, v24, v28 ; RV32V-NEXT: vmul.vv v4, v24, v4 ; RV32V-NEXT: vmul.vv v0, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vmul.vv v24, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v12, v8 ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v12 ; RV32V-NEXT: vxor.vv v8, v8, v20 ; RV32V-NEXT: vxor.vv v8, v8, v28 ; RV32V-NEXT: vxor.vv v8, v8, v4 ; RV32V-NEXT: vxor.vv v8, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: vsll.vx v8, v8, a6 ; RV32V-NEXT: vand.vx v12, v12, a2 ; RV32V-NEXT: vsll.vx v12, v12, a5 ; RV32V-NEXT: vor.vv v8, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v16, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v12, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v16, v20 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: vsrl.vi v28, v12, 8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v4, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vand.vv v28, v28, v4 ; RV32V-NEXT: vsrl.vi v16, v16, 24 ; RV32V-NEXT: vand.vx v16, v16, a4 ; RV32V-NEXT: vor.vv v16, v28, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v20, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v28, v20, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v0, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v28, v28, v0 ; RV32V-NEXT: vand.vx v12, v12, a4 ; RV32V-NEXT: vsll.vi v12, v12, 24 ; RV32V-NEXT: vand.vv v4, v20, v4 ; RV32V-NEXT: vsll.vi v4, v4, 8 ; RV32V-NEXT: vor.vv v12, v12, v4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v4, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v28, v28, v4 ; RV32V-NEXT: vor.vv v8, v8, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v28, v12 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v28 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vxor.vv v12, v12, v28 ; RV32V-NEXT: vxor.vv v12, v12, v24 ; RV32V-NEXT: vsrl.vx v20, v20, a5 ; RV32V-NEXT: vand.vx v20, v20, a2 ; RV32V-NEXT: vsrl.vx v12, v12, a6 ; RV32V-NEXT: vor.vv v12, v20, v12 ; RV32V-NEXT: vor.vv v12, v16, v12 ; RV32V-NEXT: vor.vv v8, v8, v12 ; RV32V-NEXT: vsrl.vi v12, v8, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v16 ; RV32V-NEXT: vand.vv v12, v12, v16 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v12, v8 ; RV32V-NEXT: vsrl.vi v12, v8, 2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v16 ; RV32V-NEXT: vand.vv v12, v12, v16 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v12, v8 ; RV32V-NEXT: vsrl.vi v12, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v16 ; RV32V-NEXT: vand.vv v12, v12, v16 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v12, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: lw ra, 364(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s0, 360(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s1, 356(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s2, 352(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s3, 348(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s4, 344(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s5, 340(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s6, 336(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s7, 332(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s8, 328(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s9, 324(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s10, 320(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s11, 316(sp) # 4-byte Folded Reload ; RV32V-NEXT: addi sp, sp, 368 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv4i64_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -16 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: sub sp, sp, a1 ; RV64V-NEXT: li a1, 56 ; RV64V-NEXT: lui t2, 16 ; RV64V-NEXT: lui a2, 4080 ; RV64V-NEXT: li t0, 255 ; RV64V-NEXT: lui a3, 61681 ; RV64V-NEXT: lui a4, 209715 ; RV64V-NEXT: lui a5, 349525 ; RV64V-NEXT: srli a6, a0, 24 ; RV64V-NEXT: srli a7, a0, 8 ; RV64V-NEXT: srli t1, a0, 40 ; RV64V-NEXT: srli t3, a0, 56 ; RV64V-NEXT: addi a3, a3, -241 ; RV64V-NEXT: addi a4, a4, 819 ; RV64V-NEXT: addi t4, a5, 1365 ; RV64V-NEXT: slli a5, a3, 32 ; RV64V-NEXT: add a5, a3, a5 ; RV64V-NEXT: slli a3, a4, 32 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, t4, 32 ; RV64V-NEXT: add a3, t4, a3 ; RV64V-NEXT: srliw t4, a0, 24 ; RV64V-NEXT: slli t0, t0, 24 ; RV64V-NEXT: and a6, a6, a2 ; RV64V-NEXT: and a7, a7, t0 ; RV64V-NEXT: or t5, a7, a6 ; RV64V-NEXT: addi a6, t2, -256 ; RV64V-NEXT: and a7, t1, a6 ; RV64V-NEXT: or t1, a7, t3 ; RV64V-NEXT: and a7, a0, a2 ; RV64V-NEXT: slli t4, t4, 32 ; RV64V-NEXT: slli a7, a7, 24 ; RV64V-NEXT: or t3, a7, t4 ; RV64V-NEXT: li a7, 40 ; RV64V-NEXT: vsetvli t4, zero, e64, m4, ta, ma ; RV64V-NEXT: vsrl.vi v16, v8, 24 ; RV64V-NEXT: vsrl.vi v12, v8, 8 ; RV64V-NEXT: or t1, t5, t1 ; RV64V-NEXT: slli t4, a0, 56 ; RV64V-NEXT: and a0, a0, a6 ; RV64V-NEXT: slli a0, a0, 40 ; RV64V-NEXT: or t4, t4, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: or t4, t4, t3 ; RV64V-NEXT: lui t3, 1 ; RV64V-NEXT: vsrl.vx v20, v8, a1 ; RV64V-NEXT: vsrl.vx v24, v8, a7 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vand.vx v28, v8, a2 ; RV64V-NEXT: vsll.vx v4, v8, a1 ; RV64V-NEXT: vand.vx v24, v24, a6 ; RV64V-NEXT: vand.vx v12, v12, t0 ; RV64V-NEXT: vsll.vi v28, v28, 24 ; RV64V-NEXT: vor.vv v20, v24, v20 ; RV64V-NEXT: vand.vx v24, v8, t0 ; RV64V-NEXT: vand.vx v8, v8, a6 ; RV64V-NEXT: vor.vv v12, v12, v16 ; RV64V-NEXT: vsll.vi v16, v24, 8 ; RV64V-NEXT: vsll.vx v8, v8, a7 ; RV64V-NEXT: vor.vv v12, v12, v20 ; RV64V-NEXT: vor.vv v16, v28, v16 ; RV64V-NEXT: vor.vv v8, v4, v8 ; RV64V-NEXT: vor.vv v8, v8, v16 ; RV64V-NEXT: vor.vv v8, v8, v12 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v12, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a5 ; RV64V-NEXT: srli t4, t1, 4 ; RV64V-NEXT: and t1, t1, a5 ; RV64V-NEXT: vand.vx v12, v12, a5 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: and t4, t4, a5 ; RV64V-NEXT: slli t1, t1, 4 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v12, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a4 ; RV64V-NEXT: srli t4, t1, 2 ; RV64V-NEXT: and t1, t1, a4 ; RV64V-NEXT: vand.vx v12, v12, a4 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: and t4, t4, a4 ; RV64V-NEXT: slli t1, t1, 2 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v12, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: srli t4, t1, 1 ; RV64V-NEXT: and t1, t1, a3 ; RV64V-NEXT: vand.vx v12, v12, a3 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: and t4, t4, a3 ; RV64V-NEXT: slli t1, t1, 1 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: andi t4, t1, 2 ; RV64V-NEXT: vmul.vx v12, v8, t4 ; RV64V-NEXT: andi t4, t1, 1 ; RV64V-NEXT: vmul.vx v16, v8, t4 ; RV64V-NEXT: andi t4, t1, 4 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: andi t4, t1, 8 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: andi t4, t1, 16 ; RV64V-NEXT: vmul.vx v28, v8, t4 ; RV64V-NEXT: andi t4, t1, 32 ; RV64V-NEXT: vmul.vx v4, v8, t4 ; RV64V-NEXT: andi t4, t1, 64 ; RV64V-NEXT: vxor.vv v12, v16, v12 ; RV64V-NEXT: vmul.vx v16, v8, t4 ; RV64V-NEXT: andi t4, t1, 128 ; RV64V-NEXT: vxor.vv v12, v12, v20 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: andi t4, t1, 256 ; RV64V-NEXT: vxor.vv v12, v12, v24 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: andi t4, t1, 512 ; RV64V-NEXT: vxor.vv v12, v12, v28 ; RV64V-NEXT: vmul.vx v28, v8, t4 ; RV64V-NEXT: andi t4, t1, 1024 ; RV64V-NEXT: vxor.vv v4, v12, v4 ; RV64V-NEXT: vmul.vx v12, v8, t4 ; RV64V-NEXT: slli t4, a0, 11 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v4, v4, v16 ; RV64V-NEXT: vmul.vx v16, v8, t4 ; RV64V-NEXT: lui t4, 2 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v4, v4, v20 ; RV64V-NEXT: addi t5, sp, 16 ; RV64V-NEXT: vs4r.v v4, (t5) # vscale x 32-byte Folded Spill ; RV64V-NEXT: vmul.vx v20, v8, t3 ; RV64V-NEXT: lui t3, 4 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v24, v4, v24 ; RV64V-NEXT: vxor.vv v28, v24, v28 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: lui t4, 8 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v28, v12 ; RV64V-NEXT: vmul.vx v28, v8, t3 ; RV64V-NEXT: lui t3, 32 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v12, v16 ; RV64V-NEXT: vmul.vx v4, v8, t4 ; RV64V-NEXT: lui t4, 64 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v12, v20 ; RV64V-NEXT: vmul.vx v0, v8, t2 ; RV64V-NEXT: lui t2, 128 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v16, v12, v24 ; RV64V-NEXT: vmul.vx v12, v8, t3 ; RV64V-NEXT: lui t3, 256 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v20, v16, v28 ; RV64V-NEXT: vmul.vx v16, v8, t4 ; RV64V-NEXT: lui t4, 512 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v24, v20, v4 ; RV64V-NEXT: vmul.vx v20, v8, t2 ; RV64V-NEXT: lui t2, 1024 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v28, v24, v0 ; RV64V-NEXT: vmul.vx v24, v8, t3 ; RV64V-NEXT: lui t3, 2048 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v28, v12 ; RV64V-NEXT: vmul.vx v28, v8, t4 ; RV64V-NEXT: lui t4, 4096 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v16, v12, v16 ; RV64V-NEXT: vmul.vx v12, v8, t2 ; RV64V-NEXT: lui t2, 8192 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vmul.vx v20, v8, t3 ; RV64V-NEXT: lui t3, 16384 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: lui t4, 32768 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v16, v16, v28 ; RV64V-NEXT: vmul.vx v28, v8, t2 ; RV64V-NEXT: lui t2, 65536 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v16, v12 ; RV64V-NEXT: vmul.vx v16, v8, t3 ; RV64V-NEXT: lui t3, 131072 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v12, v20 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: lui t4, 262144 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v24, v12, v24 ; RV64V-NEXT: vxor.vv v4, v24, v28 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: slli t2, a0, 32 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vl4r.v v28, (t5) # vscale x 32-byte Folded Reload ; RV64V-NEXT: vsll.vx v28, v28, a1 ; RV64V-NEXT: vand.vx v12, v12, a6 ; RV64V-NEXT: vsll.vx v12, v12, a7 ; RV64V-NEXT: vor.vv v12, v28, v12 ; RV64V-NEXT: vmul.vx v28, v8, t3 ; RV64V-NEXT: slli t3, a0, 33 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v16, v4, v16 ; RV64V-NEXT: vmul.vx v4, v8, t4 ; RV64V-NEXT: slli t4, a0, 34 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v16, v16, v20 ; RV64V-NEXT: vmul.vx v20, v8, t2 ; RV64V-NEXT: slli t2, a0, 35 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t3 ; RV64V-NEXT: slli t3, a0, 36 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v28, v16, v28 ; RV64V-NEXT: vmul.vx v16, v8, t4 ; RV64V-NEXT: srliw t4, t1, 31 ; RV64V-NEXT: slli t4, t4, 31 ; RV64V-NEXT: vxor.vv v28, v28, v4 ; RV64V-NEXT: vmul.vx v4, v8, t4 ; RV64V-NEXT: slli t4, a0, 37 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v4, v28, v4 ; RV64V-NEXT: vmul.vx v28, v8, t2 ; RV64V-NEXT: slli t2, a0, 38 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v4, v4, v20 ; RV64V-NEXT: vmul.vx v20, v8, t3 ; RV64V-NEXT: slli t3, a0, 39 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v4, v4, v24 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: slli t4, a0, 40 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v4, v4, v16 ; RV64V-NEXT: vmul.vx v16, v8, t2 ; RV64V-NEXT: slli t2, a0, 41 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v4, v4, v28 ; RV64V-NEXT: vmul.vx v28, v8, t3 ; RV64V-NEXT: slli t3, a0, 42 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v4, v4, v20 ; RV64V-NEXT: vmul.vx v20, v8, t4 ; RV64V-NEXT: slli t4, a0, 43 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v4, v4, v24 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: slli t2, a0, 44 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v16, v4, v16 ; RV64V-NEXT: vmul.vx v4, v8, t3 ; RV64V-NEXT: slli t3, a0, 45 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v16, v16, v28 ; RV64V-NEXT: vmul.vx v28, v8, t4 ; RV64V-NEXT: slli t4, a0, 46 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v20, v16, v20 ; RV64V-NEXT: vxor.vv v24, v20, v24 ; RV64V-NEXT: vmul.vx v20, v8, t2 ; RV64V-NEXT: slli t2, a0, 47 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v4, v24, v4 ; RV64V-NEXT: vmul.vx v24, v8, t3 ; RV64V-NEXT: slli t3, a0, 48 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v4, v4, v28 ; RV64V-NEXT: vmul.vx v28, v8, t4 ; RV64V-NEXT: slli t4, a0, 49 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v4, v4, v20 ; RV64V-NEXT: vmul.vx v20, v8, t2 ; RV64V-NEXT: slli t2, a0, 50 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v4, v4, v24 ; RV64V-NEXT: vmul.vx v24, v8, t3 ; RV64V-NEXT: slli t3, a0, 51 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v28, v4, v28 ; RV64V-NEXT: vmul.vx v4, v8, t4 ; RV64V-NEXT: slli t4, a0, 52 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v20, v28, v20 ; RV64V-NEXT: vmul.vx v28, v8, t2 ; RV64V-NEXT: slli t2, a0, 53 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v24, v20, v24 ; RV64V-NEXT: vxor.vv v4, v24, v4 ; RV64V-NEXT: vmul.vx v24, v8, t3 ; RV64V-NEXT: slli t3, a0, 54 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v28, v4, v28 ; RV64V-NEXT: vsrl.vi v4, v16, 8 ; RV64V-NEXT: vand.vx v4, v4, t0 ; RV64V-NEXT: vsrl.vi v20, v20, 24 ; RV64V-NEXT: vand.vx v20, v20, a2 ; RV64V-NEXT: vor.vv v20, v4, v20 ; RV64V-NEXT: vmul.vx v4, v8, t4 ; RV64V-NEXT: slli t4, a0, 55 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v24, v28, v24 ; RV64V-NEXT: vmul.vx v28, v8, t2 ; RV64V-NEXT: slli t2, a0, 56 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v24, v24, v4 ; RV64V-NEXT: vmul.vx v4, v8, t3 ; RV64V-NEXT: slli t3, a0, 57 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v24, v24, v28 ; RV64V-NEXT: vmul.vx v0, v8, t4 ; RV64V-NEXT: slli t4, a0, 58 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v24, v24, v4 ; RV64V-NEXT: vmul.vx v28, v8, t2 ; RV64V-NEXT: slli t2, a0, 59 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v4, v8, t3 ; RV64V-NEXT: slli t3, a0, 60 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: slli a2, a0, 61 ; RV64V-NEXT: slli a0, a0, 62 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: and a2, t1, a2 ; RV64V-NEXT: and a0, t1, a0 ; RV64V-NEXT: srli t1, t1, 63 ; RV64V-NEXT: vsll.vi v16, v16, 24 ; RV64V-NEXT: vxor.vv v28, v24, v28 ; RV64V-NEXT: vxor.vv v28, v28, v4 ; RV64V-NEXT: vand.vx v4, v24, t0 ; RV64V-NEXT: vsll.vi v4, v4, 8 ; RV64V-NEXT: vor.vv v16, v16, v4 ; RV64V-NEXT: vmul.vx v4, v8, t4 ; RV64V-NEXT: vxor.vv v28, v28, v4 ; RV64V-NEXT: vmul.vx v4, v8, t2 ; RV64V-NEXT: vor.vv v12, v12, v16 ; RV64V-NEXT: vmul.vx v16, v8, t3 ; RV64V-NEXT: vxor.vv v28, v28, v4 ; RV64V-NEXT: vmul.vx v4, v8, a2 ; RV64V-NEXT: vxor.vv v16, v28, v16 ; RV64V-NEXT: vmul.vx v28, v8, a0 ; RV64V-NEXT: slli t1, t1, 63 ; RV64V-NEXT: vmul.vx v8, v8, t1 ; RV64V-NEXT: vsrl.vx v24, v24, a7 ; RV64V-NEXT: vand.vx v24, v24, a6 ; RV64V-NEXT: vxor.vv v16, v16, v4 ; RV64V-NEXT: vxor.vv v16, v16, v28 ; RV64V-NEXT: vxor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vx v8, v8, a1 ; RV64V-NEXT: vor.vv v8, v24, v8 ; RV64V-NEXT: vor.vv v8, v20, v8 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vsrl.vi v12, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a5 ; RV64V-NEXT: vand.vx v12, v12, a5 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vsrl.vi v12, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a4 ; RV64V-NEXT: vand.vx v12, v12, a4 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vsrl.vi v12, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: vand.vx v12, v12, a3 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v12, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: addi sp, sp, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv4i64_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: addi sp, sp, -16 ; RV32ZVBC64-NEXT: sw a0, 8(sp) ; RV32ZVBC64-NEXT: sw a1, 12(sp) ; RV32ZVBC64-NEXT: addi a0, sp, 8 ; RV32ZVBC64-NEXT: vsetvli a1, zero, e64, m4, ta, ma ; RV32ZVBC64-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC64-NEXT: vclmulh.vv v8, v8, v12 ; RV32ZVBC64-NEXT: addi sp, sp, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv4i64_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e64, m4, ta, ma ; RV64ZVBC64-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv4i64_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: addi sp, sp, -368 ; RV32ZVBC32-NEXT: sw ra, 364(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s0, 360(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s1, 356(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s2, 352(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s3, 348(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s4, 344(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s5, 340(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s6, 336(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s7, 332(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s8, 328(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s9, 324(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s10, 320(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s11, 316(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a2, vlenb ; RV32ZVBC32-NEXT: slli a2, a2, 2 ; RV32ZVBC32-NEXT: mv a3, a2 ; RV32ZVBC32-NEXT: slli a2, a2, 1 ; RV32ZVBC32-NEXT: add a3, a3, a2 ; RV32ZVBC32-NEXT: slli a2, a2, 1 ; RV32ZVBC32-NEXT: add a3, a3, a2 ; RV32ZVBC32-NEXT: slli a2, a2, 1 ; RV32ZVBC32-NEXT: add a3, a3, a2 ; RV32ZVBC32-NEXT: slli a2, a2, 3 ; RV32ZVBC32-NEXT: add a2, a2, a3 ; RV32ZVBC32-NEXT: sub sp, sp, a2 ; RV32ZVBC32-NEXT: vsetvli a2, zero, e64, m4, ta, ma ; RV32ZVBC32-NEXT: vmv4r.v v0, v8 ; RV32ZVBC32-NEXT: sw a0, 16(sp) ; RV32ZVBC32-NEXT: sw a1, 20(sp) ; RV32ZVBC32-NEXT: addi s10, sp, 16 ; RV32ZVBC32-NEXT: lui s11, 1044480 ; RV32ZVBC32-NEXT: lui s0, 524288 ; RV32ZVBC32-NEXT: li a0, 1 ; RV32ZVBC32-NEXT: li ra, 2 ; RV32ZVBC32-NEXT: li t5, 4 ; RV32ZVBC32-NEXT: li t3, 8 ; RV32ZVBC32-NEXT: li t6, 16 ; RV32ZVBC32-NEXT: li t4, 32 ; RV32ZVBC32-NEXT: li t2, 64 ; RV32ZVBC32-NEXT: li t1, 128 ; RV32ZVBC32-NEXT: li t0, 256 ; RV32ZVBC32-NEXT: li a7, 512 ; RV32ZVBC32-NEXT: li a3, 1024 ; RV32ZVBC32-NEXT: lui a2, 1 ; RV32ZVBC32-NEXT: lui a4, 2 ; RV32ZVBC32-NEXT: lui a1, 4 ; RV32ZVBC32-NEXT: lui a5, 8 ; RV32ZVBC32-NEXT: lui s1, 16 ; RV32ZVBC32-NEXT: lui a6, 32 ; RV32ZVBC32-NEXT: lui s2, 64 ; RV32ZVBC32-NEXT: lui s3, 128 ; RV32ZVBC32-NEXT: lui s4, 256 ; RV32ZVBC32-NEXT: lui s5, 512 ; RV32ZVBC32-NEXT: lui s6, 1024 ; RV32ZVBC32-NEXT: lui s7, 2048 ; RV32ZVBC32-NEXT: lui s8, 4096 ; RV32ZVBC32-NEXT: lui s9, 8192 ; RV32ZVBC32-NEXT: vlse64.v v4, (s10), zero ; RV32ZVBC32-NEXT: lui s10, 16384 ; RV32ZVBC32-NEXT: sw s11, 264(sp) ; RV32ZVBC32-NEXT: lui s11, 32768 ; RV32ZVBC32-NEXT: sw zero, 268(sp) ; RV32ZVBC32-NEXT: sw s0, 24(sp) ; RV32ZVBC32-NEXT: sw zero, 28(sp) ; RV32ZVBC32-NEXT: sw zero, 288(sp) ; RV32ZVBC32-NEXT: sw a0, 292(sp) ; RV32ZVBC32-NEXT: sw zero, 272(sp) ; RV32ZVBC32-NEXT: sw ra, 276(sp) ; RV32ZVBC32-NEXT: lui ra, 65536 ; RV32ZVBC32-NEXT: sw zero, 280(sp) ; RV32ZVBC32-NEXT: sw t5, 284(sp) ; RV32ZVBC32-NEXT: lui t5, 131072 ; RV32ZVBC32-NEXT: sw zero, 256(sp) ; RV32ZVBC32-NEXT: sw t3, 260(sp) ; RV32ZVBC32-NEXT: lui t3, 262144 ; RV32ZVBC32-NEXT: sw zero, 248(sp) ; RV32ZVBC32-NEXT: sw t6, 252(sp) ; RV32ZVBC32-NEXT: sw zero, 240(sp) ; RV32ZVBC32-NEXT: sw t4, 244(sp) ; RV32ZVBC32-NEXT: sw zero, 232(sp) ; RV32ZVBC32-NEXT: sw t2, 236(sp) ; RV32ZVBC32-NEXT: sw zero, 224(sp) ; RV32ZVBC32-NEXT: sw t1, 228(sp) ; RV32ZVBC32-NEXT: sw zero, 216(sp) ; RV32ZVBC32-NEXT: sw t0, 220(sp) ; RV32ZVBC32-NEXT: sw zero, 208(sp) ; RV32ZVBC32-NEXT: sw a7, 212(sp) ; RV32ZVBC32-NEXT: sw zero, 200(sp) ; RV32ZVBC32-NEXT: sw a3, 204(sp) ; RV32ZVBC32-NEXT: slli a3, a0, 11 ; RV32ZVBC32-NEXT: sw zero, 192(sp) ; RV32ZVBC32-NEXT: sw a3, 196(sp) ; RV32ZVBC32-NEXT: sw zero, 184(sp) ; RV32ZVBC32-NEXT: sw a2, 188(sp) ; RV32ZVBC32-NEXT: lui t1, 1 ; RV32ZVBC32-NEXT: sw zero, 176(sp) ; RV32ZVBC32-NEXT: sw a4, 180(sp) ; RV32ZVBC32-NEXT: lui t4, 2 ; RV32ZVBC32-NEXT: sw zero, 168(sp) ; RV32ZVBC32-NEXT: sw a1, 172(sp) ; RV32ZVBC32-NEXT: lui t2, 4 ; RV32ZVBC32-NEXT: sw zero, 160(sp) ; RV32ZVBC32-NEXT: sw a5, 164(sp) ; RV32ZVBC32-NEXT: lui t6, 8 ; RV32ZVBC32-NEXT: sw zero, 152(sp) ; RV32ZVBC32-NEXT: sw s1, 156(sp) ; RV32ZVBC32-NEXT: sw zero, 144(sp) ; RV32ZVBC32-NEXT: sw a6, 148(sp) ; RV32ZVBC32-NEXT: sw zero, 136(sp) ; RV32ZVBC32-NEXT: sw s2, 140(sp) ; RV32ZVBC32-NEXT: sw zero, 128(sp) ; RV32ZVBC32-NEXT: sw s3, 132(sp) ; RV32ZVBC32-NEXT: sw zero, 120(sp) ; RV32ZVBC32-NEXT: sw s4, 124(sp) ; RV32ZVBC32-NEXT: sw zero, 112(sp) ; RV32ZVBC32-NEXT: sw s5, 116(sp) ; RV32ZVBC32-NEXT: sw zero, 104(sp) ; RV32ZVBC32-NEXT: sw s6, 108(sp) ; RV32ZVBC32-NEXT: sw zero, 96(sp) ; RV32ZVBC32-NEXT: sw s7, 100(sp) ; RV32ZVBC32-NEXT: sw zero, 88(sp) ; RV32ZVBC32-NEXT: sw s8, 92(sp) ; RV32ZVBC32-NEXT: sw zero, 80(sp) ; RV32ZVBC32-NEXT: sw s9, 84(sp) ; RV32ZVBC32-NEXT: sw zero, 72(sp) ; RV32ZVBC32-NEXT: sw s10, 76(sp) ; RV32ZVBC32-NEXT: sw zero, 64(sp) ; RV32ZVBC32-NEXT: sw s11, 68(sp) ; RV32ZVBC32-NEXT: sw zero, 56(sp) ; RV32ZVBC32-NEXT: sw ra, 60(sp) ; RV32ZVBC32-NEXT: sw zero, 48(sp) ; RV32ZVBC32-NEXT: sw t5, 52(sp) ; RV32ZVBC32-NEXT: sw zero, 40(sp) ; RV32ZVBC32-NEXT: sw t3, 44(sp) ; RV32ZVBC32-NEXT: sw zero, 32(sp) ; RV32ZVBC32-NEXT: sw s0, 36(sp) ; RV32ZVBC32-NEXT: addi a1, sp, 264 ; RV32ZVBC32-NEXT: vlse64.v v12, (a1), zero ; RV32ZVBC32-NEXT: li a6, 56 ; RV32ZVBC32-NEXT: vsrl.vx v16, v8, a6 ; RV32ZVBC32-NEXT: li a5, 40 ; RV32ZVBC32-NEXT: vsrl.vx v20, v8, a5 ; RV32ZVBC32-NEXT: vsll.vx v24, v8, a6 ; RV32ZVBC32-NEXT: addi a2, s1, -256 ; RV32ZVBC32-NEXT: vand.vx v20, v20, a2 ; RV32ZVBC32-NEXT: vand.vx v28, v8, a2 ; RV32ZVBC32-NEXT: vor.vv v8, v20, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vsll.vx v16, v28, a5 ; RV32ZVBC32-NEXT: vor.vv v8, v24, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vmv.v.v v20, v4 ; RV32ZVBC32-NEXT: vsrl.vx v24, v4, a6 ; RV32ZVBC32-NEXT: vsrl.vx v28, v4, a5 ; RV32ZVBC32-NEXT: vsll.vx v4, v4, a6 ; RV32ZVBC32-NEXT: vand.vx v28, v28, a2 ; RV32ZVBC32-NEXT: vor.vv v28, v28, v24 ; RV32ZVBC32-NEXT: vand.vx v24, v20, a2 ; RV32ZVBC32-NEXT: vsll.vx v24, v24, a5 ; RV32ZVBC32-NEXT: vor.vv v8, v4, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vmv4r.v v8, v0 ; RV32ZVBC32-NEXT: vsrl.vi v4, v0, 24 ; RV32ZVBC32-NEXT: lui a4, 4080 ; RV32ZVBC32-NEXT: vand.vx v4, v4, a4 ; RV32ZVBC32-NEXT: vsrl.vi v0, v0, 8 ; RV32ZVBC32-NEXT: vand.vv v0, v0, v12 ; RV32ZVBC32-NEXT: vor.vv v4, v0, v4 ; RV32ZVBC32-NEXT: vsrl.vi v0, v20, 24 ; RV32ZVBC32-NEXT: vand.vx v0, v0, a4 ; RV32ZVBC32-NEXT: vsrl.vi v16, v20, 8 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v12 ; RV32ZVBC32-NEXT: vor.vv v16, v16, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v24, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v24, v4, v24 ; RV32ZVBC32-NEXT: vand.vx v4, v8, a4 ; RV32ZVBC32-NEXT: vsll.vi v4, v4, 24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 8 ; RV32ZVBC32-NEXT: vor.vv v4, v4, v8 ; RV32ZVBC32-NEXT: lui a7, 61681 ; RV32ZVBC32-NEXT: addi a7, a7, -241 ; RV32ZVBC32-NEXT: vor.vv v8, v16, v28 ; RV32ZVBC32-NEXT: vand.vx v16, v20, a4 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 24 ; RV32ZVBC32-NEXT: vand.vv v12, v20, v12 ; RV32ZVBC32-NEXT: vsll.vi v12, v12, 8 ; RV32ZVBC32-NEXT: vor.vv v12, v16, v12 ; RV32ZVBC32-NEXT: vsetvli t0, zero, e32, m4, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v0, a7 ; RV32ZVBC32-NEXT: lui a7, 209715 ; RV32ZVBC32-NEXT: addi a7, a7, 819 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vsetvli t0, zero, e64, m4, ta, ma ; RV32ZVBC32-NEXT: vor.vv v16, v16, v4 ; RV32ZVBC32-NEXT: vsetvli t0, zero, e32, m4, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v4, a7 ; RV32ZVBC32-NEXT: lui a7, 349525 ; RV32ZVBC32-NEXT: addi a7, a7, 1365 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vsetvli t0, zero, e64, m4, ta, ma ; RV32ZVBC32-NEXT: vor.vv v28, v20, v12 ; RV32ZVBC32-NEXT: vsetvli t0, zero, e32, m4, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v12, a7 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vsetvli a7, zero, e64, m4, ta, ma ; RV32ZVBC32-NEXT: vor.vv v24, v16, v24 ; RV32ZVBC32-NEXT: addi a7, sp, 24 ; RV32ZVBC32-NEXT: vlse64.v v12, (a7), zero ; RV32ZVBC32-NEXT: vor.vv v8, v28, v8 ; RV32ZVBC32-NEXT: vsrl.vi v16, v24, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v0, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v20, v24, v0 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v0 ; RV32ZVBC32-NEXT: vsll.vi v20, v20, 4 ; RV32ZVBC32-NEXT: vor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: vsrl.vi v20, v8, 4 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v0 ; RV32ZVBC32-NEXT: vand.vv v20, v20, v0 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v20, v8 ; RV32ZVBC32-NEXT: vsrl.vi v20, v16, 2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v4, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v16, v16, v4 ; RV32ZVBC32-NEXT: vand.vv v20, v20, v4 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 2 ; RV32ZVBC32-NEXT: vor.vv v16, v20, v16 ; RV32ZVBC32-NEXT: vsrl.vi v20, v8, 2 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v4 ; RV32ZVBC32-NEXT: vand.vv v20, v20, v4 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v20, v8 ; RV32ZVBC32-NEXT: vsrl.vi v20, v16, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v16, v16, v28 ; RV32ZVBC32-NEXT: vand.vv v20, v20, v28 ; RV32ZVBC32-NEXT: vadd.vv v16, v16, v16 ; RV32ZVBC32-NEXT: vor.vv v24, v20, v16 ; RV32ZVBC32-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v28 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v28 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC32-NEXT: addi a7, sp, 288 ; RV32ZVBC32-NEXT: vlse64.v v16, (a7), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a7, sp, 272 ; RV32ZVBC32-NEXT: addi t0, sp, 280 ; RV32ZVBC32-NEXT: addi a0, sp, 256 ; RV32ZVBC32-NEXT: vlse64.v v12, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (t0), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (a0), zero ; RV32ZVBC32-NEXT: vand.vv v16, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v16, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a1, sp, 248 ; RV32ZVBC32-NEXT: addi a7, sp, 240 ; RV32ZVBC32-NEXT: addi t0, sp, 232 ; RV32ZVBC32-NEXT: addi a0, sp, 224 ; RV32ZVBC32-NEXT: vlse64.v v12, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (t0), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (a0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 216 ; RV32ZVBC32-NEXT: addi a1, sp, 208 ; RV32ZVBC32-NEXT: addi a7, sp, 200 ; RV32ZVBC32-NEXT: addi t0, sp, 192 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (t0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 184 ; RV32ZVBC32-NEXT: addi a1, sp, 176 ; RV32ZVBC32-NEXT: addi a7, sp, 168 ; RV32ZVBC32-NEXT: addi t0, sp, 160 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (t0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 152 ; RV32ZVBC32-NEXT: addi a1, sp, 144 ; RV32ZVBC32-NEXT: addi a7, sp, 136 ; RV32ZVBC32-NEXT: addi t0, sp, 128 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (t0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 120 ; RV32ZVBC32-NEXT: addi a1, sp, 112 ; RV32ZVBC32-NEXT: addi a7, sp, 104 ; RV32ZVBC32-NEXT: addi t0, sp, 96 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (t0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 88 ; RV32ZVBC32-NEXT: addi a1, sp, 80 ; RV32ZVBC32-NEXT: addi a7, sp, 72 ; RV32ZVBC32-NEXT: addi t0, sp, 64 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (t0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 56 ; RV32ZVBC32-NEXT: addi a1, sp, 48 ; RV32ZVBC32-NEXT: addi a7, sp, 40 ; RV32ZVBC32-NEXT: addi t0, sp, 32 ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: vlse64.v v16, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v20, (a7), zero ; RV32ZVBC32-NEXT: vlse64.v v28, (t0), zero ; RV32ZVBC32-NEXT: vand.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v12, v8, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: li a0, 16 ; RV32ZVBC32-NEXT: vand.vx v12, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: li a0, 32 ; RV32ZVBC32-NEXT: vand.vx v28, v8, a0 ; RV32ZVBC32-NEXT: li a0, 64 ; RV32ZVBC32-NEXT: vand.vx v4, v8, a0 ; RV32ZVBC32-NEXT: li a0, 128 ; RV32ZVBC32-NEXT: vand.vx v0, v8, a0 ; RV32ZVBC32-NEXT: li a0, 256 ; RV32ZVBC32-NEXT: vand.vx v12, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: li a0, 512 ; RV32ZVBC32-NEXT: vand.vx v12, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: li a0, 1024 ; RV32ZVBC32-NEXT: vand.vx v12, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, a3 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 32 ; RV32ZVBC32-NEXT: vand.vx v12, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s3 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s5 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s7 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s9 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s10 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, s11 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, ra ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t5 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v12, v8, t3 ; RV32ZVBC32-NEXT: addi a0, sp, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vi v12, v8, 2 ; RV32ZVBC32-NEXT: vand.vi v16, v8, 1 ; RV32ZVBC32-NEXT: vand.vi v20, v8, 4 ; RV32ZVBC32-NEXT: vand.vi v8, v8, 8 ; RV32ZVBC32-NEXT: vmul.vv v12, v24, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v12, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: vmul.vv v12, v24, v16 ; RV32ZVBC32-NEXT: vmul.vv v16, v24, v20 ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v20, v24, v8 ; RV32ZVBC32-NEXT: vmul.vv v28, v24, v28 ; RV32ZVBC32-NEXT: vmul.vv v4, v24, v4 ; RV32ZVBC32-NEXT: vmul.vv v0, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs4r.v v8, (a0) # vscale x 32-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v24, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v8, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v12, v8 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v20 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v28 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v4 ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: vsll.vx v8, v8, a6 ; RV32ZVBC32-NEXT: vand.vx v12, v12, a2 ; RV32ZVBC32-NEXT: vsll.vx v12, v12, a5 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v16, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v12, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v20, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v16, v20 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: vsrl.vi v28, v12, 8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v4, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v28, v28, v4 ; RV32ZVBC32-NEXT: vsrl.vi v16, v16, 24 ; RV32ZVBC32-NEXT: vand.vx v16, v16, a4 ; RV32ZVBC32-NEXT: vor.vv v16, v28, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v20, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v28, v20, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v0, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v28, v28, v0 ; RV32ZVBC32-NEXT: vand.vx v12, v12, a4 ; RV32ZVBC32-NEXT: vsll.vi v12, v12, 24 ; RV32ZVBC32-NEXT: vand.vv v4, v20, v4 ; RV32ZVBC32-NEXT: vsll.vi v4, v4, 8 ; RV32ZVBC32-NEXT: vor.vv v12, v12, v4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v4, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v28, v28, v4 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v12, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v28, v12 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v28 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v28, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v28 ; RV32ZVBC32-NEXT: vxor.vv v12, v12, v24 ; RV32ZVBC32-NEXT: vsrl.vx v20, v20, a5 ; RV32ZVBC32-NEXT: vand.vx v20, v20, a2 ; RV32ZVBC32-NEXT: vsrl.vx v12, v12, a6 ; RV32ZVBC32-NEXT: vor.vv v12, v20, v12 ; RV32ZVBC32-NEXT: vor.vv v12, v16, v12 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v12 ; RV32ZVBC32-NEXT: vsrl.vi v12, v8, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v16 ; RV32ZVBC32-NEXT: vand.vv v12, v12, v16 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV32ZVBC32-NEXT: vsrl.vi v12, v8, 2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v16 ; RV32ZVBC32-NEXT: vand.vv v12, v12, v16 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV32ZVBC32-NEXT: vsrl.vi v12, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl4r.v v16, (a0) # vscale x 32-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v16 ; RV32ZVBC32-NEXT: vand.vv v12, v12, v16 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV32ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add sp, sp, a0 ; RV32ZVBC32-NEXT: lw ra, 364(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s0, 360(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s1, 356(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s2, 352(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s3, 348(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s4, 344(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s5, 340(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s6, 336(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s7, 332(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s8, 328(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s9, 324(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s10, 320(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s11, 316(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: addi sp, sp, 368 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv4i64_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: addi sp, sp, -16 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: sub sp, sp, a1 ; RV64ZVBC32-NEXT: li a1, 56 ; RV64ZVBC32-NEXT: lui t2, 16 ; RV64ZVBC32-NEXT: lui a2, 4080 ; RV64ZVBC32-NEXT: li t0, 255 ; RV64ZVBC32-NEXT: lui a3, 61681 ; RV64ZVBC32-NEXT: lui a4, 209715 ; RV64ZVBC32-NEXT: lui a5, 349525 ; RV64ZVBC32-NEXT: srli a6, a0, 24 ; RV64ZVBC32-NEXT: srli a7, a0, 8 ; RV64ZVBC32-NEXT: srli t1, a0, 40 ; RV64ZVBC32-NEXT: srli t3, a0, 56 ; RV64ZVBC32-NEXT: addi a3, a3, -241 ; RV64ZVBC32-NEXT: addi a4, a4, 819 ; RV64ZVBC32-NEXT: addi t4, a5, 1365 ; RV64ZVBC32-NEXT: slli a5, a3, 32 ; RV64ZVBC32-NEXT: add a5, a3, a5 ; RV64ZVBC32-NEXT: slli a3, a4, 32 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, t4, 32 ; RV64ZVBC32-NEXT: add a3, t4, a3 ; RV64ZVBC32-NEXT: srliw t4, a0, 24 ; RV64ZVBC32-NEXT: slli t0, t0, 24 ; RV64ZVBC32-NEXT: and a6, a6, a2 ; RV64ZVBC32-NEXT: and a7, a7, t0 ; RV64ZVBC32-NEXT: or t5, a7, a6 ; RV64ZVBC32-NEXT: addi a6, t2, -256 ; RV64ZVBC32-NEXT: and a7, t1, a6 ; RV64ZVBC32-NEXT: or t1, a7, t3 ; RV64ZVBC32-NEXT: and a7, a0, a2 ; RV64ZVBC32-NEXT: slli t4, t4, 32 ; RV64ZVBC32-NEXT: slli a7, a7, 24 ; RV64ZVBC32-NEXT: or t3, a7, t4 ; RV64ZVBC32-NEXT: li a7, 40 ; RV64ZVBC32-NEXT: vsetvli t4, zero, e64, m4, ta, ma ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 24 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 8 ; RV64ZVBC32-NEXT: or t1, t5, t1 ; RV64ZVBC32-NEXT: slli t4, a0, 56 ; RV64ZVBC32-NEXT: and a0, a0, a6 ; RV64ZVBC32-NEXT: slli a0, a0, 40 ; RV64ZVBC32-NEXT: or t4, t4, a0 ; RV64ZVBC32-NEXT: li a0, 1 ; RV64ZVBC32-NEXT: or t4, t4, t3 ; RV64ZVBC32-NEXT: lui t3, 1 ; RV64ZVBC32-NEXT: vsrl.vx v20, v8, a1 ; RV64ZVBC32-NEXT: vsrl.vx v24, v8, a7 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC32-NEXT: vand.vx v28, v8, a2 ; RV64ZVBC32-NEXT: vsll.vx v4, v8, a1 ; RV64ZVBC32-NEXT: vand.vx v24, v24, a6 ; RV64ZVBC32-NEXT: vand.vx v12, v12, t0 ; RV64ZVBC32-NEXT: vsll.vi v28, v28, 24 ; RV64ZVBC32-NEXT: vor.vv v20, v24, v20 ; RV64ZVBC32-NEXT: vand.vx v24, v8, t0 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a6 ; RV64ZVBC32-NEXT: vor.vv v12, v12, v16 ; RV64ZVBC32-NEXT: vsll.vi v16, v24, 8 ; RV64ZVBC32-NEXT: vsll.vx v8, v8, a7 ; RV64ZVBC32-NEXT: vor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: vor.vv v16, v28, v16 ; RV64ZVBC32-NEXT: vor.vv v8, v4, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v12 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a5 ; RV64ZVBC32-NEXT: srli t4, t1, 4 ; RV64ZVBC32-NEXT: and t1, t1, a5 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a5 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: and t4, t4, a5 ; RV64ZVBC32-NEXT: slli t1, t1, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a4 ; RV64ZVBC32-NEXT: srli t4, t1, 2 ; RV64ZVBC32-NEXT: and t1, t1, a4 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a4 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: and t4, t4, a4 ; RV64ZVBC32-NEXT: slli t1, t1, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC32-NEXT: srli t4, t1, 1 ; RV64ZVBC32-NEXT: and t1, t1, a3 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a3 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: and t4, t4, a3 ; RV64ZVBC32-NEXT: slli t1, t1, 1 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: andi t4, t1, 2 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 1 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 4 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 8 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 16 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 32 ; RV64ZVBC32-NEXT: vmul.vx v4, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 64 ; RV64ZVBC32-NEXT: vxor.vv v12, v16, v12 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 128 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 256 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 512 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v28 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 1024 ; RV64ZVBC32-NEXT: vxor.vv v4, v12, v4 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 11 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v4, v4, v16 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 2 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v4, v4, v20 ; RV64ZVBC32-NEXT: addi t5, sp, 16 ; RV64ZVBC32-NEXT: vs4r.v v4, (t5) # vscale x 32-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 4 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v24, v4, v24 ; RV64ZVBC32-NEXT: vxor.vv v28, v24, v28 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 8 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v28, v12 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 32 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v16 ; RV64ZVBC32-NEXT: vmul.vx v4, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 64 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 128 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v12, v24 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 256 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v20, v16, v28 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 512 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v20, v4 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 1024 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v28, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 2048 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v28, v12 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 4096 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v12, v16 ; RV64ZVBC32-NEXT: vmul.vx v12, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 8192 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 16384 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 32768 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v28 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 65536 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v16, v12 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 131072 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 262144 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v12, v24 ; RV64ZVBC32-NEXT: vxor.vv v4, v24, v28 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 32 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vl4r.v v28, (t5) # vscale x 32-byte Folded Reload ; RV64ZVBC32-NEXT: vsll.vx v28, v28, a1 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a6 ; RV64ZVBC32-NEXT: vsll.vx v12, v12, a7 ; RV64ZVBC32-NEXT: vor.vv v12, v28, v12 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 33 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v16, v4, v16 ; RV64ZVBC32-NEXT: vmul.vx v4, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 34 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 35 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 36 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v28, v16, v28 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t4 ; RV64ZVBC32-NEXT: srliw t4, t1, 31 ; RV64ZVBC32-NEXT: slli t4, t4, 31 ; RV64ZVBC32-NEXT: vxor.vv v28, v28, v4 ; RV64ZVBC32-NEXT: vmul.vx v4, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 37 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v4, v28, v4 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 38 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v4, v4, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 39 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v4, v4, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 40 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v4, v4, v16 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 41 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v4, v4, v28 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 42 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v4, v4, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 43 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v4, v4, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 44 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v4, v16 ; RV64ZVBC32-NEXT: vmul.vx v4, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 45 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v28 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 46 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v20, v16, v20 ; RV64ZVBC32-NEXT: vxor.vv v24, v20, v24 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 47 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v4, v24, v4 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 48 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v4, v4, v28 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 49 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v4, v4, v20 ; RV64ZVBC32-NEXT: vmul.vx v20, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 50 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v4, v4, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 51 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v28, v4, v28 ; RV64ZVBC32-NEXT: vmul.vx v4, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 52 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v20, v28, v20 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 53 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v24, v20, v24 ; RV64ZVBC32-NEXT: vxor.vv v4, v24, v4 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 54 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v28, v4, v28 ; RV64ZVBC32-NEXT: vsrl.vi v4, v16, 8 ; RV64ZVBC32-NEXT: vand.vx v4, v4, t0 ; RV64ZVBC32-NEXT: vsrl.vi v20, v20, 24 ; RV64ZVBC32-NEXT: vand.vx v20, v20, a2 ; RV64ZVBC32-NEXT: vor.vv v20, v4, v20 ; RV64ZVBC32-NEXT: vmul.vx v4, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 55 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v28, v24 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 56 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v4 ; RV64ZVBC32-NEXT: vmul.vx v4, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 57 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v28 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 58 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v4 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 59 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v4, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 60 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC32-NEXT: slli a2, a0, 61 ; RV64ZVBC32-NEXT: slli a0, a0, 62 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: and a2, t1, a2 ; RV64ZVBC32-NEXT: and a0, t1, a0 ; RV64ZVBC32-NEXT: srli t1, t1, 63 ; RV64ZVBC32-NEXT: vsll.vi v16, v16, 24 ; RV64ZVBC32-NEXT: vxor.vv v28, v24, v28 ; RV64ZVBC32-NEXT: vxor.vv v28, v28, v4 ; RV64ZVBC32-NEXT: vand.vx v4, v24, t0 ; RV64ZVBC32-NEXT: vsll.vi v4, v4, 8 ; RV64ZVBC32-NEXT: vor.vv v16, v16, v4 ; RV64ZVBC32-NEXT: vmul.vx v4, v8, t4 ; RV64ZVBC32-NEXT: vxor.vv v28, v28, v4 ; RV64ZVBC32-NEXT: vmul.vx v4, v8, t2 ; RV64ZVBC32-NEXT: vor.vv v12, v12, v16 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t3 ; RV64ZVBC32-NEXT: vxor.vv v28, v28, v4 ; RV64ZVBC32-NEXT: vmul.vx v4, v8, a2 ; RV64ZVBC32-NEXT: vxor.vv v16, v28, v16 ; RV64ZVBC32-NEXT: vmul.vx v28, v8, a0 ; RV64ZVBC32-NEXT: slli t1, t1, 63 ; RV64ZVBC32-NEXT: vmul.vx v8, v8, t1 ; RV64ZVBC32-NEXT: vsrl.vx v24, v24, a7 ; RV64ZVBC32-NEXT: vand.vx v24, v24, a6 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v4 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v28 ; RV64ZVBC32-NEXT: vxor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vsrl.vx v8, v8, a1 ; RV64ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v20, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a5 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a5 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a4 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a4 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vsrl.vi v12, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a3 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v12, v8 ; RV64ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add sp, sp, a0 ; RV64ZVBC32-NEXT: addi sp, sp, 16 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i64 %b, i128 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv4i128( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i128 64) %res = trunc %res.ext to ret %res } define @clmulh_nxv8i64_vv( %va, %vb) nounwind { ; RV32V-LABEL: clmulh_nxv8i64_vv: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -352 ; RV32V-NEXT: sw ra, 348(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s0, 344(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s1, 340(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s2, 336(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s3, 332(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s4, 328(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s5, 324(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s6, 320(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s7, 316(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s8, 312(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s9, 308(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s10, 304(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s11, 300(sp) # 4-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: sub sp, sp, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui t6, 16 ; RV32V-NEXT: li t5, 56 ; RV32V-NEXT: li t4, 40 ; RV32V-NEXT: vsetvli a2, zero, e64, m8, ta, ma ; RV32V-NEXT: vsrl.vx v24, v8, t5 ; RV32V-NEXT: vsrl.vx v0, v8, t4 ; RV32V-NEXT: addi t3, t6, -256 ; RV32V-NEXT: vand.vx v0, v0, t3 ; RV32V-NEXT: vor.vv v24, v0, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vsrl.vx v24, v16, t4 ; RV32V-NEXT: vand.vx v24, v24, t3 ; RV32V-NEXT: vsrl.vx v0, v16, t5 ; RV32V-NEXT: vor.vv v24, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, t3 ; RV32V-NEXT: vsll.vx v24, v24, t4 ; RV32V-NEXT: vsll.vx v0, v8, t5 ; RV32V-NEXT: vor.vv v8, v0, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v8, v16, t3 ; RV32V-NEXT: vsll.vx v8, v8, t4 ; RV32V-NEXT: vsll.vx v0, v16, t5 ; RV32V-NEXT: vor.vv v8, v0, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a5, 1044480 ; RV32V-NEXT: lui a4, 524288 ; RV32V-NEXT: li ra, 1 ; RV32V-NEXT: li a6, 2 ; RV32V-NEXT: li a7, 4 ; RV32V-NEXT: li s0, 8 ; RV32V-NEXT: li s11, 16 ; RV32V-NEXT: li s10, 32 ; RV32V-NEXT: li s9, 64 ; RV32V-NEXT: li s8, 128 ; RV32V-NEXT: li s7, 256 ; RV32V-NEXT: li s6, 512 ; RV32V-NEXT: li s5, 1024 ; RV32V-NEXT: lui s4, 1 ; RV32V-NEXT: lui s3, 2 ; RV32V-NEXT: lui s2, 4 ; RV32V-NEXT: lui s1, 8 ; RV32V-NEXT: lui a0, 32 ; RV32V-NEXT: lui a1, 64 ; RV32V-NEXT: lui a2, 128 ; RV32V-NEXT: lui a3, 256 ; RV32V-NEXT: lui t1, 512 ; RV32V-NEXT: lui t0, 1024 ; RV32V-NEXT: lui t2, 2048 ; RV32V-NEXT: sw a5, 248(sp) ; RV32V-NEXT: lui a5, 4096 ; RV32V-NEXT: sw zero, 252(sp) ; RV32V-NEXT: sw a4, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: sw zero, 272(sp) ; RV32V-NEXT: sw ra, 276(sp) ; RV32V-NEXT: sw zero, 256(sp) ; RV32V-NEXT: sw a6, 260(sp) ; RV32V-NEXT: lui a6, 8192 ; RV32V-NEXT: sw zero, 264(sp) ; RV32V-NEXT: sw a7, 268(sp) ; RV32V-NEXT: lui a7, 16384 ; RV32V-NEXT: sw zero, 240(sp) ; RV32V-NEXT: sw s0, 244(sp) ; RV32V-NEXT: lui s0, 32768 ; RV32V-NEXT: sw zero, 232(sp) ; RV32V-NEXT: sw s11, 236(sp) ; RV32V-NEXT: sw zero, 224(sp) ; RV32V-NEXT: sw s10, 228(sp) ; RV32V-NEXT: sw zero, 216(sp) ; RV32V-NEXT: sw s9, 220(sp) ; RV32V-NEXT: sw zero, 208(sp) ; RV32V-NEXT: sw s8, 212(sp) ; RV32V-NEXT: sw zero, 200(sp) ; RV32V-NEXT: sw s7, 204(sp) ; RV32V-NEXT: sw zero, 192(sp) ; RV32V-NEXT: sw s6, 196(sp) ; RV32V-NEXT: sw zero, 184(sp) ; RV32V-NEXT: sw s5, 188(sp) ; RV32V-NEXT: slli ra, ra, 11 ; RV32V-NEXT: sw zero, 176(sp) ; RV32V-NEXT: sw ra, 180(sp) ; RV32V-NEXT: sw zero, 168(sp) ; RV32V-NEXT: sw s4, 172(sp) ; RV32V-NEXT: sw zero, 160(sp) ; RV32V-NEXT: sw s3, 164(sp) ; RV32V-NEXT: sw zero, 152(sp) ; RV32V-NEXT: sw s2, 156(sp) ; RV32V-NEXT: sw zero, 144(sp) ; RV32V-NEXT: sw s1, 148(sp) ; RV32V-NEXT: sw zero, 136(sp) ; RV32V-NEXT: sw t6, 140(sp) ; RV32V-NEXT: sw zero, 128(sp) ; RV32V-NEXT: sw a0, 132(sp) ; RV32V-NEXT: sw zero, 120(sp) ; RV32V-NEXT: sw a1, 124(sp) ; RV32V-NEXT: sw zero, 112(sp) ; RV32V-NEXT: sw a2, 116(sp) ; RV32V-NEXT: sw zero, 104(sp) ; RV32V-NEXT: sw a3, 108(sp) ; RV32V-NEXT: sw zero, 96(sp) ; RV32V-NEXT: sw t1, 100(sp) ; RV32V-NEXT: sw zero, 88(sp) ; RV32V-NEXT: sw t0, 92(sp) ; RV32V-NEXT: sw zero, 80(sp) ; RV32V-NEXT: sw t2, 84(sp) ; RV32V-NEXT: sw zero, 72(sp) ; RV32V-NEXT: sw a5, 76(sp) ; RV32V-NEXT: sw zero, 64(sp) ; RV32V-NEXT: sw a6, 68(sp) ; RV32V-NEXT: lui a2, 8192 ; RV32V-NEXT: sw zero, 56(sp) ; RV32V-NEXT: sw a7, 60(sp) ; RV32V-NEXT: lui t2, 16384 ; RV32V-NEXT: sw zero, 48(sp) ; RV32V-NEXT: sw s0, 52(sp) ; RV32V-NEXT: lui a7, 65536 ; RV32V-NEXT: sw zero, 40(sp) ; RV32V-NEXT: sw a7, 44(sp) ; RV32V-NEXT: lui a6, 131072 ; RV32V-NEXT: sw zero, 32(sp) ; RV32V-NEXT: sw a6, 36(sp) ; RV32V-NEXT: lui a5, 262144 ; RV32V-NEXT: sw zero, 24(sp) ; RV32V-NEXT: sw a5, 28(sp) ; RV32V-NEXT: sw a4, 20(sp) ; RV32V-NEXT: sw zero, 16(sp) ; RV32V-NEXT: lui a3, 4080 ; RV32V-NEXT: addi t0, sp, 248 ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vsrl.vi v8, v8, 24 ; RV32V-NEXT: vand.vx v8, v8, a3 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vsrl.vi v0, v0, 8 ; RV32V-NEXT: vand.vv v0, v0, v24 ; RV32V-NEXT: vor.vv v8, v0, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vsrl.vi v0, v16, 24 ; RV32V-NEXT: vand.vx v0, v0, a3 ; RV32V-NEXT: vsrl.vi v24, v16, 8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v24, v16 ; RV32V-NEXT: vor.vv v24, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vx v0, v16, a3 ; RV32V-NEXT: vsll.vi v0, v0, 24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v16, v16, v8 ; RV32V-NEXT: vsll.vi v16, v16, 8 ; RV32V-NEXT: vor.vv v0, v0, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vx v24, v8, a3 ; RV32V-NEXT: vsll.vi v24, v24, 24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v16, v8 ; RV32V-NEXT: vsll.vi v8, v8, 8 ; RV32V-NEXT: vor.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v24, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v8, v0, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v24, v24, v0 ; RV32V-NEXT: lui t0, 61681 ; RV32V-NEXT: addi t0, t0, -241 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v16, v8, v16 ; RV32V-NEXT: vsetvli t1, zero, e32, m8, ta, ma ; RV32V-NEXT: vmv.v.x v0, t0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vsetvli t0, zero, e64, m8, ta, ma ; RV32V-NEXT: vsrl.vi v8, v24, 4 ; RV32V-NEXT: vand.vv v24, v24, v0 ; RV32V-NEXT: vand.vv v8, v8, v0 ; RV32V-NEXT: vsll.vi v24, v24, 4 ; RV32V-NEXT: vor.vv v8, v8, v24 ; RV32V-NEXT: vsrl.vi v24, v16, 4 ; RV32V-NEXT: vand.vv v16, v16, v0 ; RV32V-NEXT: vand.vv v24, v24, v0 ; RV32V-NEXT: vsll.vi v16, v16, 4 ; RV32V-NEXT: vor.vv v16, v24, v16 ; RV32V-NEXT: lui t0, 209715 ; RV32V-NEXT: addi t0, t0, 819 ; RV32V-NEXT: vsetvli t1, zero, e32, m8, ta, ma ; RV32V-NEXT: vmv.v.x v0, t0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vsetvli t0, zero, e64, m8, ta, ma ; RV32V-NEXT: vsrl.vi v24, v8, 2 ; RV32V-NEXT: vand.vv v8, v8, v0 ; RV32V-NEXT: vand.vv v24, v24, v0 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v24, v8 ; RV32V-NEXT: vsrl.vi v24, v16, 2 ; RV32V-NEXT: vand.vv v16, v16, v0 ; RV32V-NEXT: vand.vv v24, v24, v0 ; RV32V-NEXT: vsll.vi v16, v16, 2 ; RV32V-NEXT: vor.vv v24, v24, v16 ; RV32V-NEXT: lui t0, 349525 ; RV32V-NEXT: addi t0, t0, 1365 ; RV32V-NEXT: vsetvli t1, zero, e32, m8, ta, ma ; RV32V-NEXT: vmv.v.x v0, t0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vsetvli t0, zero, e64, m8, ta, ma ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vv v8, v8, v0 ; RV32V-NEXT: vand.vv v16, v16, v0 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v16, v16, v8 ; RV32V-NEXT: vsrl.vi v8, v24, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v8, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi t0, sp, 8 ; RV32V-NEXT: vlse64.v v0, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vadd.vv v24, v24, v24 ; RV32V-NEXT: vor.vv v8, v8, v24 ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi t0, sp, 272 ; RV32V-NEXT: addi t1, sp, 256 ; RV32V-NEXT: addi a1, sp, 264 ; RV32V-NEXT: addi a0, sp, 240 ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a4, vlenb ; RV32V-NEXT: slli a4, a4, 4 ; RV32V-NEXT: mv t0, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add t0, t0, a4 ; RV32V-NEXT: slli a4, a4, 1 ; RV32V-NEXT: add t0, t0, a4 ; RV32V-NEXT: slli a4, a4, 3 ; RV32V-NEXT: add a4, a4, t0 ; RV32V-NEXT: add a4, sp, a4 ; RV32V-NEXT: addi a4, a4, 288 ; RV32V-NEXT: vs8r.v v24, (a4) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (t1), zero ; RV32V-NEXT: vlse64.v v24, (a1), zero ; RV32V-NEXT: csrr a1, vlenb ; RV32V-NEXT: slli a1, a1, 5 ; RV32V-NEXT: mv a4, a1 ; RV32V-NEXT: slli a1, a1, 1 ; RV32V-NEXT: add a4, a4, a1 ; RV32V-NEXT: slli a1, a1, 3 ; RV32V-NEXT: add a1, a1, a4 ; RV32V-NEXT: add a1, sp, a1 ; RV32V-NEXT: addi a1, a1, 288 ; RV32V-NEXT: vs8r.v v24, (a1) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 232 ; RV32V-NEXT: addi a1, sp, 224 ; RV32V-NEXT: addi t0, sp, 216 ; RV32V-NEXT: addi t1, sp, 208 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a4, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a4, a4, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 200 ; RV32V-NEXT: addi a1, sp, 192 ; RV32V-NEXT: addi t0, sp, 184 ; RV32V-NEXT: addi t1, sp, 176 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a4, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a4, a4, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 168 ; RV32V-NEXT: addi a1, sp, 160 ; RV32V-NEXT: addi t0, sp, 152 ; RV32V-NEXT: addi t1, sp, 144 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a4, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 9 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 9 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 9 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 136 ; RV32V-NEXT: addi a1, sp, 128 ; RV32V-NEXT: addi t0, sp, 120 ; RV32V-NEXT: addi t1, sp, 112 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a4, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a4, a4, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a4, a4, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a4, a4, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 104 ; RV32V-NEXT: addi a1, sp, 96 ; RV32V-NEXT: addi t0, sp, 88 ; RV32V-NEXT: addi t1, sp, 80 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a4, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a4, a4, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a4, a4, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 72 ; RV32V-NEXT: addi a1, sp, 64 ; RV32V-NEXT: addi t0, sp, 56 ; RV32V-NEXT: addi t1, sp, 48 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a4, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a4, a4, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a4, a4, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 40 ; RV32V-NEXT: addi a1, sp, 32 ; RV32V-NEXT: addi t0, sp, 24 ; RV32V-NEXT: addi t1, sp, 16 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a4, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a4, a4, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s11 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s10 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s9 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s7 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s5 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, ra ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s3 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, t6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 32 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 64 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 128 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 256 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 512 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 1024 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 2048 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 4096 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, t2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, a7 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, a6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, a5 ; RV32V-NEXT: addi a0, sp, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v24, v8, 2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v0, v8, 1 ; RV32V-NEXT: vand.vi v24, v8, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v8, v8, 8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v24, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vmul.vv v24, v16, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 9 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 9 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vsll.vx v8, v8, t5 ; RV32V-NEXT: vand.vx v16, v16, t3 ; RV32V-NEXT: vsll.vx v16, v16, t4 ; RV32V-NEXT: vor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 9 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v0, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v0, v0, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v0, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vsrl.vi v0, v24, 8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v0, v0, v16 ; RV32V-NEXT: vsrl.vi v8, v8, 24 ; RV32V-NEXT: vand.vx v8, v8, a3 ; RV32V-NEXT: vor.vv v8, v0, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: vand.vx v24, v24, a3 ; RV32V-NEXT: vsll.vi v24, v24, 24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v0, v8, v0 ; RV32V-NEXT: vsll.vi v0, v0, 8 ; RV32V-NEXT: vor.vv v24, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v0, v16, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v0, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vsrl.vx v8, v8, t4 ; RV32V-NEXT: vand.vx v8, v8, t3 ; RV32V-NEXT: vsrl.vx v24, v24, t5 ; RV32V-NEXT: vor.vv v8, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v8, v24, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v24 ; RV32V-NEXT: vand.vv v16, v16, v24 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v24 ; RV32V-NEXT: vand.vv v16, v16, v24 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 288 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v24 ; RV32V-NEXT: vand.vv v16, v16, v24 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: lw ra, 348(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s0, 344(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s1, 340(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s2, 336(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s3, 332(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s4, 328(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s5, 324(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s6, 320(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s7, 316(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s8, 312(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s9, 308(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s10, 304(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s11, 300(sp) # 4-byte Folded Reload ; RV32V-NEXT: addi sp, sp, 352 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv8i64_vv: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -416 ; RV64V-NEXT: sd ra, 408(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s0, 400(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s1, 392(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s2, 384(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s3, 376(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s4, 368(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s5, 360(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s6, 352(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s7, 344(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s8, 336(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s9, 328(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s10, 320(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s11, 312(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: sub sp, sp, a0 ; RV64V-NEXT: li a1, 56 ; RV64V-NEXT: li a2, 40 ; RV64V-NEXT: lui a3, 16 ; RV64V-NEXT: vsetvli a0, zero, e64, m8, ta, ma ; RV64V-NEXT: vsrl.vx v24, v8, a1 ; RV64V-NEXT: vsrl.vx v0, v8, a2 ; RV64V-NEXT: addi a2, a3, -256 ; RV64V-NEXT: vand.vx v0, v0, a2 ; RV64V-NEXT: vor.vv v24, v0, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vsrl.vi v24, v8, 24 ; RV64V-NEXT: lui a1, 4080 ; RV64V-NEXT: li s4, 255 ; RV64V-NEXT: vand.vx v24, v24, a1 ; RV64V-NEXT: slli s4, s4, 24 ; RV64V-NEXT: vsrl.vi v0, v8, 8 ; RV64V-NEXT: vand.vx v0, v0, s4 ; RV64V-NEXT: vor.vv v24, v0, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: li a1, 40 ; RV64V-NEXT: vsrl.vx v24, v16, a1 ; RV64V-NEXT: sd a2, 280(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v24, v24, a2 ; RV64V-NEXT: li a0, 56 ; RV64V-NEXT: vsrl.vx v0, v16, a0 ; RV64V-NEXT: vor.vv v24, v24, v0 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vs8r.v v24, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vsrl.vi v24, v16, 24 ; RV64V-NEXT: lui a3, 4080 ; RV64V-NEXT: vand.vx v24, v24, a3 ; RV64V-NEXT: vsrl.vi v0, v16, 8 ; RV64V-NEXT: vand.vx v0, v0, s4 ; RV64V-NEXT: vor.vv v24, v0, v24 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 304 ; RV64V-NEXT: vs8r.v v24, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 304 ; RV64V-NEXT: vl8r.v v24, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 304 ; RV64V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vor.vv v24, v0, v24 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 304 ; RV64V-NEXT: vs8r.v v24, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v0, v8, a3 ; RV64V-NEXT: vsll.vi v0, v0, 24 ; RV64V-NEXT: vand.vx v24, v8, s4 ; RV64V-NEXT: sd s4, 288(sp) # 8-byte Folded Spill ; RV64V-NEXT: vsll.vi v24, v24, 8 ; RV64V-NEXT: vor.vv v24, v0, v24 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 7 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 304 ; RV64V-NEXT: vs8r.v v24, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vsll.vx v24, v8, a0 ; RV64V-NEXT: li a0, 56 ; RV64V-NEXT: vand.vx v8, v8, a2 ; RV64V-NEXT: vsll.vx v8, v8, a1 ; RV64V-NEXT: vor.vv v8, v24, v8 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 304 ; RV64V-NEXT: vl8r.v v24, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 1 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 304 ; RV64V-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vor.vv v24, v0, v24 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 4 ; RV64V-NEXT: mv a5, a4 ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a5, a5, a4 ; RV64V-NEXT: slli a4, a4, 2 ; RV64V-NEXT: add a4, a4, a5 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 304 ; RV64V-NEXT: vs8r.v v24, (a4) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v24, v16, a3 ; RV64V-NEXT: vsll.vi v24, v24, 24 ; RV64V-NEXT: vand.vx v0, v16, s4 ; RV64V-NEXT: vsll.vi v0, v0, 8 ; RV64V-NEXT: vor.vv v24, v24, v0 ; RV64V-NEXT: vsll.vx v0, v16, a0 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vsll.vx v16, v16, a1 ; RV64V-NEXT: vor.vv v16, v0, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vor.vv v8, v8, v0 ; RV64V-NEXT: vor.vv v16, v16, v24 ; RV64V-NEXT: lui a0, 61681 ; RV64V-NEXT: lui a1, 209715 ; RV64V-NEXT: lui a2, 349525 ; RV64V-NEXT: li a4, 16 ; RV64V-NEXT: li a3, 32 ; RV64V-NEXT: li t2, 1 ; RV64V-NEXT: addi a7, a0, -241 ; RV64V-NEXT: addi t0, a1, 819 ; RV64V-NEXT: addi t1, a2, 1365 ; RV64V-NEXT: slli a0, t2, 11 ; RV64V-NEXT: sd a0, 248(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 31 ; RV64V-NEXT: sd a0, 240(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 32 ; RV64V-NEXT: sd a0, 232(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 33 ; RV64V-NEXT: sd a0, 224(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 34 ; RV64V-NEXT: sd a0, 216(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 35 ; RV64V-NEXT: sd a0, 208(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 36 ; RV64V-NEXT: sd a0, 200(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 37 ; RV64V-NEXT: sd a0, 192(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 38 ; RV64V-NEXT: sd a0, 184(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 39 ; RV64V-NEXT: sd a0, 176(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 40 ; RV64V-NEXT: sd a0, 168(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 41 ; RV64V-NEXT: sd a0, 160(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 42 ; RV64V-NEXT: sd a0, 152(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 43 ; RV64V-NEXT: sd a0, 144(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 44 ; RV64V-NEXT: sd a0, 136(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, a7, 32 ; RV64V-NEXT: add a7, a7, a0 ; RV64V-NEXT: slli a0, t0, 32 ; RV64V-NEXT: add t0, t0, a0 ; RV64V-NEXT: slli a0, t1, 32 ; RV64V-NEXT: add a0, t1, a0 ; RV64V-NEXT: sd a0, 272(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a1, t2, 45 ; RV64V-NEXT: sd a1, 128(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 4 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 304 ; RV64V-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vor.vv v16, v16, v24 ; RV64V-NEXT: vsrl.vi v24, v16, 4 ; RV64V-NEXT: vand.vx v16, v16, a7 ; RV64V-NEXT: vand.vx v24, v24, a7 ; RV64V-NEXT: sd a7, 256(sp) # 8-byte Folded Spill ; RV64V-NEXT: vsll.vi v16, v16, 4 ; RV64V-NEXT: vor.vv v16, v24, v16 ; RV64V-NEXT: vsrl.vi v24, v16, 2 ; RV64V-NEXT: vand.vx v16, v16, t0 ; RV64V-NEXT: vand.vx v24, v24, t0 ; RV64V-NEXT: sd t0, 264(sp) # 8-byte Folded Spill ; RV64V-NEXT: vsll.vi v16, v16, 2 ; RV64V-NEXT: vor.vv v16, v24, v16 ; RV64V-NEXT: vsrl.vi v24, v16, 1 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vand.vx v24, v24, a0 ; RV64V-NEXT: vadd.vv v16, v16, v16 ; RV64V-NEXT: vor.vv v0, v24, v16 ; RV64V-NEXT: vand.vx v16, v0, a4 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 4 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 304 ; RV64V-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill ; RV64V-NEXT: slli a1, t2, 46 ; RV64V-NEXT: sd a1, 120(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 3 ; RV64V-NEXT: add a2, a2, a1 ; RV64V-NEXT: slli a1, a1, 2 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 304 ; RV64V-NEXT: vl8r.v v16, (a1) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vor.vv v8, v8, v16 ; RV64V-NEXT: vsrl.vi v16, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a7 ; RV64V-NEXT: vand.vx v16, v16, a7 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, t0 ; RV64V-NEXT: vand.vx v16, v16, t0 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vand.vx v16, v0, a3 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 47 ; RV64V-NEXT: sd a0, 112(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 48 ; RV64V-NEXT: sd a0, 104(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 49 ; RV64V-NEXT: sd a0, 96(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 50 ; RV64V-NEXT: sd a0, 88(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 51 ; RV64V-NEXT: sd a0, 80(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 52 ; RV64V-NEXT: sd a0, 72(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 53 ; RV64V-NEXT: sd a0, 64(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 54 ; RV64V-NEXT: sd a0, 56(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 55 ; RV64V-NEXT: sd a0, 48(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 56 ; RV64V-NEXT: sd a0, 40(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli a0, t2, 57 ; RV64V-NEXT: sd a0, 32(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli ra, t2, 58 ; RV64V-NEXT: slli s10, t2, 59 ; RV64V-NEXT: slli s8, t2, 60 ; RV64V-NEXT: slli a0, t2, 61 ; RV64V-NEXT: sd a0, 24(sp) # 8-byte Folded Spill ; RV64V-NEXT: slli s11, t2, 62 ; RV64V-NEXT: li a1, -1 ; RV64V-NEXT: slli s9, a1, 63 ; RV64V-NEXT: li a0, 64 ; RV64V-NEXT: li a1, 128 ; RV64V-NEXT: li a2, 256 ; RV64V-NEXT: li a3, 512 ; RV64V-NEXT: li a4, 1024 ; RV64V-NEXT: lui a5, 1 ; RV64V-NEXT: lui a6, 2 ; RV64V-NEXT: lui a7, 4 ; RV64V-NEXT: lui t0, 8 ; RV64V-NEXT: lui t1, 32 ; RV64V-NEXT: lui t2, 64 ; RV64V-NEXT: lui t3, 128 ; RV64V-NEXT: lui t4, 256 ; RV64V-NEXT: lui t5, 512 ; RV64V-NEXT: lui t6, 1024 ; RV64V-NEXT: lui s0, 2048 ; RV64V-NEXT: lui s1, 4096 ; RV64V-NEXT: lui s2, 8192 ; RV64V-NEXT: lui s3, 16384 ; RV64V-NEXT: lui s4, 32768 ; RV64V-NEXT: lui s5, 65536 ; RV64V-NEXT: lui s6, 131072 ; RV64V-NEXT: lui s7, 262144 ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: sd s8, 8(sp) # 8-byte Folded Spill ; RV64V-NEXT: mv s8, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add s8, s8, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, s8 ; RV64V-NEXT: ld s8, 8(sp) # 8-byte Folded Reload ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a3 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a4 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 248(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a5 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, a7 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: lui a0, 16 ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t3 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t4 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t5 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, t6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 9 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s3 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s4 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s5 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s7 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 240(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 232(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 224(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 216(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 208(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 200(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 192(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 184(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 176(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 168(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 160(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 152(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 144(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 136(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 128(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 120(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 112(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 104(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 96(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 88(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 80(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 72(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 64(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 56(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 48(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 8 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 40(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 32(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, ra ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 2 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v24, v0, 1 ; RV64V-NEXT: vand.vi v16, v0, 4 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vi v16, v0, 8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: ld a0, 24(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v0, a0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s11 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vand.vx v16, v0, s9 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vmul.vv v16, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v24, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v0, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 9 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: addi a0, sp, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 9 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 8 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vmul.vv v8, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v16, v8 ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: vxor.vv v8, v8, v0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v8, v16 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 7 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 6 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v8, v24 ; RV64V-NEXT: addi a0, sp, 304 ; RV64V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: li a0, 56 ; RV64V-NEXT: vsll.vx v16, v16, a0 ; RV64V-NEXT: ld a1, 280(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: li a2, 40 ; RV64V-NEXT: vsll.vx v8, v8, a2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vs8r.v v8, (a3) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 6 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 9 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 6 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v24, v8 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 5 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 7 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v0, v8, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v0, v0, v16 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v0, v16 ; RV64V-NEXT: vsrl.vi v0, v24, 8 ; RV64V-NEXT: ld a4, 288(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v0, v0, a4 ; RV64V-NEXT: vsrl.vi v8, v8, 24 ; RV64V-NEXT: lui a3, 4080 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: vor.vv v8, v0, v8 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 4 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 4 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 304 ; RV64V-NEXT: vs8r.v v8, (a5) # vscale x 64-byte Folded Spill ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 304 ; RV64V-NEXT: vl8r.v v8, (a5) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v16, v8 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 5 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 304 ; RV64V-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 304 ; RV64V-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 4 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 2 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 304 ; RV64V-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 304 ; RV64V-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v8, v8, v16 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 6 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 304 ; RV64V-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v8, v16 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a5, a5, 3 ; RV64V-NEXT: mv a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 1 ; RV64V-NEXT: add a6, a6, a5 ; RV64V-NEXT: slli a5, a5, 4 ; RV64V-NEXT: add a5, a5, a6 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 304 ; RV64V-NEXT: vl8r.v v0, (a5) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: vand.vx v24, v24, a3 ; RV64V-NEXT: vsll.vi v24, v24, 24 ; RV64V-NEXT: vand.vx v0, v8, a4 ; RV64V-NEXT: vsll.vi v0, v0, 8 ; RV64V-NEXT: vor.vv v24, v24, v0 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v0, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v0, v16, v0 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vor.vv v16, v16, v24 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v24, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v0, v24 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v0, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v0, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 7 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v0, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 304 ; RV64V-NEXT: vl8r.v v0, (a3) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vsrl.vx v8, v8, a2 ; RV64V-NEXT: vand.vx v8, v8, a1 ; RV64V-NEXT: vsrl.vx v24, v24, a0 ; RV64V-NEXT: vor.vv v8, v8, v24 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 304 ; RV64V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vor.vv v8, v24, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 4 ; RV64V-NEXT: ld a0, 256(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: ld a0, 264(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: ld a0, 272(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v8, a0 ; RV64V-NEXT: vand.vx v16, v16, a0 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: ld ra, 408(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s0, 400(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s1, 392(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s2, 384(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s3, 376(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s4, 368(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s5, 360(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s6, 352(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s7, 344(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s8, 336(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s9, 328(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s10, 320(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s11, 312(sp) # 8-byte Folded Reload ; RV64V-NEXT: addi sp, sp, 416 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv8i64_vv: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m8, ta, ma ; RV32ZVBC64-NEXT: vclmulh.vv v8, v8, v16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv8i64_vv: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m8, ta, ma ; RV64ZVBC64-NEXT: vclmulh.vv v8, v8, v16 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv8i64_vv: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: addi sp, sp, -352 ; RV32ZVBC32-NEXT: sw ra, 348(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s0, 344(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s1, 340(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s2, 336(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s3, 332(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s4, 328(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s5, 324(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s6, 320(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s7, 316(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s8, 312(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s9, 308(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s10, 304(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s11, 300(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: sub sp, sp, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui t6, 16 ; RV32ZVBC32-NEXT: li t5, 56 ; RV32ZVBC32-NEXT: li t4, 40 ; RV32ZVBC32-NEXT: vsetvli a2, zero, e64, m8, ta, ma ; RV32ZVBC32-NEXT: vsrl.vx v24, v8, t5 ; RV32ZVBC32-NEXT: vsrl.vx v0, v8, t4 ; RV32ZVBC32-NEXT: addi t3, t6, -256 ; RV32ZVBC32-NEXT: vand.vx v0, v0, t3 ; RV32ZVBC32-NEXT: vor.vv v24, v0, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vsrl.vx v24, v16, t4 ; RV32ZVBC32-NEXT: vand.vx v24, v24, t3 ; RV32ZVBC32-NEXT: vsrl.vx v0, v16, t5 ; RV32ZVBC32-NEXT: vor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, t3 ; RV32ZVBC32-NEXT: vsll.vx v24, v24, t4 ; RV32ZVBC32-NEXT: vsll.vx v0, v8, t5 ; RV32ZVBC32-NEXT: vor.vv v8, v0, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v8, v16, t3 ; RV32ZVBC32-NEXT: vsll.vx v8, v8, t4 ; RV32ZVBC32-NEXT: vsll.vx v0, v16, t5 ; RV32ZVBC32-NEXT: vor.vv v8, v0, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a5, 1044480 ; RV32ZVBC32-NEXT: lui a4, 524288 ; RV32ZVBC32-NEXT: li ra, 1 ; RV32ZVBC32-NEXT: li a6, 2 ; RV32ZVBC32-NEXT: li a7, 4 ; RV32ZVBC32-NEXT: li s0, 8 ; RV32ZVBC32-NEXT: li s11, 16 ; RV32ZVBC32-NEXT: li s10, 32 ; RV32ZVBC32-NEXT: li s9, 64 ; RV32ZVBC32-NEXT: li s8, 128 ; RV32ZVBC32-NEXT: li s7, 256 ; RV32ZVBC32-NEXT: li s6, 512 ; RV32ZVBC32-NEXT: li s5, 1024 ; RV32ZVBC32-NEXT: lui s4, 1 ; RV32ZVBC32-NEXT: lui s3, 2 ; RV32ZVBC32-NEXT: lui s2, 4 ; RV32ZVBC32-NEXT: lui s1, 8 ; RV32ZVBC32-NEXT: lui a0, 32 ; RV32ZVBC32-NEXT: lui a1, 64 ; RV32ZVBC32-NEXT: lui a2, 128 ; RV32ZVBC32-NEXT: lui a3, 256 ; RV32ZVBC32-NEXT: lui t1, 512 ; RV32ZVBC32-NEXT: lui t0, 1024 ; RV32ZVBC32-NEXT: lui t2, 2048 ; RV32ZVBC32-NEXT: sw a5, 248(sp) ; RV32ZVBC32-NEXT: lui a5, 4096 ; RV32ZVBC32-NEXT: sw zero, 252(sp) ; RV32ZVBC32-NEXT: sw a4, 8(sp) ; RV32ZVBC32-NEXT: sw zero, 12(sp) ; RV32ZVBC32-NEXT: sw zero, 272(sp) ; RV32ZVBC32-NEXT: sw ra, 276(sp) ; RV32ZVBC32-NEXT: sw zero, 256(sp) ; RV32ZVBC32-NEXT: sw a6, 260(sp) ; RV32ZVBC32-NEXT: lui a6, 8192 ; RV32ZVBC32-NEXT: sw zero, 264(sp) ; RV32ZVBC32-NEXT: sw a7, 268(sp) ; RV32ZVBC32-NEXT: lui a7, 16384 ; RV32ZVBC32-NEXT: sw zero, 240(sp) ; RV32ZVBC32-NEXT: sw s0, 244(sp) ; RV32ZVBC32-NEXT: lui s0, 32768 ; RV32ZVBC32-NEXT: sw zero, 232(sp) ; RV32ZVBC32-NEXT: sw s11, 236(sp) ; RV32ZVBC32-NEXT: sw zero, 224(sp) ; RV32ZVBC32-NEXT: sw s10, 228(sp) ; RV32ZVBC32-NEXT: sw zero, 216(sp) ; RV32ZVBC32-NEXT: sw s9, 220(sp) ; RV32ZVBC32-NEXT: sw zero, 208(sp) ; RV32ZVBC32-NEXT: sw s8, 212(sp) ; RV32ZVBC32-NEXT: sw zero, 200(sp) ; RV32ZVBC32-NEXT: sw s7, 204(sp) ; RV32ZVBC32-NEXT: sw zero, 192(sp) ; RV32ZVBC32-NEXT: sw s6, 196(sp) ; RV32ZVBC32-NEXT: sw zero, 184(sp) ; RV32ZVBC32-NEXT: sw s5, 188(sp) ; RV32ZVBC32-NEXT: slli ra, ra, 11 ; RV32ZVBC32-NEXT: sw zero, 176(sp) ; RV32ZVBC32-NEXT: sw ra, 180(sp) ; RV32ZVBC32-NEXT: sw zero, 168(sp) ; RV32ZVBC32-NEXT: sw s4, 172(sp) ; RV32ZVBC32-NEXT: sw zero, 160(sp) ; RV32ZVBC32-NEXT: sw s3, 164(sp) ; RV32ZVBC32-NEXT: sw zero, 152(sp) ; RV32ZVBC32-NEXT: sw s2, 156(sp) ; RV32ZVBC32-NEXT: sw zero, 144(sp) ; RV32ZVBC32-NEXT: sw s1, 148(sp) ; RV32ZVBC32-NEXT: sw zero, 136(sp) ; RV32ZVBC32-NEXT: sw t6, 140(sp) ; RV32ZVBC32-NEXT: sw zero, 128(sp) ; RV32ZVBC32-NEXT: sw a0, 132(sp) ; RV32ZVBC32-NEXT: sw zero, 120(sp) ; RV32ZVBC32-NEXT: sw a1, 124(sp) ; RV32ZVBC32-NEXT: sw zero, 112(sp) ; RV32ZVBC32-NEXT: sw a2, 116(sp) ; RV32ZVBC32-NEXT: sw zero, 104(sp) ; RV32ZVBC32-NEXT: sw a3, 108(sp) ; RV32ZVBC32-NEXT: sw zero, 96(sp) ; RV32ZVBC32-NEXT: sw t1, 100(sp) ; RV32ZVBC32-NEXT: sw zero, 88(sp) ; RV32ZVBC32-NEXT: sw t0, 92(sp) ; RV32ZVBC32-NEXT: sw zero, 80(sp) ; RV32ZVBC32-NEXT: sw t2, 84(sp) ; RV32ZVBC32-NEXT: sw zero, 72(sp) ; RV32ZVBC32-NEXT: sw a5, 76(sp) ; RV32ZVBC32-NEXT: sw zero, 64(sp) ; RV32ZVBC32-NEXT: sw a6, 68(sp) ; RV32ZVBC32-NEXT: lui a2, 8192 ; RV32ZVBC32-NEXT: sw zero, 56(sp) ; RV32ZVBC32-NEXT: sw a7, 60(sp) ; RV32ZVBC32-NEXT: lui t2, 16384 ; RV32ZVBC32-NEXT: sw zero, 48(sp) ; RV32ZVBC32-NEXT: sw s0, 52(sp) ; RV32ZVBC32-NEXT: lui a7, 65536 ; RV32ZVBC32-NEXT: sw zero, 40(sp) ; RV32ZVBC32-NEXT: sw a7, 44(sp) ; RV32ZVBC32-NEXT: lui a6, 131072 ; RV32ZVBC32-NEXT: sw zero, 32(sp) ; RV32ZVBC32-NEXT: sw a6, 36(sp) ; RV32ZVBC32-NEXT: lui a5, 262144 ; RV32ZVBC32-NEXT: sw zero, 24(sp) ; RV32ZVBC32-NEXT: sw a5, 28(sp) ; RV32ZVBC32-NEXT: sw a4, 20(sp) ; RV32ZVBC32-NEXT: sw zero, 16(sp) ; RV32ZVBC32-NEXT: lui a3, 4080 ; RV32ZVBC32-NEXT: addi t0, sp, 248 ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vsrl.vi v8, v8, 24 ; RV32ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vsrl.vi v0, v0, 8 ; RV32ZVBC32-NEXT: vand.vv v0, v0, v24 ; RV32ZVBC32-NEXT: vor.vv v8, v0, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vsrl.vi v0, v16, 24 ; RV32ZVBC32-NEXT: vand.vx v0, v0, a3 ; RV32ZVBC32-NEXT: vsrl.vi v24, v16, 8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v24, v16 ; RV32ZVBC32-NEXT: vor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vx v0, v16, a3 ; RV32ZVBC32-NEXT: vsll.vi v0, v0, 24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v16, v16, v8 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 8 ; RV32ZVBC32-NEXT: vor.vv v0, v0, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vx v24, v8, a3 ; RV32ZVBC32-NEXT: vsll.vi v24, v24, 24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v16, v8 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 8 ; RV32ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v8, v0, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: lui t0, 61681 ; RV32ZVBC32-NEXT: addi t0, t0, -241 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v16, v8, v16 ; RV32ZVBC32-NEXT: vsetvli t1, zero, e32, m8, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v0, t0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vsetvli t0, zero, e64, m8, ta, ma ; RV32ZVBC32-NEXT: vsrl.vi v8, v24, 4 ; RV32ZVBC32-NEXT: vand.vv v24, v24, v0 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v0 ; RV32ZVBC32-NEXT: vsll.vi v24, v24, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v24 ; RV32ZVBC32-NEXT: vsrl.vi v24, v16, 4 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v0 ; RV32ZVBC32-NEXT: vand.vv v24, v24, v0 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 4 ; RV32ZVBC32-NEXT: vor.vv v16, v24, v16 ; RV32ZVBC32-NEXT: lui t0, 209715 ; RV32ZVBC32-NEXT: addi t0, t0, 819 ; RV32ZVBC32-NEXT: vsetvli t1, zero, e32, m8, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v0, t0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vsetvli t0, zero, e64, m8, ta, ma ; RV32ZVBC32-NEXT: vsrl.vi v24, v8, 2 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v0 ; RV32ZVBC32-NEXT: vand.vv v24, v24, v0 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: vsrl.vi v24, v16, 2 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v0 ; RV32ZVBC32-NEXT: vand.vv v24, v24, v0 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 2 ; RV32ZVBC32-NEXT: vor.vv v24, v24, v16 ; RV32ZVBC32-NEXT: lui t0, 349525 ; RV32ZVBC32-NEXT: addi t0, t0, 1365 ; RV32ZVBC32-NEXT: vsetvli t1, zero, e32, m8, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v0, t0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vsetvli t0, zero, e64, m8, ta, ma ; RV32ZVBC32-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v0 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v0 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v16, v16, v8 ; RV32ZVBC32-NEXT: vsrl.vi v8, v24, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v8, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi t0, sp, 8 ; RV32ZVBC32-NEXT: vlse64.v v0, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vadd.vv v24, v24, v24 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v24 ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi t0, sp, 272 ; RV32ZVBC32-NEXT: addi t1, sp, 256 ; RV32ZVBC32-NEXT: addi a1, sp, 264 ; RV32ZVBC32-NEXT: addi a0, sp, 240 ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a4, vlenb ; RV32ZVBC32-NEXT: slli a4, a4, 4 ; RV32ZVBC32-NEXT: mv t0, a4 ; RV32ZVBC32-NEXT: slli a4, a4, 1 ; RV32ZVBC32-NEXT: add t0, t0, a4 ; RV32ZVBC32-NEXT: slli a4, a4, 1 ; RV32ZVBC32-NEXT: add t0, t0, a4 ; RV32ZVBC32-NEXT: slli a4, a4, 3 ; RV32ZVBC32-NEXT: add a4, a4, t0 ; RV32ZVBC32-NEXT: add a4, sp, a4 ; RV32ZVBC32-NEXT: addi a4, a4, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a4) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (t1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (a1), zero ; RV32ZVBC32-NEXT: csrr a1, vlenb ; RV32ZVBC32-NEXT: slli a1, a1, 5 ; RV32ZVBC32-NEXT: mv a4, a1 ; RV32ZVBC32-NEXT: slli a1, a1, 1 ; RV32ZVBC32-NEXT: add a4, a4, a1 ; RV32ZVBC32-NEXT: slli a1, a1, 3 ; RV32ZVBC32-NEXT: add a1, a1, a4 ; RV32ZVBC32-NEXT: add a1, sp, a1 ; RV32ZVBC32-NEXT: addi a1, a1, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a1) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 232 ; RV32ZVBC32-NEXT: addi a1, sp, 224 ; RV32ZVBC32-NEXT: addi t0, sp, 216 ; RV32ZVBC32-NEXT: addi t1, sp, 208 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a4, a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 200 ; RV32ZVBC32-NEXT: addi a1, sp, 192 ; RV32ZVBC32-NEXT: addi t0, sp, 184 ; RV32ZVBC32-NEXT: addi t1, sp, 176 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a4, a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 168 ; RV32ZVBC32-NEXT: addi a1, sp, 160 ; RV32ZVBC32-NEXT: addi t0, sp, 152 ; RV32ZVBC32-NEXT: addi t1, sp, 144 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 9 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 9 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 9 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 136 ; RV32ZVBC32-NEXT: addi a1, sp, 128 ; RV32ZVBC32-NEXT: addi t0, sp, 120 ; RV32ZVBC32-NEXT: addi t1, sp, 112 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a4, a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a4, a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a4, a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 104 ; RV32ZVBC32-NEXT: addi a1, sp, 96 ; RV32ZVBC32-NEXT: addi t0, sp, 88 ; RV32ZVBC32-NEXT: addi t1, sp, 80 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a4, a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a4, a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 72 ; RV32ZVBC32-NEXT: addi a1, sp, 64 ; RV32ZVBC32-NEXT: addi t0, sp, 56 ; RV32ZVBC32-NEXT: addi t1, sp, 48 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a4, a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a4, a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 40 ; RV32ZVBC32-NEXT: addi a1, sp, 32 ; RV32ZVBC32-NEXT: addi t0, sp, 24 ; RV32ZVBC32-NEXT: addi t1, sp, 16 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a4, a4, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s11 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s10 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s9 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s7 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s5 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, ra ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s3 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, t6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 32 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 64 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 128 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 256 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 512 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 1024 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 2048 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 4096 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, a2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, t2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, a7 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, a6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, a5 ; RV32ZVBC32-NEXT: addi a0, sp, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vi v24, v8, 2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vi v0, v8, 1 ; RV32ZVBC32-NEXT: vand.vi v24, v8, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vi v8, v8, 8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v24, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vmul.vv v24, v16, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 9 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 9 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: vsll.vx v8, v8, t5 ; RV32ZVBC32-NEXT: vand.vx v16, v16, t3 ; RV32ZVBC32-NEXT: vsll.vx v16, v16, t4 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 9 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v0, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v0, v0, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v0, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vsrl.vi v0, v24, 8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v0, v0, v16 ; RV32ZVBC32-NEXT: vsrl.vi v8, v8, 24 ; RV32ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV32ZVBC32-NEXT: vor.vv v8, v0, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC32-NEXT: vand.vx v24, v24, a3 ; RV32ZVBC32-NEXT: vsll.vi v24, v24, 24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v0, v8, v0 ; RV32ZVBC32-NEXT: vsll.vi v0, v0, 8 ; RV32ZVBC32-NEXT: vor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v0, v16, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v0, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: vsrl.vx v8, v8, t4 ; RV32ZVBC32-NEXT: vand.vx v8, v8, t3 ; RV32ZVBC32-NEXT: vsrl.vx v24, v24, t5 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC32-NEXT: vsrl.vi v16, v8, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v24 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v24 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC32-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v24 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v24 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC32-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 288 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v24 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v24 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add sp, sp, a0 ; RV32ZVBC32-NEXT: lw ra, 348(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s0, 344(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s1, 340(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s2, 336(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s3, 332(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s4, 328(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s5, 324(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s6, 320(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s7, 316(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s8, 312(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s9, 308(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s10, 304(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s11, 300(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: addi sp, sp, 352 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv8i64_vv: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: addi sp, sp, -416 ; RV64ZVBC32-NEXT: sd ra, 408(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s0, 400(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s1, 392(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s2, 384(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s3, 376(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s4, 368(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s5, 360(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s6, 352(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s7, 344(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s8, 336(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s9, 328(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s10, 320(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s11, 312(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: sub sp, sp, a0 ; RV64ZVBC32-NEXT: li a1, 56 ; RV64ZVBC32-NEXT: li a2, 40 ; RV64ZVBC32-NEXT: lui a3, 16 ; RV64ZVBC32-NEXT: vsetvli a0, zero, e64, m8, ta, ma ; RV64ZVBC32-NEXT: vsrl.vx v24, v8, a1 ; RV64ZVBC32-NEXT: vsrl.vx v0, v8, a2 ; RV64ZVBC32-NEXT: addi a2, a3, -256 ; RV64ZVBC32-NEXT: vand.vx v0, v0, a2 ; RV64ZVBC32-NEXT: vor.vv v24, v0, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vsrl.vi v24, v8, 24 ; RV64ZVBC32-NEXT: lui a1, 4080 ; RV64ZVBC32-NEXT: li s4, 255 ; RV64ZVBC32-NEXT: vand.vx v24, v24, a1 ; RV64ZVBC32-NEXT: slli s4, s4, 24 ; RV64ZVBC32-NEXT: vsrl.vi v0, v8, 8 ; RV64ZVBC32-NEXT: vand.vx v0, v0, s4 ; RV64ZVBC32-NEXT: vor.vv v24, v0, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: li a1, 40 ; RV64ZVBC32-NEXT: vsrl.vx v24, v16, a1 ; RV64ZVBC32-NEXT: sd a2, 280(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v24, v24, a2 ; RV64ZVBC32-NEXT: li a0, 56 ; RV64ZVBC32-NEXT: vsrl.vx v0, v16, a0 ; RV64ZVBC32-NEXT: vor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vs8r.v v24, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vsrl.vi v24, v16, 24 ; RV64ZVBC32-NEXT: lui a3, 4080 ; RV64ZVBC32-NEXT: vand.vx v24, v24, a3 ; RV64ZVBC32-NEXT: vsrl.vi v0, v16, 8 ; RV64ZVBC32-NEXT: vand.vx v0, v0, s4 ; RV64ZVBC32-NEXT: vor.vv v24, v0, v24 ; RV64ZVBC32-NEXT: csrr a4, vlenb ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: mv a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 1 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 1 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 1 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: add a4, a4, a5 ; RV64ZVBC32-NEXT: add a4, sp, a4 ; RV64ZVBC32-NEXT: addi a4, a4, 304 ; RV64ZVBC32-NEXT: vs8r.v v24, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a4, vlenb ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: mv a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 1 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 2 ; RV64ZVBC32-NEXT: add a4, a4, a5 ; RV64ZVBC32-NEXT: add a4, sp, a4 ; RV64ZVBC32-NEXT: addi a4, a4, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: csrr a4, vlenb ; RV64ZVBC32-NEXT: slli a4, a4, 4 ; RV64ZVBC32-NEXT: mv a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 2 ; RV64ZVBC32-NEXT: add a4, a4, a5 ; RV64ZVBC32-NEXT: add a4, sp, a4 ; RV64ZVBC32-NEXT: addi a4, a4, 304 ; RV64ZVBC32-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vor.vv v24, v0, v24 ; RV64ZVBC32-NEXT: csrr a4, vlenb ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: mv a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 1 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 2 ; RV64ZVBC32-NEXT: add a4, a4, a5 ; RV64ZVBC32-NEXT: add a4, sp, a4 ; RV64ZVBC32-NEXT: addi a4, a4, 304 ; RV64ZVBC32-NEXT: vs8r.v v24, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v0, v8, a3 ; RV64ZVBC32-NEXT: vsll.vi v0, v0, 24 ; RV64ZVBC32-NEXT: vand.vx v24, v8, s4 ; RV64ZVBC32-NEXT: sd s4, 288(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vsll.vi v24, v24, 8 ; RV64ZVBC32-NEXT: vor.vv v24, v0, v24 ; RV64ZVBC32-NEXT: csrr a4, vlenb ; RV64ZVBC32-NEXT: slli a4, a4, 7 ; RV64ZVBC32-NEXT: mv a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 2 ; RV64ZVBC32-NEXT: add a4, a4, a5 ; RV64ZVBC32-NEXT: add a4, sp, a4 ; RV64ZVBC32-NEXT: addi a4, a4, 304 ; RV64ZVBC32-NEXT: vs8r.v v24, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vsll.vx v24, v8, a0 ; RV64ZVBC32-NEXT: li a0, 56 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a2 ; RV64ZVBC32-NEXT: vsll.vx v8, v8, a1 ; RV64ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV64ZVBC32-NEXT: csrr a4, vlenb ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: mv a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 4 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 2 ; RV64ZVBC32-NEXT: add a4, a4, a5 ; RV64ZVBC32-NEXT: add a4, sp, a4 ; RV64ZVBC32-NEXT: addi a4, a4, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: csrr a4, vlenb ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: mv a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 1 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 1 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 1 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: add a4, a4, a5 ; RV64ZVBC32-NEXT: add a4, sp, a4 ; RV64ZVBC32-NEXT: addi a4, a4, 304 ; RV64ZVBC32-NEXT: vl8r.v v0, (a4) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vor.vv v24, v0, v24 ; RV64ZVBC32-NEXT: csrr a4, vlenb ; RV64ZVBC32-NEXT: slli a4, a4, 4 ; RV64ZVBC32-NEXT: mv a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: add a5, a5, a4 ; RV64ZVBC32-NEXT: slli a4, a4, 2 ; RV64ZVBC32-NEXT: add a4, a4, a5 ; RV64ZVBC32-NEXT: add a4, sp, a4 ; RV64ZVBC32-NEXT: addi a4, a4, 304 ; RV64ZVBC32-NEXT: vs8r.v v24, (a4) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v24, v16, a3 ; RV64ZVBC32-NEXT: vsll.vi v24, v24, 24 ; RV64ZVBC32-NEXT: vand.vx v0, v16, s4 ; RV64ZVBC32-NEXT: vsll.vi v0, v0, 8 ; RV64ZVBC32-NEXT: vor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vsll.vx v0, v16, a0 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC32-NEXT: vsll.vx v16, v16, a1 ; RV64ZVBC32-NEXT: vor.vv v16, v0, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vor.vv v8, v8, v0 ; RV64ZVBC32-NEXT: vor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: lui a0, 61681 ; RV64ZVBC32-NEXT: lui a1, 209715 ; RV64ZVBC32-NEXT: lui a2, 349525 ; RV64ZVBC32-NEXT: li a4, 16 ; RV64ZVBC32-NEXT: li a3, 32 ; RV64ZVBC32-NEXT: li t2, 1 ; RV64ZVBC32-NEXT: addi a7, a0, -241 ; RV64ZVBC32-NEXT: addi t0, a1, 819 ; RV64ZVBC32-NEXT: addi t1, a2, 1365 ; RV64ZVBC32-NEXT: slli a0, t2, 11 ; RV64ZVBC32-NEXT: sd a0, 248(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 31 ; RV64ZVBC32-NEXT: sd a0, 240(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 32 ; RV64ZVBC32-NEXT: sd a0, 232(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 33 ; RV64ZVBC32-NEXT: sd a0, 224(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 34 ; RV64ZVBC32-NEXT: sd a0, 216(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 35 ; RV64ZVBC32-NEXT: sd a0, 208(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 36 ; RV64ZVBC32-NEXT: sd a0, 200(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 37 ; RV64ZVBC32-NEXT: sd a0, 192(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 38 ; RV64ZVBC32-NEXT: sd a0, 184(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 39 ; RV64ZVBC32-NEXT: sd a0, 176(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 40 ; RV64ZVBC32-NEXT: sd a0, 168(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 41 ; RV64ZVBC32-NEXT: sd a0, 160(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 42 ; RV64ZVBC32-NEXT: sd a0, 152(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 43 ; RV64ZVBC32-NEXT: sd a0, 144(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 44 ; RV64ZVBC32-NEXT: sd a0, 136(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, a7, 32 ; RV64ZVBC32-NEXT: add a7, a7, a0 ; RV64ZVBC32-NEXT: slli a0, t0, 32 ; RV64ZVBC32-NEXT: add t0, t0, a0 ; RV64ZVBC32-NEXT: slli a0, t1, 32 ; RV64ZVBC32-NEXT: add a0, t1, a0 ; RV64ZVBC32-NEXT: sd a0, 272(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a1, t2, 45 ; RV64ZVBC32-NEXT: sd a1, 128(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 4 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vsrl.vi v24, v16, 4 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a7 ; RV64ZVBC32-NEXT: vand.vx v24, v24, a7 ; RV64ZVBC32-NEXT: sd a7, 256(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vsll.vi v16, v16, 4 ; RV64ZVBC32-NEXT: vor.vv v16, v24, v16 ; RV64ZVBC32-NEXT: vsrl.vi v24, v16, 2 ; RV64ZVBC32-NEXT: vand.vx v16, v16, t0 ; RV64ZVBC32-NEXT: vand.vx v24, v24, t0 ; RV64ZVBC32-NEXT: sd t0, 264(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vsll.vi v16, v16, 2 ; RV64ZVBC32-NEXT: vor.vv v16, v24, v16 ; RV64ZVBC32-NEXT: vsrl.vi v24, v16, 1 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC32-NEXT: vand.vx v24, v24, a0 ; RV64ZVBC32-NEXT: vadd.vv v16, v16, v16 ; RV64ZVBC32-NEXT: vor.vv v0, v24, v16 ; RV64ZVBC32-NEXT: vand.vx v16, v0, a4 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 4 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: slli a1, t2, 46 ; RV64ZVBC32-NEXT: sd a1, 120(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 3 ; RV64ZVBC32-NEXT: add a2, a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 2 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a1) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a7 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a7 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, t0 ; RV64ZVBC32-NEXT: vand.vx v16, v16, t0 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vand.vx v16, v0, a3 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 47 ; RV64ZVBC32-NEXT: sd a0, 112(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 48 ; RV64ZVBC32-NEXT: sd a0, 104(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 49 ; RV64ZVBC32-NEXT: sd a0, 96(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 50 ; RV64ZVBC32-NEXT: sd a0, 88(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 51 ; RV64ZVBC32-NEXT: sd a0, 80(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 52 ; RV64ZVBC32-NEXT: sd a0, 72(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 53 ; RV64ZVBC32-NEXT: sd a0, 64(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 54 ; RV64ZVBC32-NEXT: sd a0, 56(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 55 ; RV64ZVBC32-NEXT: sd a0, 48(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 56 ; RV64ZVBC32-NEXT: sd a0, 40(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a0, t2, 57 ; RV64ZVBC32-NEXT: sd a0, 32(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli ra, t2, 58 ; RV64ZVBC32-NEXT: slli s10, t2, 59 ; RV64ZVBC32-NEXT: slli s8, t2, 60 ; RV64ZVBC32-NEXT: slli a0, t2, 61 ; RV64ZVBC32-NEXT: sd a0, 24(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s11, t2, 62 ; RV64ZVBC32-NEXT: li a1, -1 ; RV64ZVBC32-NEXT: slli s9, a1, 63 ; RV64ZVBC32-NEXT: li a0, 64 ; RV64ZVBC32-NEXT: li a1, 128 ; RV64ZVBC32-NEXT: li a2, 256 ; RV64ZVBC32-NEXT: li a3, 512 ; RV64ZVBC32-NEXT: li a4, 1024 ; RV64ZVBC32-NEXT: lui a5, 1 ; RV64ZVBC32-NEXT: lui a6, 2 ; RV64ZVBC32-NEXT: lui a7, 4 ; RV64ZVBC32-NEXT: lui t0, 8 ; RV64ZVBC32-NEXT: lui t1, 32 ; RV64ZVBC32-NEXT: lui t2, 64 ; RV64ZVBC32-NEXT: lui t3, 128 ; RV64ZVBC32-NEXT: lui t4, 256 ; RV64ZVBC32-NEXT: lui t5, 512 ; RV64ZVBC32-NEXT: lui t6, 1024 ; RV64ZVBC32-NEXT: lui s0, 2048 ; RV64ZVBC32-NEXT: lui s1, 4096 ; RV64ZVBC32-NEXT: lui s2, 8192 ; RV64ZVBC32-NEXT: lui s3, 16384 ; RV64ZVBC32-NEXT: lui s4, 32768 ; RV64ZVBC32-NEXT: lui s5, 65536 ; RV64ZVBC32-NEXT: lui s6, 131072 ; RV64ZVBC32-NEXT: lui s7, 262144 ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: sd s8, 8(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: mv s8, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add s8, s8, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, s8 ; RV64ZVBC32-NEXT: ld s8, 8(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, a1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, a2 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, a3 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, a4 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 248(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, a5 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, a6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, a7 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, t0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: lui a0, 16 ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, t1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, t2 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, t3 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, t4 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, t5 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, t6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, s0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 9 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, s1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, s2 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, s3 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, s4 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, s5 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, s6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, s7 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 240(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 232(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 224(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 216(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 208(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 200(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 192(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 184(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 176(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 168(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 160(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 152(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 144(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 136(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 128(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 120(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 112(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 104(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 96(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 88(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 80(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 72(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 64(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 56(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 48(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 8 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 40(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 32(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, ra ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, s10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, s8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vi v16, v0, 2 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vi v24, v0, 1 ; RV64ZVBC32-NEXT: vand.vi v16, v0, 4 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vi v16, v0, 8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: ld a0, 24(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v0, a0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, s11 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v16, v0, s9 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v24, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v0, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 9 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: addi a0, sp, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 9 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 8 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 7 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 6 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v8, v24 ; RV64ZVBC32-NEXT: addi a0, sp, 304 ; RV64ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: li a0, 56 ; RV64ZVBC32-NEXT: vsll.vx v16, v16, a0 ; RV64ZVBC32-NEXT: ld a1, 280(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC32-NEXT: li a2, 40 ; RV64ZVBC32-NEXT: vsll.vx v8, v8, a2 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vs8r.v v8, (a3) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v24, v8 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 5 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 5 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 5 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 6 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 9 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 5 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 6 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v24, v8 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 5 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 7 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v0, v8, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v0, v0, v16 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v0, v16 ; RV64ZVBC32-NEXT: vsrl.vi v0, v24, 8 ; RV64ZVBC32-NEXT: ld a4, 288(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v0, v0, a4 ; RV64ZVBC32-NEXT: vsrl.vi v8, v8, 24 ; RV64ZVBC32-NEXT: lui a3, 4080 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC32-NEXT: vor.vv v8, v0, v8 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 4 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 4 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 304 ; RV64ZVBC32-NEXT: vs8r.v v8, (a5) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 2 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 304 ; RV64ZVBC32-NEXT: vl8r.v v8, (a5) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 5 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 2 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 4 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 2 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 6 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v8, v16 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a5, a5, 3 ; RV64ZVBC32-NEXT: mv a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 1 ; RV64ZVBC32-NEXT: add a6, a6, a5 ; RV64ZVBC32-NEXT: slli a5, a5, 4 ; RV64ZVBC32-NEXT: add a5, a5, a6 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 304 ; RV64ZVBC32-NEXT: vl8r.v v0, (a5) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC32-NEXT: vand.vx v24, v24, a3 ; RV64ZVBC32-NEXT: vsll.vi v24, v24, 24 ; RV64ZVBC32-NEXT: vand.vx v0, v8, a4 ; RV64ZVBC32-NEXT: vsll.vi v0, v0, 8 ; RV64ZVBC32-NEXT: vor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v0, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v0, v16, v0 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v16, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v0, v24 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v0, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v0, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 7 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v0, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 304 ; RV64ZVBC32-NEXT: vl8r.v v0, (a3) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vsrl.vx v8, v8, a2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a1 ; RV64ZVBC32-NEXT: vsrl.vx v24, v24, a0 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 304 ; RV64ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 4 ; RV64ZVBC32-NEXT: ld a0, 256(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC32-NEXT: ld a0, 264(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC32-NEXT: ld a0, 272(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a0 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add sp, sp, a0 ; RV64ZVBC32-NEXT: ld ra, 408(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s0, 400(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s1, 392(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s2, 384(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s3, 376(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s4, 368(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s5, 360(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s6, 352(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s7, 344(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s8, 336(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s9, 328(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s10, 320(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s11, 312(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: addi sp, sp, 416 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv8i128( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i128 64) %res = trunc %res.ext to ret %res } define @clmulh_nxv8i64_vx( %va, i64 %b) nounwind { ; RV32V-LABEL: clmulh_nxv8i64_vx: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -368 ; RV32V-NEXT: sw ra, 364(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s0, 360(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s1, 356(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s2, 352(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s3, 348(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s4, 344(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s5, 340(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s6, 336(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s7, 332(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s8, 328(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s9, 324(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s10, 320(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s11, 316(sp) # 4-byte Folded Spill ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 5 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 2 ; RV32V-NEXT: add a3, a3, a2 ; RV32V-NEXT: slli a2, a2, 2 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: sub sp, sp, a2 ; RV32V-NEXT: csrr a2, vlenb ; RV32V-NEXT: slli a2, a2, 3 ; RV32V-NEXT: mv a3, a2 ; RV32V-NEXT: slli a2, a2, 4 ; RV32V-NEXT: add a3, a3, a2 ; RV32V-NEXT: slli a2, a2, 2 ; RV32V-NEXT: add a2, a2, a3 ; RV32V-NEXT: add a2, sp, a2 ; RV32V-NEXT: addi a2, a2, 304 ; RV32V-NEXT: vs8r.v v8, (a2) # vscale x 64-byte Folded Spill ; RV32V-NEXT: sw a0, 16(sp) ; RV32V-NEXT: sw a1, 20(sp) ; RV32V-NEXT: addi a2, sp, 16 ; RV32V-NEXT: lui t6, 16 ; RV32V-NEXT: li t5, 56 ; RV32V-NEXT: li t4, 40 ; RV32V-NEXT: vsetvli a3, zero, e64, m8, ta, ma ; RV32V-NEXT: vlse64.v v24, (a2), zero ; RV32V-NEXT: vsrl.vx v16, v8, t5 ; RV32V-NEXT: vsrl.vx v0, v8, t4 ; RV32V-NEXT: addi t3, t6, -256 ; RV32V-NEXT: vand.vx v0, v0, t3 ; RV32V-NEXT: vor.vv v16, v0, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v16, v8, t3 ; RV32V-NEXT: vsll.vx v16, v16, t4 ; RV32V-NEXT: vsll.vx v0, v8, t5 ; RV32V-NEXT: vor.vv v8, v0, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vsrl.vx v8, v24, t4 ; RV32V-NEXT: vand.vx v8, v8, t3 ; RV32V-NEXT: vsrl.vx v0, v24, t5 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vor.vv v8, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v8, v24, t3 ; RV32V-NEXT: vsll.vx v8, v8, t4 ; RV32V-NEXT: vsll.vx v0, v24, t5 ; RV32V-NEXT: vor.vv v8, v0, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a4, 1044480 ; RV32V-NEXT: lui a5, 524288 ; RV32V-NEXT: li ra, 1 ; RV32V-NEXT: li a6, 2 ; RV32V-NEXT: li a7, 4 ; RV32V-NEXT: li s0, 8 ; RV32V-NEXT: li s11, 16 ; RV32V-NEXT: li s10, 32 ; RV32V-NEXT: li s9, 64 ; RV32V-NEXT: li s8, 128 ; RV32V-NEXT: li s7, 256 ; RV32V-NEXT: li s6, 512 ; RV32V-NEXT: li s5, 1024 ; RV32V-NEXT: lui s4, 1 ; RV32V-NEXT: lui s3, 2 ; RV32V-NEXT: lui s2, 4 ; RV32V-NEXT: lui s1, 8 ; RV32V-NEXT: lui a0, 32 ; RV32V-NEXT: lui a1, 64 ; RV32V-NEXT: lui a2, 128 ; RV32V-NEXT: lui a3, 256 ; RV32V-NEXT: lui t1, 512 ; RV32V-NEXT: lui t0, 1024 ; RV32V-NEXT: lui t2, 2048 ; RV32V-NEXT: sw a4, 264(sp) ; RV32V-NEXT: lui a4, 4096 ; RV32V-NEXT: sw zero, 268(sp) ; RV32V-NEXT: sw a5, 24(sp) ; RV32V-NEXT: sw zero, 28(sp) ; RV32V-NEXT: sw zero, 288(sp) ; RV32V-NEXT: sw ra, 292(sp) ; RV32V-NEXT: sw zero, 272(sp) ; RV32V-NEXT: sw a6, 276(sp) ; RV32V-NEXT: lui a6, 8192 ; RV32V-NEXT: sw zero, 280(sp) ; RV32V-NEXT: sw a7, 284(sp) ; RV32V-NEXT: lui a7, 16384 ; RV32V-NEXT: sw zero, 256(sp) ; RV32V-NEXT: sw s0, 260(sp) ; RV32V-NEXT: lui s0, 32768 ; RV32V-NEXT: sw zero, 248(sp) ; RV32V-NEXT: sw s11, 252(sp) ; RV32V-NEXT: sw zero, 240(sp) ; RV32V-NEXT: sw s10, 244(sp) ; RV32V-NEXT: sw zero, 232(sp) ; RV32V-NEXT: sw s9, 236(sp) ; RV32V-NEXT: sw zero, 224(sp) ; RV32V-NEXT: sw s8, 228(sp) ; RV32V-NEXT: sw zero, 216(sp) ; RV32V-NEXT: sw s7, 220(sp) ; RV32V-NEXT: sw zero, 208(sp) ; RV32V-NEXT: sw s6, 212(sp) ; RV32V-NEXT: sw zero, 200(sp) ; RV32V-NEXT: sw s5, 204(sp) ; RV32V-NEXT: slli ra, ra, 11 ; RV32V-NEXT: sw zero, 192(sp) ; RV32V-NEXT: sw ra, 196(sp) ; RV32V-NEXT: sw zero, 184(sp) ; RV32V-NEXT: sw s4, 188(sp) ; RV32V-NEXT: sw zero, 176(sp) ; RV32V-NEXT: sw s3, 180(sp) ; RV32V-NEXT: sw zero, 168(sp) ; RV32V-NEXT: sw s2, 172(sp) ; RV32V-NEXT: sw zero, 160(sp) ; RV32V-NEXT: sw s1, 164(sp) ; RV32V-NEXT: sw zero, 152(sp) ; RV32V-NEXT: sw t6, 156(sp) ; RV32V-NEXT: sw zero, 144(sp) ; RV32V-NEXT: sw a0, 148(sp) ; RV32V-NEXT: sw zero, 136(sp) ; RV32V-NEXT: sw a1, 140(sp) ; RV32V-NEXT: sw zero, 128(sp) ; RV32V-NEXT: sw a2, 132(sp) ; RV32V-NEXT: sw zero, 120(sp) ; RV32V-NEXT: sw a3, 124(sp) ; RV32V-NEXT: sw zero, 112(sp) ; RV32V-NEXT: sw t1, 116(sp) ; RV32V-NEXT: sw zero, 104(sp) ; RV32V-NEXT: sw t0, 108(sp) ; RV32V-NEXT: sw zero, 96(sp) ; RV32V-NEXT: sw t2, 100(sp) ; RV32V-NEXT: sw zero, 88(sp) ; RV32V-NEXT: sw a4, 92(sp) ; RV32V-NEXT: sw zero, 80(sp) ; RV32V-NEXT: sw a6, 84(sp) ; RV32V-NEXT: lui a2, 8192 ; RV32V-NEXT: sw zero, 72(sp) ; RV32V-NEXT: sw a7, 76(sp) ; RV32V-NEXT: lui t2, 16384 ; RV32V-NEXT: sw zero, 64(sp) ; RV32V-NEXT: sw s0, 68(sp) ; RV32V-NEXT: lui a7, 65536 ; RV32V-NEXT: sw zero, 56(sp) ; RV32V-NEXT: sw a7, 60(sp) ; RV32V-NEXT: lui a6, 131072 ; RV32V-NEXT: sw zero, 48(sp) ; RV32V-NEXT: sw a6, 52(sp) ; RV32V-NEXT: lui a4, 262144 ; RV32V-NEXT: sw zero, 40(sp) ; RV32V-NEXT: sw a4, 44(sp) ; RV32V-NEXT: sw a5, 36(sp) ; RV32V-NEXT: sw zero, 32(sp) ; RV32V-NEXT: lui a3, 4080 ; RV32V-NEXT: addi t0, sp, 264 ; RV32V-NEXT: vlse64.v v16, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vsrl.vi v8, v24, 24 ; RV32V-NEXT: vand.vx v8, v8, a3 ; RV32V-NEXT: vsrl.vi v0, v24, 8 ; RV32V-NEXT: vand.vv v0, v0, v16 ; RV32V-NEXT: vor.vv v8, v0, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vsrl.vi v0, v24, 24 ; RV32V-NEXT: vand.vx v0, v0, a3 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vsrl.vi v24, v24, 8 ; RV32V-NEXT: vand.vv v24, v24, v16 ; RV32V-NEXT: vor.vv v24, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vx v0, v16, a3 ; RV32V-NEXT: vsll.vi v0, v0, 24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v16, v16, v8 ; RV32V-NEXT: vsll.vi v16, v16, 8 ; RV32V-NEXT: vor.vv v16, v0, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vx v0, v8, a3 ; RV32V-NEXT: vsll.vi v0, v0, 24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v24, v8 ; RV32V-NEXT: vsll.vi v8, v8, 8 ; RV32V-NEXT: vor.vv v8, v0, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v16, v0, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v8, v0, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v0, v16, v24 ; RV32V-NEXT: lui t0, 61681 ; RV32V-NEXT: addi t0, t0, -241 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v16, v8, v16 ; RV32V-NEXT: vsetvli t1, zero, e32, m8, ta, ma ; RV32V-NEXT: vmv.v.x v8, t0 ; RV32V-NEXT: vsetvli t0, zero, e64, m8, ta, ma ; RV32V-NEXT: vsrl.vi v24, v0, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v0, v8 ; RV32V-NEXT: vmv8r.v v0, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v0 ; RV32V-NEXT: vsll.vi v24, v24, 4 ; RV32V-NEXT: vor.vv v8, v8, v24 ; RV32V-NEXT: vsrl.vi v24, v16, 4 ; RV32V-NEXT: vand.vv v16, v16, v0 ; RV32V-NEXT: vand.vv v24, v24, v0 ; RV32V-NEXT: vsll.vi v16, v16, 4 ; RV32V-NEXT: vor.vv v16, v24, v16 ; RV32V-NEXT: lui t0, 209715 ; RV32V-NEXT: addi t0, t0, 819 ; RV32V-NEXT: vsetvli t1, zero, e32, m8, ta, ma ; RV32V-NEXT: vmv.v.x v0, t0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vsetvli t0, zero, e64, m8, ta, ma ; RV32V-NEXT: vsrl.vi v24, v8, 2 ; RV32V-NEXT: vand.vv v8, v8, v0 ; RV32V-NEXT: vand.vv v24, v24, v0 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v24, v8 ; RV32V-NEXT: vsrl.vi v24, v16, 2 ; RV32V-NEXT: vand.vv v16, v16, v0 ; RV32V-NEXT: vand.vv v24, v24, v0 ; RV32V-NEXT: vsll.vi v16, v16, 2 ; RV32V-NEXT: vor.vv v24, v24, v16 ; RV32V-NEXT: lui t0, 349525 ; RV32V-NEXT: addi t0, t0, 1365 ; RV32V-NEXT: vsetvli t1, zero, e32, m8, ta, ma ; RV32V-NEXT: vmv.v.x v0, t0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vsetvli t0, zero, e64, m8, ta, ma ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: vand.vv v8, v8, v0 ; RV32V-NEXT: vand.vv v16, v16, v0 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v16, v16, v8 ; RV32V-NEXT: vsrl.vi v8, v24, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v8, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi t0, sp, 24 ; RV32V-NEXT: vlse64.v v0, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vadd.vv v24, v24, v24 ; RV32V-NEXT: vor.vv v8, v8, v24 ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi t0, sp, 288 ; RV32V-NEXT: addi t1, sp, 272 ; RV32V-NEXT: addi a1, sp, 280 ; RV32V-NEXT: addi a0, sp, 256 ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a5, vlenb ; RV32V-NEXT: slli a5, a5, 4 ; RV32V-NEXT: mv t0, a5 ; RV32V-NEXT: slli a5, a5, 1 ; RV32V-NEXT: add t0, t0, a5 ; RV32V-NEXT: slli a5, a5, 1 ; RV32V-NEXT: add t0, t0, a5 ; RV32V-NEXT: slli a5, a5, 3 ; RV32V-NEXT: add a5, a5, t0 ; RV32V-NEXT: add a5, sp, a5 ; RV32V-NEXT: addi a5, a5, 304 ; RV32V-NEXT: vs8r.v v24, (a5) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (t1), zero ; RV32V-NEXT: vlse64.v v24, (a1), zero ; RV32V-NEXT: csrr a1, vlenb ; RV32V-NEXT: slli a1, a1, 5 ; RV32V-NEXT: mv a5, a1 ; RV32V-NEXT: slli a1, a1, 1 ; RV32V-NEXT: add a5, a5, a1 ; RV32V-NEXT: slli a1, a1, 3 ; RV32V-NEXT: add a1, a1, a5 ; RV32V-NEXT: add a1, sp, a1 ; RV32V-NEXT: addi a1, a1, 304 ; RV32V-NEXT: vs8r.v v24, (a1) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 248 ; RV32V-NEXT: addi a1, sp, 240 ; RV32V-NEXT: addi t0, sp, 232 ; RV32V-NEXT: addi t1, sp, 224 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a5, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a5, a5, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 216 ; RV32V-NEXT: addi a1, sp, 208 ; RV32V-NEXT: addi t0, sp, 200 ; RV32V-NEXT: addi t1, sp, 192 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a5, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a5, a5, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 184 ; RV32V-NEXT: addi a1, sp, 176 ; RV32V-NEXT: addi t0, sp, 168 ; RV32V-NEXT: addi t1, sp, 160 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a5, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 9 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 9 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 9 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 152 ; RV32V-NEXT: addi a1, sp, 144 ; RV32V-NEXT: addi t0, sp, 136 ; RV32V-NEXT: addi t1, sp, 128 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a5, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a5, a5, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a5, a5, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a5, a5, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 120 ; RV32V-NEXT: addi a1, sp, 112 ; RV32V-NEXT: addi t0, sp, 104 ; RV32V-NEXT: addi t1, sp, 96 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a5, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a5, a5, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a5, a5, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 88 ; RV32V-NEXT: addi a1, sp, 80 ; RV32V-NEXT: addi t0, sp, 72 ; RV32V-NEXT: addi t1, sp, 64 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a5, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a5, a5, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a5, a5, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 56 ; RV32V-NEXT: addi a1, sp, 48 ; RV32V-NEXT: addi t0, sp, 40 ; RV32V-NEXT: addi t1, sp, 32 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a5, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a5, a5, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v0, (a1), zero ; RV32V-NEXT: vlse64.v v24, (t0), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vlse64.v v24, (t1), zero ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vv v24, v8, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v24, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s11 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s10 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s9 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s7 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s5 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, ra ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s3 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, t6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 32 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 64 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 128 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 256 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 512 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 1024 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 2048 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: lui a0, 4096 ; RV32V-NEXT: vand.vx v24, v8, a0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, a2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, t2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, s0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, a7 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, a6 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vx v24, v8, a4 ; RV32V-NEXT: addi a0, sp, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v24, v8, 2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v0, v8, 1 ; RV32V-NEXT: vand.vi v24, v8, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vand.vi v8, v8, 8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v24, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vmul.vv v24, v16, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v0, v16, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: addi a0, sp, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 9 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 9 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vmul.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vsll.vx v8, v8, t5 ; RV32V-NEXT: vand.vx v16, v16, t3 ; RV32V-NEXT: vsll.vx v16, v16, t4 ; RV32V-NEXT: vor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v24, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 8 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 9 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v0, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v0, v0, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v0, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: vsrl.vi v0, v24, 8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v0, v0, v16 ; RV32V-NEXT: vsrl.vi v8, v8, 24 ; RV32V-NEXT: vand.vx v8, v8, a3 ; RV32V-NEXT: vor.vv v8, v0, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v16, v8 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 6 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v8, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v8, v16 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v16, v16, v0 ; RV32V-NEXT: vand.vx v24, v24, a3 ; RV32V-NEXT: vsll.vi v24, v24, 24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v0, v8, v0 ; RV32V-NEXT: vsll.vi v0, v0, 8 ; RV32V-NEXT: vor.vv v24, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v0, v16, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v16, v16, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v0, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 1 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vxor.vv v24, v24, v0 ; RV32V-NEXT: vsrl.vx v8, v8, t4 ; RV32V-NEXT: vand.vx v8, v8, t3 ; RV32V-NEXT: vsrl.vx v24, v24, t5 ; RV32V-NEXT: vor.vv v8, v8, v24 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vor.vv v8, v24, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 4 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v24 ; RV32V-NEXT: vand.vv v16, v16, v24 ; RV32V-NEXT: vsll.vi v8, v8, 4 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 2 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 7 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v24 ; RV32V-NEXT: vand.vv v16, v16, v24 ; RV32V-NEXT: vsll.vi v8, v8, 2 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v16, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 4 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 3 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add a0, sp, a0 ; RV32V-NEXT: addi a0, a0, 304 ; RV32V-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32V-NEXT: vand.vv v8, v8, v24 ; RV32V-NEXT: vand.vv v16, v16, v24 ; RV32V-NEXT: vadd.vv v8, v8, v8 ; RV32V-NEXT: vor.vv v8, v16, v8 ; RV32V-NEXT: vsrl.vi v8, v8, 1 ; RV32V-NEXT: csrr a0, vlenb ; RV32V-NEXT: slli a0, a0, 5 ; RV32V-NEXT: mv a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a1, a1, a0 ; RV32V-NEXT: slli a0, a0, 2 ; RV32V-NEXT: add a0, a0, a1 ; RV32V-NEXT: add sp, sp, a0 ; RV32V-NEXT: lw ra, 364(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s0, 360(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s1, 356(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s2, 352(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s3, 348(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s4, 344(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s5, 340(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s6, 336(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s7, 332(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s8, 328(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s9, 324(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s10, 320(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s11, 316(sp) # 4-byte Folded Reload ; RV32V-NEXT: addi sp, sp, 368 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv8i64_vx: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -16 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 5 ; RV64V-NEXT: sub sp, sp, a1 ; RV64V-NEXT: li a1, 56 ; RV64V-NEXT: lui t2, 16 ; RV64V-NEXT: lui a2, 4080 ; RV64V-NEXT: li t0, 255 ; RV64V-NEXT: lui a3, 61681 ; RV64V-NEXT: lui a4, 209715 ; RV64V-NEXT: lui a5, 349525 ; RV64V-NEXT: srli a6, a0, 24 ; RV64V-NEXT: srli a7, a0, 8 ; RV64V-NEXT: srli t1, a0, 40 ; RV64V-NEXT: srli t3, a0, 56 ; RV64V-NEXT: addi a3, a3, -241 ; RV64V-NEXT: addi a4, a4, 819 ; RV64V-NEXT: addi t4, a5, 1365 ; RV64V-NEXT: slli a5, a3, 32 ; RV64V-NEXT: add a5, a3, a5 ; RV64V-NEXT: slli a3, a4, 32 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, t4, 32 ; RV64V-NEXT: add a3, t4, a3 ; RV64V-NEXT: srliw t4, a0, 24 ; RV64V-NEXT: slli t0, t0, 24 ; RV64V-NEXT: and a6, a6, a2 ; RV64V-NEXT: and a7, a7, t0 ; RV64V-NEXT: or t5, a7, a6 ; RV64V-NEXT: addi a6, t2, -256 ; RV64V-NEXT: and a7, t1, a6 ; RV64V-NEXT: or t1, a7, t3 ; RV64V-NEXT: and a7, a0, a2 ; RV64V-NEXT: slli t4, t4, 32 ; RV64V-NEXT: slli a7, a7, 24 ; RV64V-NEXT: or t3, a7, t4 ; RV64V-NEXT: li a7, 40 ; RV64V-NEXT: vsetvli t4, zero, e64, m8, ta, ma ; RV64V-NEXT: vsrl.vi v24, v8, 24 ; RV64V-NEXT: vsrl.vx v16, v8, a1 ; RV64V-NEXT: vsrl.vx v0, v8, a7 ; RV64V-NEXT: vand.vx v0, v0, a6 ; RV64V-NEXT: vor.vv v16, v0, v16 ; RV64V-NEXT: vsrl.vi v0, v8, 8 ; RV64V-NEXT: or t1, t5, t1 ; RV64V-NEXT: slli t4, a0, 56 ; RV64V-NEXT: and a0, a0, a6 ; RV64V-NEXT: slli a0, a0, 40 ; RV64V-NEXT: or t4, t4, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: or t4, t4, t3 ; RV64V-NEXT: lui t3, 1 ; RV64V-NEXT: vand.vx v24, v24, a2 ; RV64V-NEXT: vand.vx v0, v0, t0 ; RV64V-NEXT: vor.vv v24, v0, v24 ; RV64V-NEXT: vand.vx v0, v8, a2 ; RV64V-NEXT: vsll.vi v0, v0, 24 ; RV64V-NEXT: vor.vv v16, v24, v16 ; RV64V-NEXT: vand.vx v24, v8, t0 ; RV64V-NEXT: vsll.vi v24, v24, 8 ; RV64V-NEXT: vor.vv v24, v0, v24 ; RV64V-NEXT: vsll.vx v0, v8, a1 ; RV64V-NEXT: vand.vx v8, v8, a6 ; RV64V-NEXT: vsll.vx v8, v8, a7 ; RV64V-NEXT: vor.vv v8, v0, v8 ; RV64V-NEXT: vor.vv v8, v8, v24 ; RV64V-NEXT: vor.vv v8, v8, v16 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v16, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a5 ; RV64V-NEXT: srli t4, t1, 4 ; RV64V-NEXT: and t1, t1, a5 ; RV64V-NEXT: vand.vx v16, v16, a5 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: and t4, t4, a5 ; RV64V-NEXT: slli t1, t1, 4 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a4 ; RV64V-NEXT: srli t4, t1, 2 ; RV64V-NEXT: and t1, t1, a4 ; RV64V-NEXT: vand.vx v16, v16, a4 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: and t4, t4, a4 ; RV64V-NEXT: slli t1, t1, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: srli t4, t1, 1 ; RV64V-NEXT: and t1, t1, a3 ; RV64V-NEXT: vand.vx v16, v16, a3 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: and t4, t4, a3 ; RV64V-NEXT: slli t1, t1, 1 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: andi t4, t1, 2 ; RV64V-NEXT: vmul.vx v16, v8, t4 ; RV64V-NEXT: andi t4, t1, 1 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: andi t4, t1, 4 ; RV64V-NEXT: vmul.vx v0, v8, t4 ; RV64V-NEXT: andi t4, t1, 8 ; RV64V-NEXT: vxor.vv v16, v24, v16 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: andi t4, t1, 16 ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: vmul.vx v0, v8, t4 ; RV64V-NEXT: andi t4, t1, 32 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: andi t4, t1, 64 ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: vmul.vx v0, v8, t4 ; RV64V-NEXT: andi t4, t1, 128 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: andi t4, t1, 256 ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: vmul.vx v0, v8, t4 ; RV64V-NEXT: andi t4, t1, 512 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: csrr t5, vlenb ; RV64V-NEXT: slli t5, t5, 3 ; RV64V-NEXT: mv t6, t5 ; RV64V-NEXT: slli t5, t5, 1 ; RV64V-NEXT: add t5, t5, t6 ; RV64V-NEXT: add t5, sp, t5 ; RV64V-NEXT: addi t5, t5, 16 ; RV64V-NEXT: vs8r.v v16, (t5) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: andi t4, t1, 1024 ; RV64V-NEXT: vxor.vv v0, v16, v0 ; RV64V-NEXT: vxor.vv v24, v0, v24 ; RV64V-NEXT: vmul.vx v0, v8, t4 ; RV64V-NEXT: slli t4, a0, 11 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t4 ; RV64V-NEXT: lui t4, 2 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t3 ; RV64V-NEXT: lui t3, 4 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t4 ; RV64V-NEXT: lui t4, 8 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t3 ; RV64V-NEXT: lui t3, 32 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t4 ; RV64V-NEXT: lui t4, 64 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t2 ; RV64V-NEXT: lui t2, 128 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t3 ; RV64V-NEXT: lui t3, 256 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t4 ; RV64V-NEXT: lui t4, 512 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t2 ; RV64V-NEXT: lui t2, 1024 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t3 ; RV64V-NEXT: lui t3, 2048 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t4 ; RV64V-NEXT: lui t4, 4096 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t2 ; RV64V-NEXT: lui t2, 8192 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: vmul.vx v0, v8, t3 ; RV64V-NEXT: vxor.vv v0, v24, v0 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: vxor.vv v24, v0, v24 ; RV64V-NEXT: vmul.vx v16, v8, t2 ; RV64V-NEXT: vxor.vv v24, v24, v16 ; RV64V-NEXT: lui t2, 16384 ; RV64V-NEXT: lui t3, 32768 ; RV64V-NEXT: lui t4, 65536 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: csrr t5, vlenb ; RV64V-NEXT: slli t5, t5, 3 ; RV64V-NEXT: mv t6, t5 ; RV64V-NEXT: slli t5, t5, 1 ; RV64V-NEXT: add t5, t5, t6 ; RV64V-NEXT: add t5, sp, t5 ; RV64V-NEXT: addi t5, t5, 16 ; RV64V-NEXT: vl8r.v v16, (t5) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vsll.vx v16, v16, a1 ; RV64V-NEXT: vand.vx v0, v0, a6 ; RV64V-NEXT: vsll.vx v0, v0, a7 ; RV64V-NEXT: vor.vv v16, v16, v0 ; RV64V-NEXT: csrr t5, vlenb ; RV64V-NEXT: slli t5, t5, 3 ; RV64V-NEXT: add t5, sp, t5 ; RV64V-NEXT: addi t5, t5, 16 ; RV64V-NEXT: vs8r.v v16, (t5) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vmul.vx v16, v8, t2 ; RV64V-NEXT: lui t2, 131072 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v16, v24, v16 ; RV64V-NEXT: vmul.vx v24, v8, t3 ; RV64V-NEXT: lui t3, 262144 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: slli t4, a0, 32 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: slli t2, a0, 33 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t3 ; RV64V-NEXT: srliw t3, t1, 31 ; RV64V-NEXT: slli t3, t3, 31 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t3 ; RV64V-NEXT: slli t3, a0, 34 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: slli t4, a0, 35 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: slli t2, a0, 36 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t3 ; RV64V-NEXT: slli t3, a0, 37 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: slli t4, a0, 38 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: slli t2, a0, 39 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t3 ; RV64V-NEXT: slli t3, a0, 40 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: slli t4, a0, 41 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v24, v16, v24 ; RV64V-NEXT: csrr t2, vlenb ; RV64V-NEXT: slli t2, t2, 3 ; RV64V-NEXT: mv t5, t2 ; RV64V-NEXT: slli t2, t2, 1 ; RV64V-NEXT: add t2, t2, t5 ; RV64V-NEXT: add t2, sp, t2 ; RV64V-NEXT: addi t2, t2, 16 ; RV64V-NEXT: vs8r.v v24, (t2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: vmul.vx v16, v8, t3 ; RV64V-NEXT: vxor.vv v16, v24, v16 ; RV64V-NEXT: vmul.vx v24, v8, t4 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: slli t2, a0, 42 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: slli t2, a0, 43 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: slli t2, a0, 44 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: slli t2, a0, 45 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: slli t2, a0, 46 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: slli t2, a0, 47 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: slli t2, a0, 48 ; RV64V-NEXT: slli t3, a0, 49 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v24, v16, v24 ; RV64V-NEXT: vmul.vx v0, v8, t3 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: slli t2, a0, 50 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vmul.vx v0, v8, t2 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: csrr t2, vlenb ; RV64V-NEXT: slli t2, t2, 3 ; RV64V-NEXT: mv t3, t2 ; RV64V-NEXT: slli t2, t2, 1 ; RV64V-NEXT: add t2, t2, t3 ; RV64V-NEXT: add t2, sp, t2 ; RV64V-NEXT: addi t2, t2, 16 ; RV64V-NEXT: vl8r.v v0, (t2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vsrl.vi v0, v0, 8 ; RV64V-NEXT: vand.vx v0, v0, t0 ; RV64V-NEXT: vsrl.vi v16, v16, 24 ; RV64V-NEXT: vand.vx v16, v16, a2 ; RV64V-NEXT: vor.vv v16, v0, v16 ; RV64V-NEXT: addi t2, sp, 16 ; RV64V-NEXT: vs8r.v v16, (t2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: slli t2, a0, 51 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vmul.vx v16, v8, t2 ; RV64V-NEXT: vxor.vv v16, v24, v16 ; RV64V-NEXT: slli t2, a0, 52 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: slli t2, a0, 53 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: slli t2, a0, 54 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: slli t2, a0, 55 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v16, v16, v24 ; RV64V-NEXT: csrr t2, vlenb ; RV64V-NEXT: slli t2, t2, 4 ; RV64V-NEXT: add t2, sp, t2 ; RV64V-NEXT: addi t2, t2, 16 ; RV64V-NEXT: vs8r.v v16, (t2) # vscale x 64-byte Folded Spill ; RV64V-NEXT: slli t2, a0, 56 ; RV64V-NEXT: slli t3, a0, 57 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vmul.vx v24, v8, t2 ; RV64V-NEXT: vxor.vv v24, v16, v24 ; RV64V-NEXT: vmul.vx v0, v8, t3 ; RV64V-NEXT: vxor.vv v24, v24, v0 ; RV64V-NEXT: csrr t2, vlenb ; RV64V-NEXT: slli t2, t2, 3 ; RV64V-NEXT: mv t3, t2 ; RV64V-NEXT: slli t2, t2, 1 ; RV64V-NEXT: add t2, t2, t3 ; RV64V-NEXT: add t2, sp, t2 ; RV64V-NEXT: addi t2, t2, 16 ; RV64V-NEXT: vl8r.v v16, (t2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vand.vx v0, v16, a2 ; RV64V-NEXT: vsll.vi v0, v0, 24 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vand.vx v16, v16, t0 ; RV64V-NEXT: vsll.vi v16, v16, 8 ; RV64V-NEXT: vor.vv v16, v0, v16 ; RV64V-NEXT: slli a2, a0, 58 ; RV64V-NEXT: and a2, t1, a2 ; RV64V-NEXT: vmul.vx v0, v8, a2 ; RV64V-NEXT: vxor.vv v0, v24, v0 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 16 ; RV64V-NEXT: vl8r.v v24, (a2) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vor.vv v24, v24, v16 ; RV64V-NEXT: slli a2, a0, 59 ; RV64V-NEXT: and a2, t1, a2 ; RV64V-NEXT: vmul.vx v16, v8, a2 ; RV64V-NEXT: vxor.vv v16, v0, v16 ; RV64V-NEXT: slli a2, a0, 60 ; RV64V-NEXT: and a2, t1, a2 ; RV64V-NEXT: vmul.vx v0, v8, a2 ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: slli a2, a0, 61 ; RV64V-NEXT: and a2, t1, a2 ; RV64V-NEXT: vmul.vx v0, v8, a2 ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: slli a0, a0, 62 ; RV64V-NEXT: and a0, t1, a0 ; RV64V-NEXT: vmul.vx v0, v8, a0 ; RV64V-NEXT: vxor.vv v16, v16, v0 ; RV64V-NEXT: srli a0, t1, 63 ; RV64V-NEXT: slli a0, a0, 63 ; RV64V-NEXT: vmul.vx v8, v8, a0 ; RV64V-NEXT: vxor.vv v8, v16, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 16 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vsrl.vx v16, v16, a7 ; RV64V-NEXT: vand.vx v16, v16, a6 ; RV64V-NEXT: vsrl.vx v8, v8, a1 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: addi a0, sp, 16 ; RV64V-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vor.vv v8, v24, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, a5 ; RV64V-NEXT: vand.vx v16, v16, a5 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, a4 ; RV64V-NEXT: vand.vx v16, v16, a4 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v16, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, a3 ; RV64V-NEXT: vand.vx v16, v16, a3 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v8, v16, v8 ; RV64V-NEXT: vsrl.vi v8, v8, 1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: addi sp, sp, 16 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv8i64_vx: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: addi sp, sp, -16 ; RV32ZVBC64-NEXT: sw a0, 8(sp) ; RV32ZVBC64-NEXT: sw a1, 12(sp) ; RV32ZVBC64-NEXT: addi a0, sp, 8 ; RV32ZVBC64-NEXT: vsetvli a1, zero, e64, m8, ta, ma ; RV32ZVBC64-NEXT: vlse64.v v16, (a0), zero ; RV32ZVBC64-NEXT: vclmulh.vv v8, v8, v16 ; RV32ZVBC64-NEXT: addi sp, sp, 16 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv8i64_vx: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e64, m8, ta, ma ; RV64ZVBC64-NEXT: vclmulh.vx v8, v8, a0 ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv8i64_vx: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: addi sp, sp, -368 ; RV32ZVBC32-NEXT: sw ra, 364(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s0, 360(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s1, 356(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s2, 352(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s3, 348(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s4, 344(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s5, 340(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s6, 336(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s7, 332(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s8, 328(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s9, 324(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s10, 320(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s11, 316(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a2, vlenb ; RV32ZVBC32-NEXT: slli a2, a2, 5 ; RV32ZVBC32-NEXT: mv a3, a2 ; RV32ZVBC32-NEXT: slli a2, a2, 2 ; RV32ZVBC32-NEXT: add a3, a3, a2 ; RV32ZVBC32-NEXT: slli a2, a2, 2 ; RV32ZVBC32-NEXT: add a2, a2, a3 ; RV32ZVBC32-NEXT: sub sp, sp, a2 ; RV32ZVBC32-NEXT: csrr a2, vlenb ; RV32ZVBC32-NEXT: slli a2, a2, 3 ; RV32ZVBC32-NEXT: mv a3, a2 ; RV32ZVBC32-NEXT: slli a2, a2, 4 ; RV32ZVBC32-NEXT: add a3, a3, a2 ; RV32ZVBC32-NEXT: slli a2, a2, 2 ; RV32ZVBC32-NEXT: add a2, a2, a3 ; RV32ZVBC32-NEXT: add a2, sp, a2 ; RV32ZVBC32-NEXT: addi a2, a2, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a2) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: sw a0, 16(sp) ; RV32ZVBC32-NEXT: sw a1, 20(sp) ; RV32ZVBC32-NEXT: addi a2, sp, 16 ; RV32ZVBC32-NEXT: lui t6, 16 ; RV32ZVBC32-NEXT: li t5, 56 ; RV32ZVBC32-NEXT: li t4, 40 ; RV32ZVBC32-NEXT: vsetvli a3, zero, e64, m8, ta, ma ; RV32ZVBC32-NEXT: vlse64.v v24, (a2), zero ; RV32ZVBC32-NEXT: vsrl.vx v16, v8, t5 ; RV32ZVBC32-NEXT: vsrl.vx v0, v8, t4 ; RV32ZVBC32-NEXT: addi t3, t6, -256 ; RV32ZVBC32-NEXT: vand.vx v0, v0, t3 ; RV32ZVBC32-NEXT: vor.vv v16, v0, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v16, v8, t3 ; RV32ZVBC32-NEXT: vsll.vx v16, v16, t4 ; RV32ZVBC32-NEXT: vsll.vx v0, v8, t5 ; RV32ZVBC32-NEXT: vor.vv v8, v0, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vsrl.vx v8, v24, t4 ; RV32ZVBC32-NEXT: vand.vx v8, v8, t3 ; RV32ZVBC32-NEXT: vsrl.vx v0, v24, t5 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vor.vv v8, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v8, v24, t3 ; RV32ZVBC32-NEXT: vsll.vx v8, v8, t4 ; RV32ZVBC32-NEXT: vsll.vx v0, v24, t5 ; RV32ZVBC32-NEXT: vor.vv v8, v0, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a4, 1044480 ; RV32ZVBC32-NEXT: lui a5, 524288 ; RV32ZVBC32-NEXT: li ra, 1 ; RV32ZVBC32-NEXT: li a6, 2 ; RV32ZVBC32-NEXT: li a7, 4 ; RV32ZVBC32-NEXT: li s0, 8 ; RV32ZVBC32-NEXT: li s11, 16 ; RV32ZVBC32-NEXT: li s10, 32 ; RV32ZVBC32-NEXT: li s9, 64 ; RV32ZVBC32-NEXT: li s8, 128 ; RV32ZVBC32-NEXT: li s7, 256 ; RV32ZVBC32-NEXT: li s6, 512 ; RV32ZVBC32-NEXT: li s5, 1024 ; RV32ZVBC32-NEXT: lui s4, 1 ; RV32ZVBC32-NEXT: lui s3, 2 ; RV32ZVBC32-NEXT: lui s2, 4 ; RV32ZVBC32-NEXT: lui s1, 8 ; RV32ZVBC32-NEXT: lui a0, 32 ; RV32ZVBC32-NEXT: lui a1, 64 ; RV32ZVBC32-NEXT: lui a2, 128 ; RV32ZVBC32-NEXT: lui a3, 256 ; RV32ZVBC32-NEXT: lui t1, 512 ; RV32ZVBC32-NEXT: lui t0, 1024 ; RV32ZVBC32-NEXT: lui t2, 2048 ; RV32ZVBC32-NEXT: sw a4, 264(sp) ; RV32ZVBC32-NEXT: lui a4, 4096 ; RV32ZVBC32-NEXT: sw zero, 268(sp) ; RV32ZVBC32-NEXT: sw a5, 24(sp) ; RV32ZVBC32-NEXT: sw zero, 28(sp) ; RV32ZVBC32-NEXT: sw zero, 288(sp) ; RV32ZVBC32-NEXT: sw ra, 292(sp) ; RV32ZVBC32-NEXT: sw zero, 272(sp) ; RV32ZVBC32-NEXT: sw a6, 276(sp) ; RV32ZVBC32-NEXT: lui a6, 8192 ; RV32ZVBC32-NEXT: sw zero, 280(sp) ; RV32ZVBC32-NEXT: sw a7, 284(sp) ; RV32ZVBC32-NEXT: lui a7, 16384 ; RV32ZVBC32-NEXT: sw zero, 256(sp) ; RV32ZVBC32-NEXT: sw s0, 260(sp) ; RV32ZVBC32-NEXT: lui s0, 32768 ; RV32ZVBC32-NEXT: sw zero, 248(sp) ; RV32ZVBC32-NEXT: sw s11, 252(sp) ; RV32ZVBC32-NEXT: sw zero, 240(sp) ; RV32ZVBC32-NEXT: sw s10, 244(sp) ; RV32ZVBC32-NEXT: sw zero, 232(sp) ; RV32ZVBC32-NEXT: sw s9, 236(sp) ; RV32ZVBC32-NEXT: sw zero, 224(sp) ; RV32ZVBC32-NEXT: sw s8, 228(sp) ; RV32ZVBC32-NEXT: sw zero, 216(sp) ; RV32ZVBC32-NEXT: sw s7, 220(sp) ; RV32ZVBC32-NEXT: sw zero, 208(sp) ; RV32ZVBC32-NEXT: sw s6, 212(sp) ; RV32ZVBC32-NEXT: sw zero, 200(sp) ; RV32ZVBC32-NEXT: sw s5, 204(sp) ; RV32ZVBC32-NEXT: slli ra, ra, 11 ; RV32ZVBC32-NEXT: sw zero, 192(sp) ; RV32ZVBC32-NEXT: sw ra, 196(sp) ; RV32ZVBC32-NEXT: sw zero, 184(sp) ; RV32ZVBC32-NEXT: sw s4, 188(sp) ; RV32ZVBC32-NEXT: sw zero, 176(sp) ; RV32ZVBC32-NEXT: sw s3, 180(sp) ; RV32ZVBC32-NEXT: sw zero, 168(sp) ; RV32ZVBC32-NEXT: sw s2, 172(sp) ; RV32ZVBC32-NEXT: sw zero, 160(sp) ; RV32ZVBC32-NEXT: sw s1, 164(sp) ; RV32ZVBC32-NEXT: sw zero, 152(sp) ; RV32ZVBC32-NEXT: sw t6, 156(sp) ; RV32ZVBC32-NEXT: sw zero, 144(sp) ; RV32ZVBC32-NEXT: sw a0, 148(sp) ; RV32ZVBC32-NEXT: sw zero, 136(sp) ; RV32ZVBC32-NEXT: sw a1, 140(sp) ; RV32ZVBC32-NEXT: sw zero, 128(sp) ; RV32ZVBC32-NEXT: sw a2, 132(sp) ; RV32ZVBC32-NEXT: sw zero, 120(sp) ; RV32ZVBC32-NEXT: sw a3, 124(sp) ; RV32ZVBC32-NEXT: sw zero, 112(sp) ; RV32ZVBC32-NEXT: sw t1, 116(sp) ; RV32ZVBC32-NEXT: sw zero, 104(sp) ; RV32ZVBC32-NEXT: sw t0, 108(sp) ; RV32ZVBC32-NEXT: sw zero, 96(sp) ; RV32ZVBC32-NEXT: sw t2, 100(sp) ; RV32ZVBC32-NEXT: sw zero, 88(sp) ; RV32ZVBC32-NEXT: sw a4, 92(sp) ; RV32ZVBC32-NEXT: sw zero, 80(sp) ; RV32ZVBC32-NEXT: sw a6, 84(sp) ; RV32ZVBC32-NEXT: lui a2, 8192 ; RV32ZVBC32-NEXT: sw zero, 72(sp) ; RV32ZVBC32-NEXT: sw a7, 76(sp) ; RV32ZVBC32-NEXT: lui t2, 16384 ; RV32ZVBC32-NEXT: sw zero, 64(sp) ; RV32ZVBC32-NEXT: sw s0, 68(sp) ; RV32ZVBC32-NEXT: lui a7, 65536 ; RV32ZVBC32-NEXT: sw zero, 56(sp) ; RV32ZVBC32-NEXT: sw a7, 60(sp) ; RV32ZVBC32-NEXT: lui a6, 131072 ; RV32ZVBC32-NEXT: sw zero, 48(sp) ; RV32ZVBC32-NEXT: sw a6, 52(sp) ; RV32ZVBC32-NEXT: lui a4, 262144 ; RV32ZVBC32-NEXT: sw zero, 40(sp) ; RV32ZVBC32-NEXT: sw a4, 44(sp) ; RV32ZVBC32-NEXT: sw a5, 36(sp) ; RV32ZVBC32-NEXT: sw zero, 32(sp) ; RV32ZVBC32-NEXT: lui a3, 4080 ; RV32ZVBC32-NEXT: addi t0, sp, 264 ; RV32ZVBC32-NEXT: vlse64.v v16, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vsrl.vi v8, v24, 24 ; RV32ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV32ZVBC32-NEXT: vsrl.vi v0, v24, 8 ; RV32ZVBC32-NEXT: vand.vv v0, v0, v16 ; RV32ZVBC32-NEXT: vor.vv v8, v0, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vsrl.vi v0, v24, 24 ; RV32ZVBC32-NEXT: vand.vx v0, v0, a3 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vsrl.vi v24, v24, 8 ; RV32ZVBC32-NEXT: vand.vv v24, v24, v16 ; RV32ZVBC32-NEXT: vor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vx v0, v16, a3 ; RV32ZVBC32-NEXT: vsll.vi v0, v0, 24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v16, v16, v8 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 8 ; RV32ZVBC32-NEXT: vor.vv v16, v0, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vx v0, v8, a3 ; RV32ZVBC32-NEXT: vsll.vi v0, v0, 24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v24, v8 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 8 ; RV32ZVBC32-NEXT: vor.vv v8, v0, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v16, v0, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v8, v0, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v0, v16, v24 ; RV32ZVBC32-NEXT: lui t0, 61681 ; RV32ZVBC32-NEXT: addi t0, t0, -241 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v16, v8, v16 ; RV32ZVBC32-NEXT: vsetvli t1, zero, e32, m8, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v8, t0 ; RV32ZVBC32-NEXT: vsetvli t0, zero, e64, m8, ta, ma ; RV32ZVBC32-NEXT: vsrl.vi v24, v0, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v0, v8 ; RV32ZVBC32-NEXT: vmv8r.v v0, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v0 ; RV32ZVBC32-NEXT: vsll.vi v24, v24, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v24 ; RV32ZVBC32-NEXT: vsrl.vi v24, v16, 4 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v0 ; RV32ZVBC32-NEXT: vand.vv v24, v24, v0 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 4 ; RV32ZVBC32-NEXT: vor.vv v16, v24, v16 ; RV32ZVBC32-NEXT: lui t0, 209715 ; RV32ZVBC32-NEXT: addi t0, t0, 819 ; RV32ZVBC32-NEXT: vsetvli t1, zero, e32, m8, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v0, t0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vsetvli t0, zero, e64, m8, ta, ma ; RV32ZVBC32-NEXT: vsrl.vi v24, v8, 2 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v0 ; RV32ZVBC32-NEXT: vand.vv v24, v24, v0 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: vsrl.vi v24, v16, 2 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v0 ; RV32ZVBC32-NEXT: vand.vv v24, v24, v0 ; RV32ZVBC32-NEXT: vsll.vi v16, v16, 2 ; RV32ZVBC32-NEXT: vor.vv v24, v24, v16 ; RV32ZVBC32-NEXT: lui t0, 349525 ; RV32ZVBC32-NEXT: addi t0, t0, 1365 ; RV32ZVBC32-NEXT: vsetvli t1, zero, e32, m8, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v0, t0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vsetvli t0, zero, e64, m8, ta, ma ; RV32ZVBC32-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC32-NEXT: vand.vv v8, v8, v0 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v0 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v16, v16, v8 ; RV32ZVBC32-NEXT: vsrl.vi v8, v24, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v8, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi t0, sp, 24 ; RV32ZVBC32-NEXT: vlse64.v v0, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vadd.vv v24, v24, v24 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v24 ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi t0, sp, 288 ; RV32ZVBC32-NEXT: addi t1, sp, 272 ; RV32ZVBC32-NEXT: addi a1, sp, 280 ; RV32ZVBC32-NEXT: addi a0, sp, 256 ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a5, vlenb ; RV32ZVBC32-NEXT: slli a5, a5, 4 ; RV32ZVBC32-NEXT: mv t0, a5 ; RV32ZVBC32-NEXT: slli a5, a5, 1 ; RV32ZVBC32-NEXT: add t0, t0, a5 ; RV32ZVBC32-NEXT: slli a5, a5, 1 ; RV32ZVBC32-NEXT: add t0, t0, a5 ; RV32ZVBC32-NEXT: slli a5, a5, 3 ; RV32ZVBC32-NEXT: add a5, a5, t0 ; RV32ZVBC32-NEXT: add a5, sp, a5 ; RV32ZVBC32-NEXT: addi a5, a5, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a5) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (t1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (a1), zero ; RV32ZVBC32-NEXT: csrr a1, vlenb ; RV32ZVBC32-NEXT: slli a1, a1, 5 ; RV32ZVBC32-NEXT: mv a5, a1 ; RV32ZVBC32-NEXT: slli a1, a1, 1 ; RV32ZVBC32-NEXT: add a5, a5, a1 ; RV32ZVBC32-NEXT: slli a1, a1, 3 ; RV32ZVBC32-NEXT: add a1, a1, a5 ; RV32ZVBC32-NEXT: add a1, sp, a1 ; RV32ZVBC32-NEXT: addi a1, a1, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a1) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 248 ; RV32ZVBC32-NEXT: addi a1, sp, 240 ; RV32ZVBC32-NEXT: addi t0, sp, 232 ; RV32ZVBC32-NEXT: addi t1, sp, 224 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a5, a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 216 ; RV32ZVBC32-NEXT: addi a1, sp, 208 ; RV32ZVBC32-NEXT: addi t0, sp, 200 ; RV32ZVBC32-NEXT: addi t1, sp, 192 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a5, a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 184 ; RV32ZVBC32-NEXT: addi a1, sp, 176 ; RV32ZVBC32-NEXT: addi t0, sp, 168 ; RV32ZVBC32-NEXT: addi t1, sp, 160 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 9 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 9 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 9 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 152 ; RV32ZVBC32-NEXT: addi a1, sp, 144 ; RV32ZVBC32-NEXT: addi t0, sp, 136 ; RV32ZVBC32-NEXT: addi t1, sp, 128 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a5, a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a5, a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a5, a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 120 ; RV32ZVBC32-NEXT: addi a1, sp, 112 ; RV32ZVBC32-NEXT: addi t0, sp, 104 ; RV32ZVBC32-NEXT: addi t1, sp, 96 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a5, a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a5, a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 88 ; RV32ZVBC32-NEXT: addi a1, sp, 80 ; RV32ZVBC32-NEXT: addi t0, sp, 72 ; RV32ZVBC32-NEXT: addi t1, sp, 64 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a5, a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a5, a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 56 ; RV32ZVBC32-NEXT: addi a1, sp, 48 ; RV32ZVBC32-NEXT: addi t0, sp, 40 ; RV32ZVBC32-NEXT: addi t1, sp, 32 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a5, a5, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v0, (a1), zero ; RV32ZVBC32-NEXT: vlse64.v v24, (t0), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vlse64.v v24, (t1), zero ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vv v24, v8, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v24, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s11 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s10 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s9 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s7 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s5 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, ra ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s3 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, t6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 32 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 64 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 128 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 256 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 512 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 1024 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 2048 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: lui a0, 4096 ; RV32ZVBC32-NEXT: vand.vx v24, v8, a0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, a2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, t2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, s0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, a7 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, a6 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vx v24, v8, a4 ; RV32ZVBC32-NEXT: addi a0, sp, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vi v24, v8, 2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vi v0, v8, 1 ; RV32ZVBC32-NEXT: vand.vi v24, v8, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vand.vi v8, v8, 8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v24, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v24, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vmul.vv v24, v16, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v0, v16, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v0, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: addi a0, sp, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 9 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 9 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vmul.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: vsll.vx v8, v8, t5 ; RV32ZVBC32-NEXT: vand.vx v16, v16, t3 ; RV32ZVBC32-NEXT: vsll.vx v16, v16, t4 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 8 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 9 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v0, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v0, v0, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v0, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v16, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: vsrl.vi v0, v24, 8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v0, v0, v16 ; RV32ZVBC32-NEXT: vsrl.vi v8, v8, 24 ; RV32ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV32ZVBC32-NEXT: vor.vv v8, v0, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v8, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v16, v8 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 6 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v8, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v8, v16 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v0 ; RV32ZVBC32-NEXT: vand.vx v24, v24, a3 ; RV32ZVBC32-NEXT: vsll.vi v24, v24, 24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v0, v8, v0 ; RV32ZVBC32-NEXT: vsll.vi v0, v0, 8 ; RV32ZVBC32-NEXT: vor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v0, v16, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v0, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 1 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v0, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV32ZVBC32-NEXT: vsrl.vx v8, v8, t4 ; RV32ZVBC32-NEXT: vand.vx v8, v8, t3 ; RV32ZVBC32-NEXT: vsrl.vx v24, v24, t5 ; RV32ZVBC32-NEXT: vor.vv v8, v8, v24 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC32-NEXT: vsrl.vi v16, v8, 4 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v24 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v24 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV32ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC32-NEXT: vsrl.vi v16, v8, 2 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 7 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v24 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v24 ; RV32ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV32ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC32-NEXT: vsrl.vi v16, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 4 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 3 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add a0, sp, a0 ; RV32ZVBC32-NEXT: addi a0, a0, 304 ; RV32ZVBC32-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload ; RV32ZVBC32-NEXT: vand.vv v8, v8, v24 ; RV32ZVBC32-NEXT: vand.vv v16, v16, v24 ; RV32ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV32ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV32ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV32ZVBC32-NEXT: csrr a0, vlenb ; RV32ZVBC32-NEXT: slli a0, a0, 5 ; RV32ZVBC32-NEXT: mv a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a1, a1, a0 ; RV32ZVBC32-NEXT: slli a0, a0, 2 ; RV32ZVBC32-NEXT: add a0, a0, a1 ; RV32ZVBC32-NEXT: add sp, sp, a0 ; RV32ZVBC32-NEXT: lw ra, 364(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s0, 360(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s1, 356(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s2, 352(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s3, 348(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s4, 344(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s5, 340(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s6, 336(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s7, 332(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s8, 328(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s9, 324(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s10, 320(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s11, 316(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: addi sp, sp, 368 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv8i64_vx: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: addi sp, sp, -16 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 5 ; RV64ZVBC32-NEXT: sub sp, sp, a1 ; RV64ZVBC32-NEXT: li a1, 56 ; RV64ZVBC32-NEXT: lui t2, 16 ; RV64ZVBC32-NEXT: lui a2, 4080 ; RV64ZVBC32-NEXT: li t0, 255 ; RV64ZVBC32-NEXT: lui a3, 61681 ; RV64ZVBC32-NEXT: lui a4, 209715 ; RV64ZVBC32-NEXT: lui a5, 349525 ; RV64ZVBC32-NEXT: srli a6, a0, 24 ; RV64ZVBC32-NEXT: srli a7, a0, 8 ; RV64ZVBC32-NEXT: srli t1, a0, 40 ; RV64ZVBC32-NEXT: srli t3, a0, 56 ; RV64ZVBC32-NEXT: addi a3, a3, -241 ; RV64ZVBC32-NEXT: addi a4, a4, 819 ; RV64ZVBC32-NEXT: addi t4, a5, 1365 ; RV64ZVBC32-NEXT: slli a5, a3, 32 ; RV64ZVBC32-NEXT: add a5, a3, a5 ; RV64ZVBC32-NEXT: slli a3, a4, 32 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, t4, 32 ; RV64ZVBC32-NEXT: add a3, t4, a3 ; RV64ZVBC32-NEXT: srliw t4, a0, 24 ; RV64ZVBC32-NEXT: slli t0, t0, 24 ; RV64ZVBC32-NEXT: and a6, a6, a2 ; RV64ZVBC32-NEXT: and a7, a7, t0 ; RV64ZVBC32-NEXT: or t5, a7, a6 ; RV64ZVBC32-NEXT: addi a6, t2, -256 ; RV64ZVBC32-NEXT: and a7, t1, a6 ; RV64ZVBC32-NEXT: or t1, a7, t3 ; RV64ZVBC32-NEXT: and a7, a0, a2 ; RV64ZVBC32-NEXT: slli t4, t4, 32 ; RV64ZVBC32-NEXT: slli a7, a7, 24 ; RV64ZVBC32-NEXT: or t3, a7, t4 ; RV64ZVBC32-NEXT: li a7, 40 ; RV64ZVBC32-NEXT: vsetvli t4, zero, e64, m8, ta, ma ; RV64ZVBC32-NEXT: vsrl.vi v24, v8, 24 ; RV64ZVBC32-NEXT: vsrl.vx v16, v8, a1 ; RV64ZVBC32-NEXT: vsrl.vx v0, v8, a7 ; RV64ZVBC32-NEXT: vand.vx v0, v0, a6 ; RV64ZVBC32-NEXT: vor.vv v16, v0, v16 ; RV64ZVBC32-NEXT: vsrl.vi v0, v8, 8 ; RV64ZVBC32-NEXT: or t1, t5, t1 ; RV64ZVBC32-NEXT: slli t4, a0, 56 ; RV64ZVBC32-NEXT: and a0, a0, a6 ; RV64ZVBC32-NEXT: slli a0, a0, 40 ; RV64ZVBC32-NEXT: or t4, t4, a0 ; RV64ZVBC32-NEXT: li a0, 1 ; RV64ZVBC32-NEXT: or t4, t4, t3 ; RV64ZVBC32-NEXT: lui t3, 1 ; RV64ZVBC32-NEXT: vand.vx v24, v24, a2 ; RV64ZVBC32-NEXT: vand.vx v0, v0, t0 ; RV64ZVBC32-NEXT: vor.vv v24, v0, v24 ; RV64ZVBC32-NEXT: vand.vx v0, v8, a2 ; RV64ZVBC32-NEXT: vsll.vi v0, v0, 24 ; RV64ZVBC32-NEXT: vor.vv v16, v24, v16 ; RV64ZVBC32-NEXT: vand.vx v24, v8, t0 ; RV64ZVBC32-NEXT: vsll.vi v24, v24, 8 ; RV64ZVBC32-NEXT: vor.vv v24, v0, v24 ; RV64ZVBC32-NEXT: vsll.vx v0, v8, a1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a6 ; RV64ZVBC32-NEXT: vsll.vx v8, v8, a7 ; RV64ZVBC32-NEXT: vor.vv v8, v0, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v24 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v16 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a5 ; RV64ZVBC32-NEXT: srli t4, t1, 4 ; RV64ZVBC32-NEXT: and t1, t1, a5 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a5 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: and t4, t4, a5 ; RV64ZVBC32-NEXT: slli t1, t1, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a4 ; RV64ZVBC32-NEXT: srli t4, t1, 2 ; RV64ZVBC32-NEXT: and t1, t1, a4 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a4 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: and t4, t4, a4 ; RV64ZVBC32-NEXT: slli t1, t1, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC32-NEXT: srli t4, t1, 1 ; RV64ZVBC32-NEXT: and t1, t1, a3 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a3 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: and t4, t4, a3 ; RV64ZVBC32-NEXT: slli t1, t1, 1 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: andi t4, t1, 2 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 1 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 4 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 8 ; RV64ZVBC32-NEXT: vxor.vv v16, v24, v16 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 16 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 32 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 64 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 128 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 256 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 512 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: csrr t5, vlenb ; RV64ZVBC32-NEXT: slli t5, t5, 3 ; RV64ZVBC32-NEXT: mv t6, t5 ; RV64ZVBC32-NEXT: slli t5, t5, 1 ; RV64ZVBC32-NEXT: add t5, t5, t6 ; RV64ZVBC32-NEXT: add t5, sp, t5 ; RV64ZVBC32-NEXT: addi t5, t5, 16 ; RV64ZVBC32-NEXT: vs8r.v v16, (t5) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 1024 ; RV64ZVBC32-NEXT: vxor.vv v0, v16, v0 ; RV64ZVBC32-NEXT: vxor.vv v24, v0, v24 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 11 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 2 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 4 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 8 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 32 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 64 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 128 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 256 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 512 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 1024 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 2048 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t4 ; RV64ZVBC32-NEXT: lui t4, 4096 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 8192 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t3 ; RV64ZVBC32-NEXT: vxor.vv v0, v24, v0 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: vxor.vv v24, v0, v24 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v16 ; RV64ZVBC32-NEXT: lui t2, 16384 ; RV64ZVBC32-NEXT: lui t3, 32768 ; RV64ZVBC32-NEXT: lui t4, 65536 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: csrr t5, vlenb ; RV64ZVBC32-NEXT: slli t5, t5, 3 ; RV64ZVBC32-NEXT: mv t6, t5 ; RV64ZVBC32-NEXT: slli t5, t5, 1 ; RV64ZVBC32-NEXT: add t5, t5, t6 ; RV64ZVBC32-NEXT: add t5, sp, t5 ; RV64ZVBC32-NEXT: addi t5, t5, 16 ; RV64ZVBC32-NEXT: vl8r.v v16, (t5) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vsll.vx v16, v16, a1 ; RV64ZVBC32-NEXT: vand.vx v0, v0, a6 ; RV64ZVBC32-NEXT: vsll.vx v0, v0, a7 ; RV64ZVBC32-NEXT: vor.vv v16, v16, v0 ; RV64ZVBC32-NEXT: csrr t5, vlenb ; RV64ZVBC32-NEXT: slli t5, t5, 3 ; RV64ZVBC32-NEXT: add t5, sp, t5 ; RV64ZVBC32-NEXT: addi t5, t5, 16 ; RV64ZVBC32-NEXT: vs8r.v v16, (t5) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t2 ; RV64ZVBC32-NEXT: lui t2, 131072 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v24, v16 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t3 ; RV64ZVBC32-NEXT: lui t3, 262144 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 32 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 33 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t3 ; RV64ZVBC32-NEXT: srliw t3, t1, 31 ; RV64ZVBC32-NEXT: slli t3, t3, 31 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 34 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 35 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 36 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 37 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 38 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 39 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 40 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 41 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v16, v24 ; RV64ZVBC32-NEXT: csrr t2, vlenb ; RV64ZVBC32-NEXT: slli t2, t2, 3 ; RV64ZVBC32-NEXT: mv t5, t2 ; RV64ZVBC32-NEXT: slli t2, t2, 1 ; RV64ZVBC32-NEXT: add t2, t2, t5 ; RV64ZVBC32-NEXT: add t2, sp, t2 ; RV64ZVBC32-NEXT: addi t2, t2, 16 ; RV64ZVBC32-NEXT: vs8r.v v24, (t2) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t3 ; RV64ZVBC32-NEXT: vxor.vv v16, v24, v16 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t4 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: slli t2, a0, 42 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: slli t2, a0, 43 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: slli t2, a0, 44 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: slli t2, a0, 45 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: slli t2, a0, 46 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: slli t2, a0, 47 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: slli t2, a0, 48 ; RV64ZVBC32-NEXT: slli t3, a0, 49 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t3 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: slli t2, a0, 50 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: csrr t2, vlenb ; RV64ZVBC32-NEXT: slli t2, t2, 3 ; RV64ZVBC32-NEXT: mv t3, t2 ; RV64ZVBC32-NEXT: slli t2, t2, 1 ; RV64ZVBC32-NEXT: add t2, t2, t3 ; RV64ZVBC32-NEXT: add t2, sp, t2 ; RV64ZVBC32-NEXT: addi t2, t2, 16 ; RV64ZVBC32-NEXT: vl8r.v v0, (t2) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vsrl.vi v0, v0, 8 ; RV64ZVBC32-NEXT: vand.vx v0, v0, t0 ; RV64ZVBC32-NEXT: vsrl.vi v16, v16, 24 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a2 ; RV64ZVBC32-NEXT: vor.vv v16, v0, v16 ; RV64ZVBC32-NEXT: addi t2, sp, 16 ; RV64ZVBC32-NEXT: vs8r.v v16, (t2) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: slli t2, a0, 51 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v24, v16 ; RV64ZVBC32-NEXT: slli t2, a0, 52 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: slli t2, a0, 53 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: slli t2, a0, 54 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: slli t2, a0, 55 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV64ZVBC32-NEXT: csrr t2, vlenb ; RV64ZVBC32-NEXT: slli t2, t2, 4 ; RV64ZVBC32-NEXT: add t2, sp, t2 ; RV64ZVBC32-NEXT: addi t2, t2, 16 ; RV64ZVBC32-NEXT: vs8r.v v16, (t2) # vscale x 64-byte Folded Spill ; RV64ZVBC32-NEXT: slli t2, a0, 56 ; RV64ZVBC32-NEXT: slli t3, a0, 57 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vmul.vx v24, v8, t2 ; RV64ZVBC32-NEXT: vxor.vv v24, v16, v24 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, t3 ; RV64ZVBC32-NEXT: vxor.vv v24, v24, v0 ; RV64ZVBC32-NEXT: csrr t2, vlenb ; RV64ZVBC32-NEXT: slli t2, t2, 3 ; RV64ZVBC32-NEXT: mv t3, t2 ; RV64ZVBC32-NEXT: slli t2, t2, 1 ; RV64ZVBC32-NEXT: add t2, t2, t3 ; RV64ZVBC32-NEXT: add t2, sp, t2 ; RV64ZVBC32-NEXT: addi t2, t2, 16 ; RV64ZVBC32-NEXT: vl8r.v v16, (t2) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v0, v16, a2 ; RV64ZVBC32-NEXT: vsll.vi v0, v0, 24 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 4 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 16 ; RV64ZVBC32-NEXT: vl8r.v v16, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v16, v16, t0 ; RV64ZVBC32-NEXT: vsll.vi v16, v16, 8 ; RV64ZVBC32-NEXT: vor.vv v16, v0, v16 ; RV64ZVBC32-NEXT: slli a2, a0, 58 ; RV64ZVBC32-NEXT: and a2, t1, a2 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, a2 ; RV64ZVBC32-NEXT: vxor.vv v0, v24, v0 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 16 ; RV64ZVBC32-NEXT: vl8r.v v24, (a2) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vor.vv v24, v24, v16 ; RV64ZVBC32-NEXT: slli a2, a0, 59 ; RV64ZVBC32-NEXT: and a2, t1, a2 ; RV64ZVBC32-NEXT: vmul.vx v16, v8, a2 ; RV64ZVBC32-NEXT: vxor.vv v16, v0, v16 ; RV64ZVBC32-NEXT: slli a2, a0, 60 ; RV64ZVBC32-NEXT: and a2, t1, a2 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, a2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC32-NEXT: slli a2, a0, 61 ; RV64ZVBC32-NEXT: and a2, t1, a2 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, a2 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC32-NEXT: slli a0, a0, 62 ; RV64ZVBC32-NEXT: and a0, t1, a0 ; RV64ZVBC32-NEXT: vmul.vx v0, v8, a0 ; RV64ZVBC32-NEXT: vxor.vv v16, v16, v0 ; RV64ZVBC32-NEXT: srli a0, t1, 63 ; RV64ZVBC32-NEXT: slli a0, a0, 63 ; RV64ZVBC32-NEXT: vmul.vx v8, v8, a0 ; RV64ZVBC32-NEXT: vxor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 16 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vsrl.vx v16, v16, a7 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a6 ; RV64ZVBC32-NEXT: vsrl.vx v8, v8, a1 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: addi a0, sp, 16 ; RV64ZVBC32-NEXT: vl8r.v v16, (a0) # vscale x 64-byte Folded Reload ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v24, v8 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a5 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a5 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a4 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a4 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, a3 ; RV64ZVBC32-NEXT: vand.vx v16, v16, a3 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v8, v16, v8 ; RV64ZVBC32-NEXT: vsrl.vi v8, v8, 1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add sp, sp, a0 ; RV64ZVBC32-NEXT: addi sp, sp, 16 ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i64 %b, i128 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv8i128( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i128 64) %res = trunc %res.ext to ret %res } define @clmulh_nxv1i64_vv_mask( %va, %vb, %mask) { ; RV32V-LABEL: clmulh_nxv1i64_vv_mask: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -336 ; RV32V-NEXT: .cfi_def_cfa_offset 336 ; RV32V-NEXT: sw ra, 332(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s0, 328(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s1, 324(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s2, 320(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s3, 316(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s4, 312(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s5, 308(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s6, 304(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s7, 300(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s8, 296(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s9, 292(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s10, 288(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s11, 284(sp) # 4-byte Folded Spill ; RV32V-NEXT: .cfi_offset ra, -4 ; RV32V-NEXT: .cfi_offset s0, -8 ; RV32V-NEXT: .cfi_offset s1, -12 ; RV32V-NEXT: .cfi_offset s2, -16 ; RV32V-NEXT: .cfi_offset s3, -20 ; RV32V-NEXT: .cfi_offset s4, -24 ; RV32V-NEXT: .cfi_offset s5, -28 ; RV32V-NEXT: .cfi_offset s6, -32 ; RV32V-NEXT: .cfi_offset s7, -36 ; RV32V-NEXT: .cfi_offset s8, -40 ; RV32V-NEXT: .cfi_offset s9, -44 ; RV32V-NEXT: .cfi_offset s10, -48 ; RV32V-NEXT: .cfi_offset s11, -52 ; RV32V-NEXT: lui a0, 1044480 ; RV32V-NEXT: lui t6, 524288 ; RV32V-NEXT: li s11, 1 ; RV32V-NEXT: li s6, 2 ; RV32V-NEXT: li t5, 4 ; RV32V-NEXT: li s8, 8 ; RV32V-NEXT: li s10, 16 ; RV32V-NEXT: li s9, 32 ; RV32V-NEXT: li s1, 64 ; RV32V-NEXT: li s2, 128 ; RV32V-NEXT: li s3, 256 ; RV32V-NEXT: li s4, 512 ; RV32V-NEXT: li s5, 1024 ; RV32V-NEXT: lui t4, 1 ; RV32V-NEXT: lui t3, 2 ; RV32V-NEXT: lui t2, 4 ; RV32V-NEXT: lui t1, 8 ; RV32V-NEXT: lui s0, 16 ; RV32V-NEXT: lui t0, 32 ; RV32V-NEXT: lui a7, 64 ; RV32V-NEXT: lui a6, 128 ; RV32V-NEXT: lui a5, 256 ; RV32V-NEXT: lui a4, 512 ; RV32V-NEXT: lui a3, 1024 ; RV32V-NEXT: lui a2, 2048 ; RV32V-NEXT: lui a1, 4096 ; RV32V-NEXT: lui s7, 8192 ; RV32V-NEXT: lui ra, 16384 ; RV32V-NEXT: sw a0, 248(sp) ; RV32V-NEXT: lui a0, 32768 ; RV32V-NEXT: sw zero, 252(sp) ; RV32V-NEXT: sw t6, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: sw zero, 272(sp) ; RV32V-NEXT: sw s11, 276(sp) ; RV32V-NEXT: sw zero, 256(sp) ; RV32V-NEXT: sw s6, 260(sp) ; RV32V-NEXT: lui s6, 65536 ; RV32V-NEXT: sw zero, 264(sp) ; RV32V-NEXT: sw t5, 268(sp) ; RV32V-NEXT: lui t5, 131072 ; RV32V-NEXT: sw zero, 240(sp) ; RV32V-NEXT: sw s8, 244(sp) ; RV32V-NEXT: lui s8, 262144 ; RV32V-NEXT: sw zero, 232(sp) ; RV32V-NEXT: sw s10, 236(sp) ; RV32V-NEXT: sw zero, 224(sp) ; RV32V-NEXT: sw s9, 228(sp) ; RV32V-NEXT: sw zero, 216(sp) ; RV32V-NEXT: sw s1, 220(sp) ; RV32V-NEXT: sw zero, 208(sp) ; RV32V-NEXT: sw s2, 212(sp) ; RV32V-NEXT: sw zero, 200(sp) ; RV32V-NEXT: sw s3, 204(sp) ; RV32V-NEXT: sw zero, 192(sp) ; RV32V-NEXT: sw s4, 196(sp) ; RV32V-NEXT: sw zero, 184(sp) ; RV32V-NEXT: sw s5, 188(sp) ; RV32V-NEXT: slli s11, s11, 11 ; RV32V-NEXT: sw zero, 176(sp) ; RV32V-NEXT: sw s11, 180(sp) ; RV32V-NEXT: sw zero, 168(sp) ; RV32V-NEXT: sw t4, 172(sp) ; RV32V-NEXT: sw zero, 160(sp) ; RV32V-NEXT: sw t3, 164(sp) ; RV32V-NEXT: sw zero, 152(sp) ; RV32V-NEXT: sw t2, 156(sp) ; RV32V-NEXT: sw zero, 144(sp) ; RV32V-NEXT: sw t1, 148(sp) ; RV32V-NEXT: lui t2, 8 ; RV32V-NEXT: sw zero, 136(sp) ; RV32V-NEXT: sw s0, 140(sp) ; RV32V-NEXT: sw zero, 128(sp) ; RV32V-NEXT: sw t0, 132(sp) ; RV32V-NEXT: sw zero, 120(sp) ; RV32V-NEXT: sw a7, 124(sp) ; RV32V-NEXT: sw zero, 112(sp) ; RV32V-NEXT: sw a6, 116(sp) ; RV32V-NEXT: sw zero, 104(sp) ; RV32V-NEXT: sw a5, 108(sp) ; RV32V-NEXT: lui t3, 256 ; RV32V-NEXT: sw zero, 96(sp) ; RV32V-NEXT: sw a4, 100(sp) ; RV32V-NEXT: lui t4, 512 ; RV32V-NEXT: sw zero, 88(sp) ; RV32V-NEXT: sw a3, 92(sp) ; RV32V-NEXT: lui a5, 1024 ; RV32V-NEXT: sw zero, 80(sp) ; RV32V-NEXT: sw a2, 84(sp) ; RV32V-NEXT: lui a4, 2048 ; RV32V-NEXT: sw zero, 72(sp) ; RV32V-NEXT: sw a1, 76(sp) ; RV32V-NEXT: lui a3, 4096 ; RV32V-NEXT: sw zero, 64(sp) ; RV32V-NEXT: sw s7, 68(sp) ; RV32V-NEXT: lui t1, 8192 ; RV32V-NEXT: sw zero, 56(sp) ; RV32V-NEXT: sw ra, 60(sp) ; RV32V-NEXT: sw zero, 48(sp) ; RV32V-NEXT: sw a0, 52(sp) ; RV32V-NEXT: lui s7, 32768 ; RV32V-NEXT: sw zero, 40(sp) ; RV32V-NEXT: sw s6, 44(sp) ; RV32V-NEXT: sw zero, 32(sp) ; RV32V-NEXT: sw t5, 36(sp) ; RV32V-NEXT: sw zero, 24(sp) ; RV32V-NEXT: sw s8, 28(sp) ; RV32V-NEXT: sw zero, 16(sp) ; RV32V-NEXT: sw t6, 20(sp) ; RV32V-NEXT: lui a0, 61681 ; RV32V-NEXT: addi a0, a0, -241 ; RV32V-NEXT: vsetvli a1, zero, e32, m1, ta, ma ; RV32V-NEXT: vmv.v.x v10, a0 ; RV32V-NEXT: lui a0, 209715 ; RV32V-NEXT: addi a0, a0, 819 ; RV32V-NEXT: vmv.v.x v11, a0 ; RV32V-NEXT: lui a0, 349525 ; RV32V-NEXT: addi a0, a0, 1365 ; RV32V-NEXT: vmv.v.x v12, a0 ; RV32V-NEXT: addi a0, sp, 248 ; RV32V-NEXT: vsetvli a1, zero, e64, m1, ta, mu ; RV32V-NEXT: vlse64.v v13, (a0), zero ; RV32V-NEXT: addi a0, sp, 8 ; RV32V-NEXT: vlse64.v v6, (a0), zero ; RV32V-NEXT: addi a0, sp, 272 ; RV32V-NEXT: vlse64.v v7, (a0), zero ; RV32V-NEXT: addi a0, sp, 256 ; RV32V-NEXT: vlse64.v v31, (a0), zero ; RV32V-NEXT: addi a0, sp, 264 ; RV32V-NEXT: vlse64.v v30, (a0), zero ; RV32V-NEXT: addi a0, sp, 240 ; RV32V-NEXT: vlse64.v v29, (a0), zero ; RV32V-NEXT: addi a0, sp, 232 ; RV32V-NEXT: vlse64.v v28, (a0), zero ; RV32V-NEXT: addi a0, sp, 224 ; RV32V-NEXT: vlse64.v v27, (a0), zero ; RV32V-NEXT: addi a0, sp, 216 ; RV32V-NEXT: vlse64.v v22, (a0), zero ; RV32V-NEXT: addi a0, sp, 208 ; RV32V-NEXT: vlse64.v v19, (a0), zero ; RV32V-NEXT: addi a0, sp, 200 ; RV32V-NEXT: vlse64.v v18, (a0), zero ; RV32V-NEXT: addi a0, sp, 192 ; RV32V-NEXT: vlse64.v v23, (a0), zero ; RV32V-NEXT: addi a0, sp, 184 ; RV32V-NEXT: vlse64.v v16, (a0), zero ; RV32V-NEXT: addi a0, sp, 176 ; RV32V-NEXT: vlse64.v v14, (a0), zero ; RV32V-NEXT: addi a0, sp, 168 ; RV32V-NEXT: vlse64.v v15, (a0), zero ; RV32V-NEXT: addi a0, sp, 160 ; RV32V-NEXT: vlse64.v v17, (a0), zero ; RV32V-NEXT: addi a0, sp, 152 ; RV32V-NEXT: vlse64.v v20, (a0), zero ; RV32V-NEXT: addi a0, sp, 144 ; RV32V-NEXT: vlse64.v v25, (a0), zero ; RV32V-NEXT: addi a0, sp, 136 ; RV32V-NEXT: vlse64.v v21, (a0), zero ; RV32V-NEXT: addi a0, sp, 128 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: addi a0, sp, 120 ; RV32V-NEXT: vlse64.v v26, (a0), zero ; RV32V-NEXT: li ra, 56 ; RV32V-NEXT: vsrl.vi v5, v9, 24 ; RV32V-NEXT: vsrl.vi v4, v9, 8 ; RV32V-NEXT: vsrl.vx v3, v9, ra ; RV32V-NEXT: li a2, 40 ; RV32V-NEXT: vsrl.vx v2, v9, a2 ; RV32V-NEXT: lui a1, 4080 ; RV32V-NEXT: vand.vx v5, v5, a1 ; RV32V-NEXT: vsll.vx v1, v9, ra ; RV32V-NEXT: addi a0, s0, -256 ; RV32V-NEXT: vand.vx v2, v2, a0 ; RV32V-NEXT: vor.vv v3, v2, v3 ; RV32V-NEXT: vand.vx v2, v9, a0 ; RV32V-NEXT: vsll.vx v2, v2, a2 ; RV32V-NEXT: vor.vv v2, v1, v2 ; RV32V-NEXT: vand.vx v1, v9, a1 ; RV32V-NEXT: vsll.vi v1, v1, 24 ; RV32V-NEXT: vand.vv v4, v4, v13 ; RV32V-NEXT: vand.vv v9, v9, v13 ; RV32V-NEXT: vor.vv v5, v4, v5 ; RV32V-NEXT: vsll.vi v9, v9, 8 ; RV32V-NEXT: vor.vv v5, v5, v3 ; RV32V-NEXT: vor.vv v9, v1, v9 ; RV32V-NEXT: vor.vv v9, v2, v9 ; RV32V-NEXT: vor.vv v9, v9, v5 ; RV32V-NEXT: vsrl.vi v5, v9, 4 ; RV32V-NEXT: vand.vv v9, v9, v10 ; RV32V-NEXT: vand.vv v5, v5, v10 ; RV32V-NEXT: vsll.vi v9, v9, 4 ; RV32V-NEXT: vor.vv v9, v5, v9 ; RV32V-NEXT: vsrl.vi v5, v9, 2 ; RV32V-NEXT: vand.vv v9, v9, v11 ; RV32V-NEXT: vand.vv v5, v5, v11 ; RV32V-NEXT: vsll.vi v9, v9, 2 ; RV32V-NEXT: vor.vv v9, v5, v9 ; RV32V-NEXT: vsrl.vi v5, v9, 1 ; RV32V-NEXT: vand.vv v9, v9, v12 ; RV32V-NEXT: vand.vv v5, v5, v12 ; RV32V-NEXT: vadd.vv v9, v9, v9 ; RV32V-NEXT: vor.vv v9, v5, v9 ; RV32V-NEXT: vand.vx v4, v9, s10 ; RV32V-NEXT: vsrl.vi v5, v8, 24 ; RV32V-NEXT: vsrl.vx v3, v8, ra ; RV32V-NEXT: vsrl.vx v2, v8, a2 ; RV32V-NEXT: vsll.vx v1, v8, ra ; RV32V-NEXT: vand.vx v2, v2, a0 ; RV32V-NEXT: vor.vv v3, v2, v3 ; RV32V-NEXT: vand.vx v2, v8, a0 ; RV32V-NEXT: vsll.vx v2, v2, a2 ; RV32V-NEXT: vor.vv v2, v1, v2 ; RV32V-NEXT: vsrl.vi v1, v8, 8 ; RV32V-NEXT: vand.vx v5, v5, a1 ; RV32V-NEXT: vand.vv v1, v1, v13 ; RV32V-NEXT: vor.vv v5, v1, v5 ; RV32V-NEXT: vand.vx v1, v8, a1 ; RV32V-NEXT: vsll.vi v1, v1, 24 ; RV32V-NEXT: vor.vv v5, v5, v3 ; RV32V-NEXT: vand.vv v3, v8, v13 ; RV32V-NEXT: vsll.vi v3, v3, 8 ; RV32V-NEXT: vor.vv v3, v1, v3 ; RV32V-NEXT: vand.vx v1, v9, s9 ; RV32V-NEXT: vor.vv v3, v2, v3 ; RV32V-NEXT: vor.vv v5, v3, v5 ; RV32V-NEXT: vsrl.vi v3, v5, 4 ; RV32V-NEXT: vand.vv v5, v5, v10 ; RV32V-NEXT: vand.vv v3, v3, v10 ; RV32V-NEXT: vsll.vi v5, v5, 4 ; RV32V-NEXT: vor.vv v5, v3, v5 ; RV32V-NEXT: vsrl.vi v3, v5, 2 ; RV32V-NEXT: vand.vv v5, v5, v11 ; RV32V-NEXT: vand.vv v3, v3, v11 ; RV32V-NEXT: vsll.vi v5, v5, 2 ; RV32V-NEXT: vor.vv v5, v3, v5 ; RV32V-NEXT: vsrl.vi v3, v5, 1 ; RV32V-NEXT: vand.vv v5, v5, v12 ; RV32V-NEXT: vand.vv v3, v3, v12 ; RV32V-NEXT: vadd.vv v5, v5, v5 ; RV32V-NEXT: vor.vv v5, v3, v5 ; RV32V-NEXT: vand.vi v3, v9, 2 ; RV32V-NEXT: vand.vi v2, v9, 1 ; RV32V-NEXT: vmul.vv v3, v5, v3 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v2, v3 ; RV32V-NEXT: vand.vi v2, v9, 4 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vi v2, v9, 8 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v9, s1 ; RV32V-NEXT: vmul.vv v4, v5, v4 ; RV32V-NEXT: vxor.vv v4, v3, v4 ; RV32V-NEXT: vand.vx v3, v9, s2 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v4, v4, v1 ; RV32V-NEXT: vand.vx v1, v9, s3 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v4, v4, v2 ; RV32V-NEXT: vand.vx v2, v9, s4 ; RV32V-NEXT: vmul.vv v3, v5, v3 ; RV32V-NEXT: vxor.vv v4, v4, v3 ; RV32V-NEXT: vand.vx v3, v9, s5 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v1, v4, v1 ; RV32V-NEXT: vxor.vv v2, v1, v2 ; RV32V-NEXT: vand.vx v1, v9, s11 ; RV32V-NEXT: vmul.vv v3, v5, v3 ; RV32V-NEXT: vxor.vv v3, v2, v3 ; RV32V-NEXT: lui t6, 1 ; RV32V-NEXT: vand.vx v2, v9, t6 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: lui t6, 2 ; RV32V-NEXT: vand.vx v1, v9, t6 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: lui t6, 4 ; RV32V-NEXT: vand.vx v2, v9, t6 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v9, t2 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v9, s0 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v9, t0 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v9, a7 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v9, a6 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v9, t3 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v9, t4 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v9, a5 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v9, a4 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v9, a3 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v9, t1 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v2, v3, v2 ; RV32V-NEXT: vxor.vv v2, v2, v1 ; RV32V-NEXT: lui a3, 16384 ; RV32V-NEXT: vand.vx v1, v9, a3 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v2, v2, v1 ; RV32V-NEXT: vand.vx v1, v9, s7 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v2, v2, v1 ; RV32V-NEXT: vand.vx v1, v9, s6 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v2, v2, v1 ; RV32V-NEXT: vand.vx v1, v9, t5 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v2, v2, v1 ; RV32V-NEXT: vand.vx v1, v9, s8 ; RV32V-NEXT: addi a3, sp, 112 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v1, v2, v1 ; RV32V-NEXT: vlse64.v v2, (a3), zero ; RV32V-NEXT: addi a3, sp, 104 ; RV32V-NEXT: vand.vv v6, v9, v6 ; RV32V-NEXT: vmul.vv v6, v5, v6 ; RV32V-NEXT: vxor.vv v1, v1, v6 ; RV32V-NEXT: vlse64.v v6, (a3), zero ; RV32V-NEXT: addi a3, sp, 96 ; RV32V-NEXT: vand.vv v7, v9, v7 ; RV32V-NEXT: vmul.vv v7, v5, v7 ; RV32V-NEXT: vxor.vv v1, v1, v7 ; RV32V-NEXT: vlse64.v v7, (a3), zero ; RV32V-NEXT: addi a3, sp, 88 ; RV32V-NEXT: vand.vv v31, v9, v31 ; RV32V-NEXT: vmul.vv v31, v5, v31 ; RV32V-NEXT: vxor.vv v1, v1, v31 ; RV32V-NEXT: vlse64.v v31, (a3), zero ; RV32V-NEXT: addi a3, sp, 80 ; RV32V-NEXT: vand.vv v30, v9, v30 ; RV32V-NEXT: vmul.vv v30, v5, v30 ; RV32V-NEXT: vxor.vv v1, v1, v30 ; RV32V-NEXT: vlse64.v v30, (a3), zero ; RV32V-NEXT: addi a3, sp, 72 ; RV32V-NEXT: vand.vv v29, v9, v29 ; RV32V-NEXT: vmul.vv v29, v5, v29 ; RV32V-NEXT: vxor.vv v1, v1, v29 ; RV32V-NEXT: vlse64.v v29, (a3), zero ; RV32V-NEXT: addi a3, sp, 64 ; RV32V-NEXT: vand.vv v28, v9, v28 ; RV32V-NEXT: vmul.vv v28, v5, v28 ; RV32V-NEXT: vxor.vv v1, v1, v28 ; RV32V-NEXT: vlse64.v v28, (a3), zero ; RV32V-NEXT: addi a3, sp, 56 ; RV32V-NEXT: vand.vv v27, v9, v27 ; RV32V-NEXT: vmul.vv v27, v5, v27 ; RV32V-NEXT: vxor.vv v1, v1, v27 ; RV32V-NEXT: vlse64.v v27, (a3), zero ; RV32V-NEXT: addi a3, sp, 48 ; RV32V-NEXT: vand.vv v22, v9, v22 ; RV32V-NEXT: vmul.vv v22, v5, v22 ; RV32V-NEXT: vxor.vv v1, v1, v22 ; RV32V-NEXT: vlse64.v v22, (a3), zero ; RV32V-NEXT: addi a3, sp, 40 ; RV32V-NEXT: vand.vv v19, v9, v19 ; RV32V-NEXT: vmul.vv v19, v5, v19 ; RV32V-NEXT: vxor.vv v19, v1, v19 ; RV32V-NEXT: vlse64.v v1, (a3), zero ; RV32V-NEXT: addi a3, sp, 32 ; RV32V-NEXT: vand.vv v18, v9, v18 ; RV32V-NEXT: vand.vv v23, v9, v23 ; RV32V-NEXT: vmul.vv v18, v5, v18 ; RV32V-NEXT: vmul.vv v23, v5, v23 ; RV32V-NEXT: vxor.vv v18, v19, v18 ; RV32V-NEXT: vxor.vv v23, v18, v23 ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: addi a3, sp, 24 ; RV32V-NEXT: vand.vv v16, v9, v16 ; RV32V-NEXT: vmul.vv v16, v5, v16 ; RV32V-NEXT: vxor.vv v16, v23, v16 ; RV32V-NEXT: vlse64.v v23, (a3), zero ; RV32V-NEXT: addi a3, sp, 16 ; RV32V-NEXT: vand.vv v14, v9, v14 ; RV32V-NEXT: vmul.vv v14, v5, v14 ; RV32V-NEXT: vxor.vv v14, v16, v14 ; RV32V-NEXT: vlse64.v v16, (a3), zero ; RV32V-NEXT: vand.vv v15, v9, v15 ; RV32V-NEXT: vmul.vv v15, v5, v15 ; RV32V-NEXT: vxor.vv v14, v14, v15 ; RV32V-NEXT: vand.vv v15, v9, v17 ; RV32V-NEXT: vmul.vv v15, v5, v15 ; RV32V-NEXT: vxor.vv v14, v14, v15 ; RV32V-NEXT: vand.vv v15, v9, v20 ; RV32V-NEXT: vand.vv v17, v9, v25 ; RV32V-NEXT: vmul.vv v15, v5, v15 ; RV32V-NEXT: vmul.vv v17, v5, v17 ; RV32V-NEXT: vxor.vv v14, v14, v15 ; RV32V-NEXT: vand.vx v15, v19, a1 ; RV32V-NEXT: vxor.vv v14, v14, v17 ; RV32V-NEXT: vsrl.vi v17, v14, 24 ; RV32V-NEXT: vand.vx v17, v17, a1 ; RV32V-NEXT: vand.vv v20, v9, v21 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v9, v24 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v9, v26 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v9, v2 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v9, v6 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v9, v7 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v9, v31 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v9, v30 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vand.vx v21, v3, a0 ; RV32V-NEXT: vsll.vx v21, v21, a2 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vsrl.vx v20, v14, a2 ; RV32V-NEXT: vand.vx v20, v20, a0 ; RV32V-NEXT: vand.vv v24, v9, v29 ; RV32V-NEXT: vand.vv v25, v9, v28 ; RV32V-NEXT: vand.vv v26, v9, v27 ; RV32V-NEXT: vand.vv v22, v9, v22 ; RV32V-NEXT: vand.vv v27, v9, v1 ; RV32V-NEXT: vand.vv v18, v9, v18 ; RV32V-NEXT: vand.vv v23, v9, v23 ; RV32V-NEXT: vand.vv v9, v9, v16 ; RV32V-NEXT: vmul.vv v16, v5, v24 ; RV32V-NEXT: vmul.vv v24, v5, v25 ; RV32V-NEXT: vmul.vv v25, v5, v26 ; RV32V-NEXT: vmul.vv v22, v5, v22 ; RV32V-NEXT: vmul.vv v26, v5, v27 ; RV32V-NEXT: vmul.vv v18, v5, v18 ; RV32V-NEXT: vmul.vv v23, v5, v23 ; RV32V-NEXT: vmul.vv v9, v5, v9 ; RV32V-NEXT: vxor.vv v16, v14, v16 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vxor.vv v16, v16, v25 ; RV32V-NEXT: vxor.vv v16, v16, v22 ; RV32V-NEXT: vxor.vv v16, v16, v26 ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: vxor.vv v16, v16, v23 ; RV32V-NEXT: vxor.vv v9, v16, v9 ; RV32V-NEXT: vsll.vx v16, v4, ra ; RV32V-NEXT: vsrl.vx v9, v9, ra ; RV32V-NEXT: vor.vv v16, v16, v21 ; RV32V-NEXT: vsrl.vi v18, v19, 8 ; RV32V-NEXT: vsll.vi v15, v15, 24 ; RV32V-NEXT: vand.vv v18, v18, v13 ; RV32V-NEXT: vor.vv v17, v18, v17 ; RV32V-NEXT: vand.vv v13, v14, v13 ; RV32V-NEXT: vsll.vi v13, v13, 8 ; RV32V-NEXT: vor.vv v13, v15, v13 ; RV32V-NEXT: vor.vv v13, v16, v13 ; RV32V-NEXT: vor.vv v9, v20, v9 ; RV32V-NEXT: vor.vv v9, v17, v9 ; RV32V-NEXT: vor.vv v9, v13, v9 ; RV32V-NEXT: vsrl.vi v13, v9, 4 ; RV32V-NEXT: vand.vv v9, v9, v10 ; RV32V-NEXT: vand.vv v10, v13, v10 ; RV32V-NEXT: vsll.vi v9, v9, 4 ; RV32V-NEXT: vor.vv v9, v10, v9 ; RV32V-NEXT: vsrl.vi v10, v9, 2 ; RV32V-NEXT: vand.vv v9, v9, v11 ; RV32V-NEXT: vand.vv v10, v10, v11 ; RV32V-NEXT: vsll.vi v9, v9, 2 ; RV32V-NEXT: vor.vv v9, v10, v9 ; RV32V-NEXT: vsrl.vi v10, v9, 1 ; RV32V-NEXT: vand.vv v9, v9, v12 ; RV32V-NEXT: vand.vv v10, v10, v12 ; RV32V-NEXT: vadd.vv v9, v9, v9 ; RV32V-NEXT: vor.vv v9, v10, v9 ; RV32V-NEXT: vsrl.vi v8, v9, 1, v0.t ; RV32V-NEXT: lw ra, 332(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s0, 328(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s1, 324(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s2, 320(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s3, 316(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s4, 312(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s5, 308(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s6, 304(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s7, 300(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s8, 296(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s9, 292(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s10, 288(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s11, 284(sp) # 4-byte Folded Reload ; RV32V-NEXT: .cfi_restore ra ; RV32V-NEXT: .cfi_restore s0 ; RV32V-NEXT: .cfi_restore s1 ; RV32V-NEXT: .cfi_restore s2 ; RV32V-NEXT: .cfi_restore s3 ; RV32V-NEXT: .cfi_restore s4 ; RV32V-NEXT: .cfi_restore s5 ; RV32V-NEXT: .cfi_restore s6 ; RV32V-NEXT: .cfi_restore s7 ; RV32V-NEXT: .cfi_restore s8 ; RV32V-NEXT: .cfi_restore s9 ; RV32V-NEXT: .cfi_restore s10 ; RV32V-NEXT: .cfi_restore s11 ; RV32V-NEXT: addi sp, sp, 336 ; RV32V-NEXT: .cfi_def_cfa_offset 0 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv1i64_vv_mask: ; RV64V: # %bb.0: ; RV64V-NEXT: addi sp, sp, -224 ; RV64V-NEXT: .cfi_def_cfa_offset 224 ; RV64V-NEXT: sd ra, 216(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s0, 208(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s1, 200(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s2, 192(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s3, 184(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s4, 176(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s5, 168(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s6, 160(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s7, 152(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s8, 144(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s9, 136(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s10, 128(sp) # 8-byte Folded Spill ; RV64V-NEXT: sd s11, 120(sp) # 8-byte Folded Spill ; RV64V-NEXT: .cfi_offset ra, -8 ; RV64V-NEXT: .cfi_offset s0, -16 ; RV64V-NEXT: .cfi_offset s1, -24 ; RV64V-NEXT: .cfi_offset s2, -32 ; RV64V-NEXT: .cfi_offset s3, -40 ; RV64V-NEXT: .cfi_offset s4, -48 ; RV64V-NEXT: .cfi_offset s5, -56 ; RV64V-NEXT: .cfi_offset s6, -64 ; RV64V-NEXT: .cfi_offset s7, -72 ; RV64V-NEXT: .cfi_offset s8, -80 ; RV64V-NEXT: .cfi_offset s9, -88 ; RV64V-NEXT: .cfi_offset s10, -96 ; RV64V-NEXT: .cfi_offset s11, -104 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: sub sp, sp, a0 ; RV64V-NEXT: .cfi_escape 0x0f, 0x0e, 0x72, 0x00, 0x11, 0xe0, 0x01, 0x22, 0x11, 0x2f, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 224 + 47 * vlenb ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v0, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vsetvli a0, zero, e64, m1, ta, mu ; RV64V-NEXT: vmv1r.v v18, v8 ; RV64V-NEXT: li a3, 56 ; RV64V-NEXT: lui a2, 16 ; RV64V-NEXT: vsrl.vi v16, v8, 24 ; RV64V-NEXT: vsrl.vi v10, v8, 8 ; RV64V-NEXT: li t5, 255 ; RV64V-NEXT: lui a0, 61681 ; RV64V-NEXT: lui a1, 209715 ; RV64V-NEXT: lui a5, 349525 ; RV64V-NEXT: vsrl.vi v12, v9, 24 ; RV64V-NEXT: vsrl.vi v11, v9, 8 ; RV64V-NEXT: li ra, 16 ; RV64V-NEXT: li s11, 32 ; RV64V-NEXT: li s10, 64 ; RV64V-NEXT: li s8, 128 ; RV64V-NEXT: li s9, 256 ; RV64V-NEXT: li s7, 512 ; RV64V-NEXT: li s6, 1024 ; RV64V-NEXT: li t0, 1 ; RV64V-NEXT: lui s5, 1 ; RV64V-NEXT: lui a6, 2 ; RV64V-NEXT: lui a7, 4 ; RV64V-NEXT: lui t1, 8 ; RV64V-NEXT: lui t2, 32 ; RV64V-NEXT: lui t3, 64 ; RV64V-NEXT: lui t4, 128 ; RV64V-NEXT: lui s3, 256 ; RV64V-NEXT: lui s4, 512 ; RV64V-NEXT: addi s0, a0, -241 ; RV64V-NEXT: addi s1, a1, 819 ; RV64V-NEXT: addi s2, a5, 1365 ; RV64V-NEXT: slli a0, s0, 32 ; RV64V-NEXT: add s0, s0, a0 ; RV64V-NEXT: slli a0, s1, 32 ; RV64V-NEXT: add s1, s1, a0 ; RV64V-NEXT: slli a0, s2, 32 ; RV64V-NEXT: add s2, s2, a0 ; RV64V-NEXT: addi t6, a2, -256 ; RV64V-NEXT: slli t5, t5, 24 ; RV64V-NEXT: vsrl.vx v8, v9, a3 ; RV64V-NEXT: li a0, 40 ; RV64V-NEXT: vsrl.vx v13, v9, a0 ; RV64V-NEXT: lui a1, 4080 ; RV64V-NEXT: vand.vx v12, v12, a1 ; RV64V-NEXT: vand.vx v14, v9, a1 ; RV64V-NEXT: vsll.vx v15, v9, a3 ; RV64V-NEXT: vand.vx v13, v13, t6 ; RV64V-NEXT: vand.vx v11, v11, t5 ; RV64V-NEXT: vsll.vi v14, v14, 24 ; RV64V-NEXT: vand.vx v17, v9, t5 ; RV64V-NEXT: vand.vx v9, v9, t6 ; RV64V-NEXT: vor.vv v8, v13, v8 ; RV64V-NEXT: vor.vv v11, v11, v12 ; RV64V-NEXT: vsll.vi v12, v17, 8 ; RV64V-NEXT: vsll.vx v9, v9, a0 ; RV64V-NEXT: li a4, 40 ; RV64V-NEXT: vor.vv v8, v11, v8 ; RV64V-NEXT: vor.vv v11, v14, v12 ; RV64V-NEXT: vor.vv v9, v15, v9 ; RV64V-NEXT: vor.vv v9, v9, v11 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, s0 ; RV64V-NEXT: vand.vx v9, v9, s0 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, s1 ; RV64V-NEXT: vand.vx v9, v9, s1 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, s2 ; RV64V-NEXT: vand.vx v9, v9, s2 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v11, v9, v8 ; RV64V-NEXT: vand.vx v13, v11, ra ; RV64V-NEXT: lui a0, 4096 ; RV64V-NEXT: vand.vx v14, v11, s11 ; RV64V-NEXT: lui a1, 8192 ; RV64V-NEXT: vand.vx v15, v11, s10 ; RV64V-NEXT: lui a3, 16384 ; RV64V-NEXT: vand.vx v17, v11, s8 ; RV64V-NEXT: lui s8, 32768 ; RV64V-NEXT: vand.vx v19, v11, s9 ; RV64V-NEXT: lui s9, 65536 ; RV64V-NEXT: vand.vx v20, v11, s7 ; RV64V-NEXT: lui s11, 131072 ; RV64V-NEXT: vand.vx v21, v11, s6 ; RV64V-NEXT: slli a5, t0, 11 ; RV64V-NEXT: vand.vx v22, v11, a5 ; RV64V-NEXT: lui ra, 262144 ; RV64V-NEXT: li a5, 56 ; RV64V-NEXT: vsrl.vx v5, v18, a5 ; RV64V-NEXT: vsrl.vx v1, v18, a4 ; RV64V-NEXT: lui s6, 4080 ; RV64V-NEXT: vand.vx v2, v16, s6 ; RV64V-NEXT: vand.vx v8, v18, s6 ; RV64V-NEXT: vsll.vx v4, v18, a5 ; RV64V-NEXT: vand.vx v23, v11, s5 ; RV64V-NEXT: slli s10, t0, 31 ; RV64V-NEXT: vand.vx v24, v11, a6 ; RV64V-NEXT: slli a5, t0, 32 ; RV64V-NEXT: sd a5, 96(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v25, v11, a7 ; RV64V-NEXT: slli a5, t0, 33 ; RV64V-NEXT: sd a5, 88(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v26, v11, t1 ; RV64V-NEXT: slli a5, t0, 34 ; RV64V-NEXT: sd a5, 80(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v27, v11, a2 ; RV64V-NEXT: slli a2, t0, 35 ; RV64V-NEXT: sd a2, 72(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v28, v11, t2 ; RV64V-NEXT: slli a2, t0, 36 ; RV64V-NEXT: sd a2, 64(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v29, v11, t3 ; RV64V-NEXT: slli a2, t0, 37 ; RV64V-NEXT: sd a2, 56(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v30, v11, t4 ; RV64V-NEXT: slli a2, t0, 38 ; RV64V-NEXT: sd a2, 48(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v31, v11, s3 ; RV64V-NEXT: slli a2, t0, 39 ; RV64V-NEXT: sd a2, 40(sp) # 8-byte Folded Spill ; RV64V-NEXT: vand.vx v7, v11, s4 ; RV64V-NEXT: slli a2, t0, 40 ; RV64V-NEXT: sd a2, 32(sp) # 8-byte Folded Spill ; RV64V-NEXT: lui a2, 1024 ; RV64V-NEXT: vand.vx v9, v11, a2 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: mv a5, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a5, a5, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a5 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vs1r.v v9, (a2) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli a2, t0, 41 ; RV64V-NEXT: sd a2, 24(sp) # 8-byte Folded Spill ; RV64V-NEXT: lui a2, 2048 ; RV64V-NEXT: vand.vx v9, v11, a2 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a5, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a5, a5, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a5, a5, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a5 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vs1r.v v9, (a2) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s4, t0, 42 ; RV64V-NEXT: vand.vx v9, v11, a0 ; RV64V-NEXT: sd s4, 8(sp) # 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a2, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a2, a2, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a2 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s5, t0, 43 ; RV64V-NEXT: vand.vx v9, v11, a1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s6, t0, 44 ; RV64V-NEXT: vand.vx v9, v11, a3 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s7, t0, 45 ; RV64V-NEXT: vand.vx v9, v1, t6 ; RV64V-NEXT: vor.vv v9, v9, v5 ; RV64V-NEXT: vand.vx v12, v11, s8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s8, t0, 46 ; RV64V-NEXT: vand.vx v10, v10, t5 ; RV64V-NEXT: vor.vv v10, v10, v2 ; RV64V-NEXT: vand.vx v12, v11, s9 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s9, t0, 47 ; RV64V-NEXT: vsll.vi v8, v8, 24 ; RV64V-NEXT: vor.vv v9, v10, v9 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v18, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v10, v18, t5 ; RV64V-NEXT: vsll.vi v10, v10, 8 ; RV64V-NEXT: vor.vv v8, v8, v10 ; RV64V-NEXT: vand.vx v10, v18, t6 ; RV64V-NEXT: vsll.vx v10, v10, a4 ; RV64V-NEXT: vor.vv v10, v4, v10 ; RV64V-NEXT: vand.vx v12, v11, s11 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli s11, t0, 48 ; RV64V-NEXT: vor.vv v8, v10, v8 ; RV64V-NEXT: vand.vx v10, v11, ra ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v10, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli ra, t0, 49 ; RV64V-NEXT: vor.vv v8, v8, v9 ; RV64V-NEXT: vsrl.vi v9, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, s0 ; RV64V-NEXT: vand.vx v9, v9, s0 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, s1 ; RV64V-NEXT: vand.vx v9, v9, s1 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, s2 ; RV64V-NEXT: vand.vx v9, v9, s2 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v4, v9, v8 ; RV64V-NEXT: vand.vx v8, v11, s10 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v8, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: slli t4, t0, 50 ; RV64V-NEXT: slli t3, t0, 51 ; RV64V-NEXT: slli t2, t0, 52 ; RV64V-NEXT: slli s10, t0, 53 ; RV64V-NEXT: slli t1, t0, 54 ; RV64V-NEXT: slli a7, t0, 55 ; RV64V-NEXT: slli a6, t0, 56 ; RV64V-NEXT: slli a5, t0, 57 ; RV64V-NEXT: slli a4, t0, 58 ; RV64V-NEXT: slli a2, t0, 59 ; RV64V-NEXT: slli a1, t0, 60 ; RV64V-NEXT: slli a3, t0, 61 ; RV64V-NEXT: slli t0, t0, 62 ; RV64V-NEXT: li a0, -1 ; RV64V-NEXT: slli a0, a0, 63 ; RV64V-NEXT: ld s3, 96(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v11, s3 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 4 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s3, 88(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v11, s3 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: slli s4, s3, 5 ; RV64V-NEXT: add s3, s4, s3 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s3, 80(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v11, s3 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: slli s3, s3, 5 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s3, 72(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v11, s3 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: slli s4, s3, 5 ; RV64V-NEXT: sub s3, s4, s3 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s3, 64(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v11, s3 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s3, 56(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v11, s3 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 2 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s3, 48(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v11, s3 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: slli s3, s3, 2 ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s3, 40(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v11, s3 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 2 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s3, 32(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v11, s3 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 2 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: ld s3, 24(sp) # 8-byte Folded Reload ; RV64V-NEXT: vand.vx v8, v11, s3 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 3 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: ld s4, 8(sp) # 8-byte Folded Reload ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, s4 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: slli s3, s3, 3 ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, s5 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 2 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, s6 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 2 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, s7 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 2 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 2 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, s8 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: slli s3, s3, 2 ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 2 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, s9 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: add s4, s4, s3 ; RV64V-NEXT: slli s3, s3, 3 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, s11 ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: slli s3, s3, 1 ; RV64V-NEXT: mv s4, s3 ; RV64V-NEXT: slli s3, s3, 3 ; RV64V-NEXT: add s3, s3, s4 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, ra ; RV64V-NEXT: csrr s3, vlenb ; RV64V-NEXT: slli s4, s3, 4 ; RV64V-NEXT: add s3, s4, s3 ; RV64V-NEXT: add s3, sp, s3 ; RV64V-NEXT: addi s3, s3, 112 ; RV64V-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, t4 ; RV64V-NEXT: csrr t4, vlenb ; RV64V-NEXT: slli t4, t4, 4 ; RV64V-NEXT: add t4, sp, t4 ; RV64V-NEXT: addi t4, t4, 112 ; RV64V-NEXT: vs1r.v v8, (t4) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, t3 ; RV64V-NEXT: csrr t3, vlenb ; RV64V-NEXT: slli t4, t3, 4 ; RV64V-NEXT: sub t3, t4, t3 ; RV64V-NEXT: add t3, sp, t3 ; RV64V-NEXT: addi t3, t3, 112 ; RV64V-NEXT: vs1r.v v8, (t3) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, t2 ; RV64V-NEXT: csrr t2, vlenb ; RV64V-NEXT: slli t2, t2, 1 ; RV64V-NEXT: mv t3, t2 ; RV64V-NEXT: slli t2, t2, 1 ; RV64V-NEXT: add t3, t3, t2 ; RV64V-NEXT: slli t2, t2, 1 ; RV64V-NEXT: add t2, t2, t3 ; RV64V-NEXT: add t2, sp, t2 ; RV64V-NEXT: addi t2, t2, 112 ; RV64V-NEXT: vs1r.v v8, (t2) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, s10 ; RV64V-NEXT: csrr t2, vlenb ; RV64V-NEXT: mv t3, t2 ; RV64V-NEXT: slli t2, t2, 2 ; RV64V-NEXT: add t3, t3, t2 ; RV64V-NEXT: slli t2, t2, 1 ; RV64V-NEXT: add t2, t2, t3 ; RV64V-NEXT: add t2, sp, t2 ; RV64V-NEXT: addi t2, t2, 112 ; RV64V-NEXT: vs1r.v v8, (t2) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, t1 ; RV64V-NEXT: csrr t1, vlenb ; RV64V-NEXT: slli t1, t1, 2 ; RV64V-NEXT: mv t2, t1 ; RV64V-NEXT: slli t1, t1, 1 ; RV64V-NEXT: add t1, t1, t2 ; RV64V-NEXT: add t1, sp, t1 ; RV64V-NEXT: addi t1, t1, 112 ; RV64V-NEXT: vs1r.v v8, (t1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, a7 ; RV64V-NEXT: csrr a7, vlenb ; RV64V-NEXT: mv t1, a7 ; RV64V-NEXT: slli a7, a7, 1 ; RV64V-NEXT: add t1, t1, a7 ; RV64V-NEXT: slli a7, a7, 2 ; RV64V-NEXT: add a7, a7, t1 ; RV64V-NEXT: add a7, sp, a7 ; RV64V-NEXT: addi a7, a7, 112 ; RV64V-NEXT: vs1r.v v8, (a7) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, a6 ; RV64V-NEXT: csrr a6, vlenb ; RV64V-NEXT: slli a6, a6, 1 ; RV64V-NEXT: mv a7, a6 ; RV64V-NEXT: slli a6, a6, 2 ; RV64V-NEXT: add a6, a6, a7 ; RV64V-NEXT: add a6, sp, a6 ; RV64V-NEXT: addi a6, a6, 112 ; RV64V-NEXT: vs1r.v v8, (a6) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, a5 ; RV64V-NEXT: csrr a5, vlenb ; RV64V-NEXT: slli a6, a5, 3 ; RV64V-NEXT: add a5, a6, a5 ; RV64V-NEXT: add a5, sp, a5 ; RV64V-NEXT: addi a5, a5, 112 ; RV64V-NEXT: vs1r.v v8, (a5) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, a4 ; RV64V-NEXT: csrr a4, vlenb ; RV64V-NEXT: slli a4, a4, 3 ; RV64V-NEXT: add a4, sp, a4 ; RV64V-NEXT: addi a4, a4, 112 ; RV64V-NEXT: vs1r.v v8, (a4) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, a2 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a4, a2, 3 ; RV64V-NEXT: sub a2, a4, a2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vs1r.v v8, (a2) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vx v8, v11, a1 ; RV64V-NEXT: csrr a1, vlenb ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: mv a2, a1 ; RV64V-NEXT: slli a1, a1, 1 ; RV64V-NEXT: add a1, a1, a2 ; RV64V-NEXT: add a1, sp, a1 ; RV64V-NEXT: addi a1, a1, 112 ; RV64V-NEXT: vs1r.v v8, (a1) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vand.vi v8, v11, 2 ; RV64V-NEXT: vand.vi v9, v11, 1 ; RV64V-NEXT: vand.vi v10, v11, 4 ; RV64V-NEXT: vand.vi v12, v11, 8 ; RV64V-NEXT: vand.vx v6, v11, a3 ; RV64V-NEXT: vand.vx v5, v11, t0 ; RV64V-NEXT: vand.vx v2, v11, a0 ; RV64V-NEXT: vmul.vv v3, v4, v8 ; RV64V-NEXT: vmul.vv v8, v4, v9 ; RV64V-NEXT: vmul.vv v9, v4, v10 ; RV64V-NEXT: vmul.vv v10, v4, v12 ; RV64V-NEXT: vmul.vv v11, v4, v13 ; RV64V-NEXT: vmul.vv v12, v4, v14 ; RV64V-NEXT: vmul.vv v13, v4, v15 ; RV64V-NEXT: vmul.vv v14, v4, v17 ; RV64V-NEXT: vmul.vv v15, v4, v19 ; RV64V-NEXT: vmul.vv v16, v4, v20 ; RV64V-NEXT: vmul.vv v17, v4, v21 ; RV64V-NEXT: vmul.vv v18, v4, v22 ; RV64V-NEXT: vmul.vv v19, v4, v23 ; RV64V-NEXT: vmul.vv v20, v4, v24 ; RV64V-NEXT: vmul.vv v21, v4, v25 ; RV64V-NEXT: vmul.vv v22, v4, v26 ; RV64V-NEXT: vmul.vv v23, v4, v27 ; RV64V-NEXT: vmul.vv v24, v4, v28 ; RV64V-NEXT: vmul.vv v25, v4, v29 ; RV64V-NEXT: vmul.vv v26, v4, v30 ; RV64V-NEXT: vmul.vv v27, v4, v31 ; RV64V-NEXT: vmul.vv v28, v4, v7 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v29, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v29, v4, v29 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v30, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v30, v4, v30 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v31, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v31, v4, v31 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v7, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v7, v4, v7 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 2 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 1 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v0 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v0 ; RV64V-NEXT: addi a0, sp, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v0, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 5 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 5 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 5 ; RV64V-NEXT: sub a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 5 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 5 ; RV64V-NEXT: sub a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 4 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 4 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 4 ; RV64V-NEXT: sub a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 4 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 3 ; RV64V-NEXT: add a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 3 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a1, a0, 3 ; RV64V-NEXT: sub a0, a1, a0 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vmul.vv v1, v4, v1 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64V-NEXT: vmul.vv v6, v4, v6 ; RV64V-NEXT: vmul.vv v5, v4, v5 ; RV64V-NEXT: vmul.vv v4, v4, v2 ; RV64V-NEXT: vxor.vv v8, v8, v3 ; RV64V-NEXT: vxor.vv v8, v8, v9 ; RV64V-NEXT: vxor.vv v8, v8, v10 ; RV64V-NEXT: vxor.vv v8, v8, v11 ; RV64V-NEXT: vxor.vv v8, v8, v12 ; RV64V-NEXT: vxor.vv v8, v8, v13 ; RV64V-NEXT: vxor.vv v8, v8, v14 ; RV64V-NEXT: vxor.vv v9, v8, v15 ; RV64V-NEXT: vxor.vv v9, v9, v16 ; RV64V-NEXT: vxor.vv v9, v9, v17 ; RV64V-NEXT: vxor.vv v9, v9, v18 ; RV64V-NEXT: vxor.vv v9, v9, v19 ; RV64V-NEXT: vxor.vv v9, v9, v20 ; RV64V-NEXT: vxor.vv v9, v9, v21 ; RV64V-NEXT: vxor.vv v9, v9, v22 ; RV64V-NEXT: vxor.vv v9, v9, v23 ; RV64V-NEXT: vxor.vv v9, v9, v24 ; RV64V-NEXT: vxor.vv v9, v9, v25 ; RV64V-NEXT: vxor.vv v9, v9, v26 ; RV64V-NEXT: vxor.vv v9, v9, v27 ; RV64V-NEXT: vxor.vv v9, v9, v28 ; RV64V-NEXT: vxor.vv v9, v9, v29 ; RV64V-NEXT: vxor.vv v9, v9, v30 ; RV64V-NEXT: vxor.vv v10, v9, v31 ; RV64V-NEXT: vxor.vv v10, v10, v7 ; RV64V-NEXT: li a1, 56 ; RV64V-NEXT: vsll.vx v8, v8, a1 ; RV64V-NEXT: vand.vx v9, v9, t6 ; RV64V-NEXT: li a0, 40 ; RV64V-NEXT: vsll.vx v9, v9, a0 ; RV64V-NEXT: vor.vv v8, v8, v9 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a3, a2, 2 ; RV64V-NEXT: add a2, a3, a2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v9, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v10, v9 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a3, a2, 1 ; RV64V-NEXT: add a2, a3, a2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: addi a2, sp, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: vxor.vv v9, v9, v0 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 4 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a3, a2, 5 ; RV64V-NEXT: add a2, a3, a2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 5 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a3, a2, 5 ; RV64V-NEXT: sub a2, a3, a2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v9, v10 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v10, v11 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a3, a2, 4 ; RV64V-NEXT: add a2, a3, a2 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: vsrl.vi v12, v9, 8 ; RV64V-NEXT: vand.vx v12, v12, t5 ; RV64V-NEXT: vsrl.vi v10, v10, 24 ; RV64V-NEXT: lui a2, 4080 ; RV64V-NEXT: vand.vx v10, v10, a2 ; RV64V-NEXT: vor.vv v10, v12, v10 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 112 ; RV64V-NEXT: vl1r.v v12, (a3) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 112 ; RV64V-NEXT: vl1r.v v12, (a3) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 112 ; RV64V-NEXT: vl1r.v v12, (a3) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: slli a3, a3, 2 ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 3 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 112 ; RV64V-NEXT: vl1r.v v12, (a3) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: csrr a3, vlenb ; RV64V-NEXT: mv a4, a3 ; RV64V-NEXT: slli a3, a3, 1 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, a3, 4 ; RV64V-NEXT: add a3, a3, a4 ; RV64V-NEXT: add a3, sp, a3 ; RV64V-NEXT: addi a3, a3, 112 ; RV64V-NEXT: vl1r.v v12, (a3) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: vand.vx v9, v9, a2 ; RV64V-NEXT: vsll.vi v9, v9, 24 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v11, v12 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 3 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v13, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: vand.vx v13, v11, t5 ; RV64V-NEXT: vsll.vi v13, v13, 8 ; RV64V-NEXT: vor.vv v9, v9, v13 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v13, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: vor.vv v8, v8, v9 ; RV64V-NEXT: csrr a2, vlenb ; RV64V-NEXT: mv a3, a2 ; RV64V-NEXT: slli a2, a2, 1 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a3, a3, a2 ; RV64V-NEXT: slli a2, a2, 2 ; RV64V-NEXT: add a2, a2, a3 ; RV64V-NEXT: add a2, sp, a2 ; RV64V-NEXT: addi a2, a2, 112 ; RV64V-NEXT: vl1r.v v9, (a2) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v12, v9 ; RV64V-NEXT: vsrl.vx v11, v11, a0 ; RV64V-NEXT: vand.vx v11, v11, t6 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: mv a2, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a2, a2, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a2 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v12, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vxor.vv v9, v9, v12 ; RV64V-NEXT: vxor.vv v9, v9, v6 ; RV64V-NEXT: vxor.vv v9, v9, v5 ; RV64V-NEXT: vxor.vv v9, v9, v4 ; RV64V-NEXT: vsrl.vx v9, v9, a1 ; RV64V-NEXT: vor.vv v9, v11, v9 ; RV64V-NEXT: vor.vv v9, v10, v9 ; RV64V-NEXT: vor.vv v8, v8, v9 ; RV64V-NEXT: vsrl.vi v9, v8, 4 ; RV64V-NEXT: vand.vx v8, v8, s0 ; RV64V-NEXT: vand.vx v9, v9, s0 ; RV64V-NEXT: vsll.vi v8, v8, 4 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 2 ; RV64V-NEXT: vand.vx v8, v8, s1 ; RV64V-NEXT: vand.vx v9, v9, s1 ; RV64V-NEXT: vsll.vi v8, v8, 2 ; RV64V-NEXT: vor.vv v8, v9, v8 ; RV64V-NEXT: vsrl.vi v9, v8, 1 ; RV64V-NEXT: vand.vx v8, v8, s2 ; RV64V-NEXT: vand.vx v9, v9, s2 ; RV64V-NEXT: vadd.vv v8, v8, v8 ; RV64V-NEXT: vor.vv v9, v9, v8 ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add a0, sp, a0 ; RV64V-NEXT: addi a0, a0, 112 ; RV64V-NEXT: vl1r.v v8, (a0) # vscale x 8-byte Folded Reload ; RV64V-NEXT: vsrl.vi v8, v9, 1, v0.t ; RV64V-NEXT: csrr a0, vlenb ; RV64V-NEXT: mv a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 1 ; RV64V-NEXT: add a1, a1, a0 ; RV64V-NEXT: slli a0, a0, 2 ; RV64V-NEXT: add a0, a0, a1 ; RV64V-NEXT: add sp, sp, a0 ; RV64V-NEXT: .cfi_def_cfa sp, 224 ; RV64V-NEXT: ld ra, 216(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s0, 208(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s1, 200(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s2, 192(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s3, 184(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s4, 176(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s5, 168(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s6, 160(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s7, 152(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s8, 144(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s9, 136(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s10, 128(sp) # 8-byte Folded Reload ; RV64V-NEXT: ld s11, 120(sp) # 8-byte Folded Reload ; RV64V-NEXT: .cfi_restore ra ; RV64V-NEXT: .cfi_restore s0 ; RV64V-NEXT: .cfi_restore s1 ; RV64V-NEXT: .cfi_restore s2 ; RV64V-NEXT: .cfi_restore s3 ; RV64V-NEXT: .cfi_restore s4 ; RV64V-NEXT: .cfi_restore s5 ; RV64V-NEXT: .cfi_restore s6 ; RV64V-NEXT: .cfi_restore s7 ; RV64V-NEXT: .cfi_restore s8 ; RV64V-NEXT: .cfi_restore s9 ; RV64V-NEXT: .cfi_restore s10 ; RV64V-NEXT: .cfi_restore s11 ; RV64V-NEXT: addi sp, sp, 224 ; RV64V-NEXT: .cfi_def_cfa_offset 0 ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv1i64_vv_mask: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: vsetvli a0, zero, e64, m1, ta, mu ; RV32ZVBC64-NEXT: vclmulh.vv v8, v8, v9, v0.t ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv1i64_vv_mask: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a0, zero, e64, m1, ta, mu ; RV64ZVBC64-NEXT: vclmulh.vv v8, v8, v9, v0.t ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv1i64_vv_mask: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: addi sp, sp, -336 ; RV32ZVBC32-NEXT: .cfi_def_cfa_offset 336 ; RV32ZVBC32-NEXT: sw ra, 332(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s0, 328(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s1, 324(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s2, 320(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s3, 316(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s4, 312(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s5, 308(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s6, 304(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s7, 300(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s8, 296(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s9, 292(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s10, 288(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s11, 284(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: .cfi_offset ra, -4 ; RV32ZVBC32-NEXT: .cfi_offset s0, -8 ; RV32ZVBC32-NEXT: .cfi_offset s1, -12 ; RV32ZVBC32-NEXT: .cfi_offset s2, -16 ; RV32ZVBC32-NEXT: .cfi_offset s3, -20 ; RV32ZVBC32-NEXT: .cfi_offset s4, -24 ; RV32ZVBC32-NEXT: .cfi_offset s5, -28 ; RV32ZVBC32-NEXT: .cfi_offset s6, -32 ; RV32ZVBC32-NEXT: .cfi_offset s7, -36 ; RV32ZVBC32-NEXT: .cfi_offset s8, -40 ; RV32ZVBC32-NEXT: .cfi_offset s9, -44 ; RV32ZVBC32-NEXT: .cfi_offset s10, -48 ; RV32ZVBC32-NEXT: .cfi_offset s11, -52 ; RV32ZVBC32-NEXT: lui a0, 1044480 ; RV32ZVBC32-NEXT: lui t6, 524288 ; RV32ZVBC32-NEXT: li s11, 1 ; RV32ZVBC32-NEXT: li s6, 2 ; RV32ZVBC32-NEXT: li t5, 4 ; RV32ZVBC32-NEXT: li s8, 8 ; RV32ZVBC32-NEXT: li s10, 16 ; RV32ZVBC32-NEXT: li s9, 32 ; RV32ZVBC32-NEXT: li s1, 64 ; RV32ZVBC32-NEXT: li s2, 128 ; RV32ZVBC32-NEXT: li s3, 256 ; RV32ZVBC32-NEXT: li s4, 512 ; RV32ZVBC32-NEXT: li s5, 1024 ; RV32ZVBC32-NEXT: lui t4, 1 ; RV32ZVBC32-NEXT: lui t3, 2 ; RV32ZVBC32-NEXT: lui t2, 4 ; RV32ZVBC32-NEXT: lui t1, 8 ; RV32ZVBC32-NEXT: lui s0, 16 ; RV32ZVBC32-NEXT: lui t0, 32 ; RV32ZVBC32-NEXT: lui a7, 64 ; RV32ZVBC32-NEXT: lui a6, 128 ; RV32ZVBC32-NEXT: lui a5, 256 ; RV32ZVBC32-NEXT: lui a4, 512 ; RV32ZVBC32-NEXT: lui a3, 1024 ; RV32ZVBC32-NEXT: lui a2, 2048 ; RV32ZVBC32-NEXT: lui a1, 4096 ; RV32ZVBC32-NEXT: lui s7, 8192 ; RV32ZVBC32-NEXT: lui ra, 16384 ; RV32ZVBC32-NEXT: sw a0, 248(sp) ; RV32ZVBC32-NEXT: lui a0, 32768 ; RV32ZVBC32-NEXT: sw zero, 252(sp) ; RV32ZVBC32-NEXT: sw t6, 8(sp) ; RV32ZVBC32-NEXT: sw zero, 12(sp) ; RV32ZVBC32-NEXT: sw zero, 272(sp) ; RV32ZVBC32-NEXT: sw s11, 276(sp) ; RV32ZVBC32-NEXT: sw zero, 256(sp) ; RV32ZVBC32-NEXT: sw s6, 260(sp) ; RV32ZVBC32-NEXT: lui s6, 65536 ; RV32ZVBC32-NEXT: sw zero, 264(sp) ; RV32ZVBC32-NEXT: sw t5, 268(sp) ; RV32ZVBC32-NEXT: lui t5, 131072 ; RV32ZVBC32-NEXT: sw zero, 240(sp) ; RV32ZVBC32-NEXT: sw s8, 244(sp) ; RV32ZVBC32-NEXT: lui s8, 262144 ; RV32ZVBC32-NEXT: sw zero, 232(sp) ; RV32ZVBC32-NEXT: sw s10, 236(sp) ; RV32ZVBC32-NEXT: sw zero, 224(sp) ; RV32ZVBC32-NEXT: sw s9, 228(sp) ; RV32ZVBC32-NEXT: sw zero, 216(sp) ; RV32ZVBC32-NEXT: sw s1, 220(sp) ; RV32ZVBC32-NEXT: sw zero, 208(sp) ; RV32ZVBC32-NEXT: sw s2, 212(sp) ; RV32ZVBC32-NEXT: sw zero, 200(sp) ; RV32ZVBC32-NEXT: sw s3, 204(sp) ; RV32ZVBC32-NEXT: sw zero, 192(sp) ; RV32ZVBC32-NEXT: sw s4, 196(sp) ; RV32ZVBC32-NEXT: sw zero, 184(sp) ; RV32ZVBC32-NEXT: sw s5, 188(sp) ; RV32ZVBC32-NEXT: slli s11, s11, 11 ; RV32ZVBC32-NEXT: sw zero, 176(sp) ; RV32ZVBC32-NEXT: sw s11, 180(sp) ; RV32ZVBC32-NEXT: sw zero, 168(sp) ; RV32ZVBC32-NEXT: sw t4, 172(sp) ; RV32ZVBC32-NEXT: sw zero, 160(sp) ; RV32ZVBC32-NEXT: sw t3, 164(sp) ; RV32ZVBC32-NEXT: sw zero, 152(sp) ; RV32ZVBC32-NEXT: sw t2, 156(sp) ; RV32ZVBC32-NEXT: sw zero, 144(sp) ; RV32ZVBC32-NEXT: sw t1, 148(sp) ; RV32ZVBC32-NEXT: lui t2, 8 ; RV32ZVBC32-NEXT: sw zero, 136(sp) ; RV32ZVBC32-NEXT: sw s0, 140(sp) ; RV32ZVBC32-NEXT: sw zero, 128(sp) ; RV32ZVBC32-NEXT: sw t0, 132(sp) ; RV32ZVBC32-NEXT: sw zero, 120(sp) ; RV32ZVBC32-NEXT: sw a7, 124(sp) ; RV32ZVBC32-NEXT: sw zero, 112(sp) ; RV32ZVBC32-NEXT: sw a6, 116(sp) ; RV32ZVBC32-NEXT: sw zero, 104(sp) ; RV32ZVBC32-NEXT: sw a5, 108(sp) ; RV32ZVBC32-NEXT: lui t3, 256 ; RV32ZVBC32-NEXT: sw zero, 96(sp) ; RV32ZVBC32-NEXT: sw a4, 100(sp) ; RV32ZVBC32-NEXT: lui t4, 512 ; RV32ZVBC32-NEXT: sw zero, 88(sp) ; RV32ZVBC32-NEXT: sw a3, 92(sp) ; RV32ZVBC32-NEXT: lui a5, 1024 ; RV32ZVBC32-NEXT: sw zero, 80(sp) ; RV32ZVBC32-NEXT: sw a2, 84(sp) ; RV32ZVBC32-NEXT: lui a4, 2048 ; RV32ZVBC32-NEXT: sw zero, 72(sp) ; RV32ZVBC32-NEXT: sw a1, 76(sp) ; RV32ZVBC32-NEXT: lui a3, 4096 ; RV32ZVBC32-NEXT: sw zero, 64(sp) ; RV32ZVBC32-NEXT: sw s7, 68(sp) ; RV32ZVBC32-NEXT: lui t1, 8192 ; RV32ZVBC32-NEXT: sw zero, 56(sp) ; RV32ZVBC32-NEXT: sw ra, 60(sp) ; RV32ZVBC32-NEXT: sw zero, 48(sp) ; RV32ZVBC32-NEXT: sw a0, 52(sp) ; RV32ZVBC32-NEXT: lui s7, 32768 ; RV32ZVBC32-NEXT: sw zero, 40(sp) ; RV32ZVBC32-NEXT: sw s6, 44(sp) ; RV32ZVBC32-NEXT: sw zero, 32(sp) ; RV32ZVBC32-NEXT: sw t5, 36(sp) ; RV32ZVBC32-NEXT: sw zero, 24(sp) ; RV32ZVBC32-NEXT: sw s8, 28(sp) ; RV32ZVBC32-NEXT: sw zero, 16(sp) ; RV32ZVBC32-NEXT: sw t6, 20(sp) ; RV32ZVBC32-NEXT: lui a0, 61681 ; RV32ZVBC32-NEXT: addi a0, a0, -241 ; RV32ZVBC32-NEXT: vsetvli a1, zero, e32, m1, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v10, a0 ; RV32ZVBC32-NEXT: lui a0, 209715 ; RV32ZVBC32-NEXT: addi a0, a0, 819 ; RV32ZVBC32-NEXT: vmv.v.x v11, a0 ; RV32ZVBC32-NEXT: lui a0, 349525 ; RV32ZVBC32-NEXT: addi a0, a0, 1365 ; RV32ZVBC32-NEXT: vmv.v.x v12, a0 ; RV32ZVBC32-NEXT: addi a0, sp, 248 ; RV32ZVBC32-NEXT: vsetvli a1, zero, e64, m1, ta, mu ; RV32ZVBC32-NEXT: vlse64.v v13, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 8 ; RV32ZVBC32-NEXT: vlse64.v v6, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 272 ; RV32ZVBC32-NEXT: vlse64.v v7, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 256 ; RV32ZVBC32-NEXT: vlse64.v v31, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 264 ; RV32ZVBC32-NEXT: vlse64.v v30, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 240 ; RV32ZVBC32-NEXT: vlse64.v v29, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 232 ; RV32ZVBC32-NEXT: vlse64.v v28, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 224 ; RV32ZVBC32-NEXT: vlse64.v v27, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 216 ; RV32ZVBC32-NEXT: vlse64.v v22, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 208 ; RV32ZVBC32-NEXT: vlse64.v v19, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 200 ; RV32ZVBC32-NEXT: vlse64.v v18, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 192 ; RV32ZVBC32-NEXT: vlse64.v v23, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 184 ; RV32ZVBC32-NEXT: vlse64.v v16, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 176 ; RV32ZVBC32-NEXT: vlse64.v v14, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 168 ; RV32ZVBC32-NEXT: vlse64.v v15, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 160 ; RV32ZVBC32-NEXT: vlse64.v v17, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 152 ; RV32ZVBC32-NEXT: vlse64.v v20, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 144 ; RV32ZVBC32-NEXT: vlse64.v v25, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 136 ; RV32ZVBC32-NEXT: vlse64.v v21, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 128 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 120 ; RV32ZVBC32-NEXT: vlse64.v v26, (a0), zero ; RV32ZVBC32-NEXT: li ra, 56 ; RV32ZVBC32-NEXT: vsrl.vi v5, v9, 24 ; RV32ZVBC32-NEXT: vsrl.vi v4, v9, 8 ; RV32ZVBC32-NEXT: vsrl.vx v3, v9, ra ; RV32ZVBC32-NEXT: li a2, 40 ; RV32ZVBC32-NEXT: vsrl.vx v2, v9, a2 ; RV32ZVBC32-NEXT: lui a1, 4080 ; RV32ZVBC32-NEXT: vand.vx v5, v5, a1 ; RV32ZVBC32-NEXT: vsll.vx v1, v9, ra ; RV32ZVBC32-NEXT: addi a0, s0, -256 ; RV32ZVBC32-NEXT: vand.vx v2, v2, a0 ; RV32ZVBC32-NEXT: vor.vv v3, v2, v3 ; RV32ZVBC32-NEXT: vand.vx v2, v9, a0 ; RV32ZVBC32-NEXT: vsll.vx v2, v2, a2 ; RV32ZVBC32-NEXT: vor.vv v2, v1, v2 ; RV32ZVBC32-NEXT: vand.vx v1, v9, a1 ; RV32ZVBC32-NEXT: vsll.vi v1, v1, 24 ; RV32ZVBC32-NEXT: vand.vv v4, v4, v13 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v13 ; RV32ZVBC32-NEXT: vor.vv v5, v4, v5 ; RV32ZVBC32-NEXT: vsll.vi v9, v9, 8 ; RV32ZVBC32-NEXT: vor.vv v5, v5, v3 ; RV32ZVBC32-NEXT: vor.vv v9, v1, v9 ; RV32ZVBC32-NEXT: vor.vv v9, v2, v9 ; RV32ZVBC32-NEXT: vor.vv v9, v9, v5 ; RV32ZVBC32-NEXT: vsrl.vi v5, v9, 4 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v10 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v10 ; RV32ZVBC32-NEXT: vsll.vi v9, v9, 4 ; RV32ZVBC32-NEXT: vor.vv v9, v5, v9 ; RV32ZVBC32-NEXT: vsrl.vi v5, v9, 2 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v11 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v11 ; RV32ZVBC32-NEXT: vsll.vi v9, v9, 2 ; RV32ZVBC32-NEXT: vor.vv v9, v5, v9 ; RV32ZVBC32-NEXT: vsrl.vi v5, v9, 1 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v12 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v12 ; RV32ZVBC32-NEXT: vadd.vv v9, v9, v9 ; RV32ZVBC32-NEXT: vor.vv v9, v5, v9 ; RV32ZVBC32-NEXT: vand.vx v4, v9, s10 ; RV32ZVBC32-NEXT: vsrl.vi v5, v8, 24 ; RV32ZVBC32-NEXT: vsrl.vx v3, v8, ra ; RV32ZVBC32-NEXT: vsrl.vx v2, v8, a2 ; RV32ZVBC32-NEXT: vsll.vx v1, v8, ra ; RV32ZVBC32-NEXT: vand.vx v2, v2, a0 ; RV32ZVBC32-NEXT: vor.vv v3, v2, v3 ; RV32ZVBC32-NEXT: vand.vx v2, v8, a0 ; RV32ZVBC32-NEXT: vsll.vx v2, v2, a2 ; RV32ZVBC32-NEXT: vor.vv v2, v1, v2 ; RV32ZVBC32-NEXT: vsrl.vi v1, v8, 8 ; RV32ZVBC32-NEXT: vand.vx v5, v5, a1 ; RV32ZVBC32-NEXT: vand.vv v1, v1, v13 ; RV32ZVBC32-NEXT: vor.vv v5, v1, v5 ; RV32ZVBC32-NEXT: vand.vx v1, v8, a1 ; RV32ZVBC32-NEXT: vsll.vi v1, v1, 24 ; RV32ZVBC32-NEXT: vor.vv v5, v5, v3 ; RV32ZVBC32-NEXT: vand.vv v3, v8, v13 ; RV32ZVBC32-NEXT: vsll.vi v3, v3, 8 ; RV32ZVBC32-NEXT: vor.vv v3, v1, v3 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s9 ; RV32ZVBC32-NEXT: vor.vv v3, v2, v3 ; RV32ZVBC32-NEXT: vor.vv v5, v3, v5 ; RV32ZVBC32-NEXT: vsrl.vi v3, v5, 4 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v10 ; RV32ZVBC32-NEXT: vand.vv v3, v3, v10 ; RV32ZVBC32-NEXT: vsll.vi v5, v5, 4 ; RV32ZVBC32-NEXT: vor.vv v5, v3, v5 ; RV32ZVBC32-NEXT: vsrl.vi v3, v5, 2 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v11 ; RV32ZVBC32-NEXT: vand.vv v3, v3, v11 ; RV32ZVBC32-NEXT: vsll.vi v5, v5, 2 ; RV32ZVBC32-NEXT: vor.vv v5, v3, v5 ; RV32ZVBC32-NEXT: vsrl.vi v3, v5, 1 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v12 ; RV32ZVBC32-NEXT: vand.vv v3, v3, v12 ; RV32ZVBC32-NEXT: vadd.vv v5, v5, v5 ; RV32ZVBC32-NEXT: vor.vv v5, v3, v5 ; RV32ZVBC32-NEXT: vand.vi v3, v9, 2 ; RV32ZVBC32-NEXT: vand.vi v2, v9, 1 ; RV32ZVBC32-NEXT: vmul.vv v3, v5, v3 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v2, v3 ; RV32ZVBC32-NEXT: vand.vi v2, v9, 4 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vi v2, v9, 8 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, s1 ; RV32ZVBC32-NEXT: vmul.vv v4, v5, v4 ; RV32ZVBC32-NEXT: vxor.vv v4, v3, v4 ; RV32ZVBC32-NEXT: vand.vx v3, v9, s2 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v4, v4, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s3 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v4, v4, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, s4 ; RV32ZVBC32-NEXT: vmul.vv v3, v5, v3 ; RV32ZVBC32-NEXT: vxor.vv v4, v4, v3 ; RV32ZVBC32-NEXT: vand.vx v3, v9, s5 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v1, v4, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v1, v2 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s11 ; RV32ZVBC32-NEXT: vmul.vv v3, v5, v3 ; RV32ZVBC32-NEXT: vxor.vv v3, v2, v3 ; RV32ZVBC32-NEXT: lui t6, 1 ; RV32ZVBC32-NEXT: vand.vx v2, v9, t6 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: lui t6, 2 ; RV32ZVBC32-NEXT: vand.vx v1, v9, t6 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: lui t6, 4 ; RV32ZVBC32-NEXT: vand.vx v2, v9, t6 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, t2 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, s0 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, t0 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, a7 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, a6 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, t3 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, t4 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, a5 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, a4 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v9, a3 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, t1 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v3, v2 ; RV32ZVBC32-NEXT: vxor.vv v2, v2, v1 ; RV32ZVBC32-NEXT: lui a3, 16384 ; RV32ZVBC32-NEXT: vand.vx v1, v9, a3 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v2, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s7 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v2, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s6 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v2, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, t5 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v2, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v9, s8 ; RV32ZVBC32-NEXT: addi a3, sp, 112 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v1, v2, v1 ; RV32ZVBC32-NEXT: vlse64.v v2, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 104 ; RV32ZVBC32-NEXT: vand.vv v6, v9, v6 ; RV32ZVBC32-NEXT: vmul.vv v6, v5, v6 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v6 ; RV32ZVBC32-NEXT: vlse64.v v6, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 96 ; RV32ZVBC32-NEXT: vand.vv v7, v9, v7 ; RV32ZVBC32-NEXT: vmul.vv v7, v5, v7 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v7 ; RV32ZVBC32-NEXT: vlse64.v v7, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 88 ; RV32ZVBC32-NEXT: vand.vv v31, v9, v31 ; RV32ZVBC32-NEXT: vmul.vv v31, v5, v31 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v31 ; RV32ZVBC32-NEXT: vlse64.v v31, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 80 ; RV32ZVBC32-NEXT: vand.vv v30, v9, v30 ; RV32ZVBC32-NEXT: vmul.vv v30, v5, v30 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v30 ; RV32ZVBC32-NEXT: vlse64.v v30, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 72 ; RV32ZVBC32-NEXT: vand.vv v29, v9, v29 ; RV32ZVBC32-NEXT: vmul.vv v29, v5, v29 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v29 ; RV32ZVBC32-NEXT: vlse64.v v29, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 64 ; RV32ZVBC32-NEXT: vand.vv v28, v9, v28 ; RV32ZVBC32-NEXT: vmul.vv v28, v5, v28 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v28 ; RV32ZVBC32-NEXT: vlse64.v v28, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 56 ; RV32ZVBC32-NEXT: vand.vv v27, v9, v27 ; RV32ZVBC32-NEXT: vmul.vv v27, v5, v27 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v27 ; RV32ZVBC32-NEXT: vlse64.v v27, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 48 ; RV32ZVBC32-NEXT: vand.vv v22, v9, v22 ; RV32ZVBC32-NEXT: vmul.vv v22, v5, v22 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v22 ; RV32ZVBC32-NEXT: vlse64.v v22, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 40 ; RV32ZVBC32-NEXT: vand.vv v19, v9, v19 ; RV32ZVBC32-NEXT: vmul.vv v19, v5, v19 ; RV32ZVBC32-NEXT: vxor.vv v19, v1, v19 ; RV32ZVBC32-NEXT: vlse64.v v1, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 32 ; RV32ZVBC32-NEXT: vand.vv v18, v9, v18 ; RV32ZVBC32-NEXT: vand.vv v23, v9, v23 ; RV32ZVBC32-NEXT: vmul.vv v18, v5, v18 ; RV32ZVBC32-NEXT: vmul.vv v23, v5, v23 ; RV32ZVBC32-NEXT: vxor.vv v18, v19, v18 ; RV32ZVBC32-NEXT: vxor.vv v23, v18, v23 ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 24 ; RV32ZVBC32-NEXT: vand.vv v16, v9, v16 ; RV32ZVBC32-NEXT: vmul.vv v16, v5, v16 ; RV32ZVBC32-NEXT: vxor.vv v16, v23, v16 ; RV32ZVBC32-NEXT: vlse64.v v23, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 16 ; RV32ZVBC32-NEXT: vand.vv v14, v9, v14 ; RV32ZVBC32-NEXT: vmul.vv v14, v5, v14 ; RV32ZVBC32-NEXT: vxor.vv v14, v16, v14 ; RV32ZVBC32-NEXT: vlse64.v v16, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v15, v9, v15 ; RV32ZVBC32-NEXT: vmul.vv v15, v5, v15 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v15 ; RV32ZVBC32-NEXT: vand.vv v15, v9, v17 ; RV32ZVBC32-NEXT: vmul.vv v15, v5, v15 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v15 ; RV32ZVBC32-NEXT: vand.vv v15, v9, v20 ; RV32ZVBC32-NEXT: vand.vv v17, v9, v25 ; RV32ZVBC32-NEXT: vmul.vv v15, v5, v15 ; RV32ZVBC32-NEXT: vmul.vv v17, v5, v17 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v15 ; RV32ZVBC32-NEXT: vand.vx v15, v19, a1 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v17 ; RV32ZVBC32-NEXT: vsrl.vi v17, v14, 24 ; RV32ZVBC32-NEXT: vand.vx v17, v17, a1 ; RV32ZVBC32-NEXT: vand.vv v20, v9, v21 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v9, v24 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v9, v26 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v9, v2 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v9, v6 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v9, v7 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v9, v31 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v9, v30 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vand.vx v21, v3, a0 ; RV32ZVBC32-NEXT: vsll.vx v21, v21, a2 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vsrl.vx v20, v14, a2 ; RV32ZVBC32-NEXT: vand.vx v20, v20, a0 ; RV32ZVBC32-NEXT: vand.vv v24, v9, v29 ; RV32ZVBC32-NEXT: vand.vv v25, v9, v28 ; RV32ZVBC32-NEXT: vand.vv v26, v9, v27 ; RV32ZVBC32-NEXT: vand.vv v22, v9, v22 ; RV32ZVBC32-NEXT: vand.vv v27, v9, v1 ; RV32ZVBC32-NEXT: vand.vv v18, v9, v18 ; RV32ZVBC32-NEXT: vand.vv v23, v9, v23 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v16 ; RV32ZVBC32-NEXT: vmul.vv v16, v5, v24 ; RV32ZVBC32-NEXT: vmul.vv v24, v5, v25 ; RV32ZVBC32-NEXT: vmul.vv v25, v5, v26 ; RV32ZVBC32-NEXT: vmul.vv v22, v5, v22 ; RV32ZVBC32-NEXT: vmul.vv v26, v5, v27 ; RV32ZVBC32-NEXT: vmul.vv v18, v5, v18 ; RV32ZVBC32-NEXT: vmul.vv v23, v5, v23 ; RV32ZVBC32-NEXT: vmul.vv v9, v5, v9 ; RV32ZVBC32-NEXT: vxor.vv v16, v14, v16 ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v25 ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v22 ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v26 ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v23 ; RV32ZVBC32-NEXT: vxor.vv v9, v16, v9 ; RV32ZVBC32-NEXT: vsll.vx v16, v4, ra ; RV32ZVBC32-NEXT: vsrl.vx v9, v9, ra ; RV32ZVBC32-NEXT: vor.vv v16, v16, v21 ; RV32ZVBC32-NEXT: vsrl.vi v18, v19, 8 ; RV32ZVBC32-NEXT: vsll.vi v15, v15, 24 ; RV32ZVBC32-NEXT: vand.vv v18, v18, v13 ; RV32ZVBC32-NEXT: vor.vv v17, v18, v17 ; RV32ZVBC32-NEXT: vand.vv v13, v14, v13 ; RV32ZVBC32-NEXT: vsll.vi v13, v13, 8 ; RV32ZVBC32-NEXT: vor.vv v13, v15, v13 ; RV32ZVBC32-NEXT: vor.vv v13, v16, v13 ; RV32ZVBC32-NEXT: vor.vv v9, v20, v9 ; RV32ZVBC32-NEXT: vor.vv v9, v17, v9 ; RV32ZVBC32-NEXT: vor.vv v9, v13, v9 ; RV32ZVBC32-NEXT: vsrl.vi v13, v9, 4 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v10 ; RV32ZVBC32-NEXT: vand.vv v10, v13, v10 ; RV32ZVBC32-NEXT: vsll.vi v9, v9, 4 ; RV32ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV32ZVBC32-NEXT: vsrl.vi v10, v9, 2 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v11 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v11 ; RV32ZVBC32-NEXT: vsll.vi v9, v9, 2 ; RV32ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV32ZVBC32-NEXT: vsrl.vi v10, v9, 1 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v12 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v12 ; RV32ZVBC32-NEXT: vadd.vv v9, v9, v9 ; RV32ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV32ZVBC32-NEXT: vsrl.vi v8, v9, 1, v0.t ; RV32ZVBC32-NEXT: lw ra, 332(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s0, 328(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s1, 324(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s2, 320(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s3, 316(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s4, 312(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s5, 308(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s6, 304(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s7, 300(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s8, 296(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s9, 292(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s10, 288(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s11, 284(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: .cfi_restore ra ; RV32ZVBC32-NEXT: .cfi_restore s0 ; RV32ZVBC32-NEXT: .cfi_restore s1 ; RV32ZVBC32-NEXT: .cfi_restore s2 ; RV32ZVBC32-NEXT: .cfi_restore s3 ; RV32ZVBC32-NEXT: .cfi_restore s4 ; RV32ZVBC32-NEXT: .cfi_restore s5 ; RV32ZVBC32-NEXT: .cfi_restore s6 ; RV32ZVBC32-NEXT: .cfi_restore s7 ; RV32ZVBC32-NEXT: .cfi_restore s8 ; RV32ZVBC32-NEXT: .cfi_restore s9 ; RV32ZVBC32-NEXT: .cfi_restore s10 ; RV32ZVBC32-NEXT: .cfi_restore s11 ; RV32ZVBC32-NEXT: addi sp, sp, 336 ; RV32ZVBC32-NEXT: .cfi_def_cfa_offset 0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv1i64_vv_mask: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: addi sp, sp, -224 ; RV64ZVBC32-NEXT: .cfi_def_cfa_offset 224 ; RV64ZVBC32-NEXT: sd ra, 216(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s0, 208(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s1, 200(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s2, 192(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s3, 184(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s4, 176(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s5, 168(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s6, 160(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s7, 152(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s8, 144(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s9, 136(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s10, 128(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: sd s11, 120(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: .cfi_offset ra, -8 ; RV64ZVBC32-NEXT: .cfi_offset s0, -16 ; RV64ZVBC32-NEXT: .cfi_offset s1, -24 ; RV64ZVBC32-NEXT: .cfi_offset s2, -32 ; RV64ZVBC32-NEXT: .cfi_offset s3, -40 ; RV64ZVBC32-NEXT: .cfi_offset s4, -48 ; RV64ZVBC32-NEXT: .cfi_offset s5, -56 ; RV64ZVBC32-NEXT: .cfi_offset s6, -64 ; RV64ZVBC32-NEXT: .cfi_offset s7, -72 ; RV64ZVBC32-NEXT: .cfi_offset s8, -80 ; RV64ZVBC32-NEXT: .cfi_offset s9, -88 ; RV64ZVBC32-NEXT: .cfi_offset s10, -96 ; RV64ZVBC32-NEXT: .cfi_offset s11, -104 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: sub sp, sp, a0 ; RV64ZVBC32-NEXT: .cfi_escape 0x0f, 0x0e, 0x72, 0x00, 0x11, 0xe0, 0x01, 0x22, 0x11, 0x2f, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 224 + 47 * vlenb ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v0, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vsetvli a0, zero, e64, m1, ta, mu ; RV64ZVBC32-NEXT: vmv1r.v v18, v8 ; RV64ZVBC32-NEXT: li a3, 56 ; RV64ZVBC32-NEXT: lui a2, 16 ; RV64ZVBC32-NEXT: vsrl.vi v16, v8, 24 ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 8 ; RV64ZVBC32-NEXT: li t5, 255 ; RV64ZVBC32-NEXT: lui a0, 61681 ; RV64ZVBC32-NEXT: lui a1, 209715 ; RV64ZVBC32-NEXT: lui a5, 349525 ; RV64ZVBC32-NEXT: vsrl.vi v12, v9, 24 ; RV64ZVBC32-NEXT: vsrl.vi v11, v9, 8 ; RV64ZVBC32-NEXT: li ra, 16 ; RV64ZVBC32-NEXT: li s11, 32 ; RV64ZVBC32-NEXT: li s10, 64 ; RV64ZVBC32-NEXT: li s8, 128 ; RV64ZVBC32-NEXT: li s9, 256 ; RV64ZVBC32-NEXT: li s7, 512 ; RV64ZVBC32-NEXT: li s6, 1024 ; RV64ZVBC32-NEXT: li t0, 1 ; RV64ZVBC32-NEXT: lui s5, 1 ; RV64ZVBC32-NEXT: lui a6, 2 ; RV64ZVBC32-NEXT: lui a7, 4 ; RV64ZVBC32-NEXT: lui t1, 8 ; RV64ZVBC32-NEXT: lui t2, 32 ; RV64ZVBC32-NEXT: lui t3, 64 ; RV64ZVBC32-NEXT: lui t4, 128 ; RV64ZVBC32-NEXT: lui s3, 256 ; RV64ZVBC32-NEXT: lui s4, 512 ; RV64ZVBC32-NEXT: addi s0, a0, -241 ; RV64ZVBC32-NEXT: addi s1, a1, 819 ; RV64ZVBC32-NEXT: addi s2, a5, 1365 ; RV64ZVBC32-NEXT: slli a0, s0, 32 ; RV64ZVBC32-NEXT: add s0, s0, a0 ; RV64ZVBC32-NEXT: slli a0, s1, 32 ; RV64ZVBC32-NEXT: add s1, s1, a0 ; RV64ZVBC32-NEXT: slli a0, s2, 32 ; RV64ZVBC32-NEXT: add s2, s2, a0 ; RV64ZVBC32-NEXT: addi t6, a2, -256 ; RV64ZVBC32-NEXT: slli t5, t5, 24 ; RV64ZVBC32-NEXT: vsrl.vx v8, v9, a3 ; RV64ZVBC32-NEXT: li a0, 40 ; RV64ZVBC32-NEXT: vsrl.vx v13, v9, a0 ; RV64ZVBC32-NEXT: lui a1, 4080 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a1 ; RV64ZVBC32-NEXT: vand.vx v14, v9, a1 ; RV64ZVBC32-NEXT: vsll.vx v15, v9, a3 ; RV64ZVBC32-NEXT: vand.vx v13, v13, t6 ; RV64ZVBC32-NEXT: vand.vx v11, v11, t5 ; RV64ZVBC32-NEXT: vsll.vi v14, v14, 24 ; RV64ZVBC32-NEXT: vand.vx v17, v9, t5 ; RV64ZVBC32-NEXT: vand.vx v9, v9, t6 ; RV64ZVBC32-NEXT: vor.vv v8, v13, v8 ; RV64ZVBC32-NEXT: vor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: vsll.vi v12, v17, 8 ; RV64ZVBC32-NEXT: vsll.vx v9, v9, a0 ; RV64ZVBC32-NEXT: li a4, 40 ; RV64ZVBC32-NEXT: vor.vv v8, v11, v8 ; RV64ZVBC32-NEXT: vor.vv v11, v14, v12 ; RV64ZVBC32-NEXT: vor.vv v9, v15, v9 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v11 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, s0 ; RV64ZVBC32-NEXT: vand.vx v9, v9, s0 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, s1 ; RV64ZVBC32-NEXT: vand.vx v9, v9, s1 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, s2 ; RV64ZVBC32-NEXT: vand.vx v9, v9, s2 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v11, v9, v8 ; RV64ZVBC32-NEXT: vand.vx v13, v11, ra ; RV64ZVBC32-NEXT: lui a0, 4096 ; RV64ZVBC32-NEXT: vand.vx v14, v11, s11 ; RV64ZVBC32-NEXT: lui a1, 8192 ; RV64ZVBC32-NEXT: vand.vx v15, v11, s10 ; RV64ZVBC32-NEXT: lui a3, 16384 ; RV64ZVBC32-NEXT: vand.vx v17, v11, s8 ; RV64ZVBC32-NEXT: lui s8, 32768 ; RV64ZVBC32-NEXT: vand.vx v19, v11, s9 ; RV64ZVBC32-NEXT: lui s9, 65536 ; RV64ZVBC32-NEXT: vand.vx v20, v11, s7 ; RV64ZVBC32-NEXT: lui s11, 131072 ; RV64ZVBC32-NEXT: vand.vx v21, v11, s6 ; RV64ZVBC32-NEXT: slli a5, t0, 11 ; RV64ZVBC32-NEXT: vand.vx v22, v11, a5 ; RV64ZVBC32-NEXT: lui ra, 262144 ; RV64ZVBC32-NEXT: li a5, 56 ; RV64ZVBC32-NEXT: vsrl.vx v5, v18, a5 ; RV64ZVBC32-NEXT: vsrl.vx v1, v18, a4 ; RV64ZVBC32-NEXT: lui s6, 4080 ; RV64ZVBC32-NEXT: vand.vx v2, v16, s6 ; RV64ZVBC32-NEXT: vand.vx v8, v18, s6 ; RV64ZVBC32-NEXT: vsll.vx v4, v18, a5 ; RV64ZVBC32-NEXT: vand.vx v23, v11, s5 ; RV64ZVBC32-NEXT: slli s10, t0, 31 ; RV64ZVBC32-NEXT: vand.vx v24, v11, a6 ; RV64ZVBC32-NEXT: slli a5, t0, 32 ; RV64ZVBC32-NEXT: sd a5, 96(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v25, v11, a7 ; RV64ZVBC32-NEXT: slli a5, t0, 33 ; RV64ZVBC32-NEXT: sd a5, 88(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v26, v11, t1 ; RV64ZVBC32-NEXT: slli a5, t0, 34 ; RV64ZVBC32-NEXT: sd a5, 80(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v27, v11, a2 ; RV64ZVBC32-NEXT: slli a2, t0, 35 ; RV64ZVBC32-NEXT: sd a2, 72(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v28, v11, t2 ; RV64ZVBC32-NEXT: slli a2, t0, 36 ; RV64ZVBC32-NEXT: sd a2, 64(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v29, v11, t3 ; RV64ZVBC32-NEXT: slli a2, t0, 37 ; RV64ZVBC32-NEXT: sd a2, 56(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v30, v11, t4 ; RV64ZVBC32-NEXT: slli a2, t0, 38 ; RV64ZVBC32-NEXT: sd a2, 48(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v31, v11, s3 ; RV64ZVBC32-NEXT: slli a2, t0, 39 ; RV64ZVBC32-NEXT: sd a2, 40(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v7, v11, s4 ; RV64ZVBC32-NEXT: slli a2, t0, 40 ; RV64ZVBC32-NEXT: sd a2, 32(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: lui a2, 1024 ; RV64ZVBC32-NEXT: vand.vx v9, v11, a2 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: mv a5, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a5, a5, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a5 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vs1r.v v9, (a2) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli a2, t0, 41 ; RV64ZVBC32-NEXT: sd a2, 24(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: lui a2, 2048 ; RV64ZVBC32-NEXT: vand.vx v9, v11, a2 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a5, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a5, a5, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a5, a5, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a5 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vs1r.v v9, (a2) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s4, t0, 42 ; RV64ZVBC32-NEXT: vand.vx v9, v11, a0 ; RV64ZVBC32-NEXT: sd s4, 8(sp) # 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a2, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a2, a2, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a2 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s5, t0, 43 ; RV64ZVBC32-NEXT: vand.vx v9, v11, a1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s6, t0, 44 ; RV64ZVBC32-NEXT: vand.vx v9, v11, a3 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v9, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s7, t0, 45 ; RV64ZVBC32-NEXT: vand.vx v9, v1, t6 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v5 ; RV64ZVBC32-NEXT: vand.vx v12, v11, s8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s8, t0, 46 ; RV64ZVBC32-NEXT: vand.vx v10, v10, t5 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v2 ; RV64ZVBC32-NEXT: vand.vx v12, v11, s9 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s9, t0, 47 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 24 ; RV64ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v18, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v10, v18, t5 ; RV64ZVBC32-NEXT: vsll.vi v10, v10, 8 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v10 ; RV64ZVBC32-NEXT: vand.vx v10, v18, t6 ; RV64ZVBC32-NEXT: vsll.vx v10, v10, a4 ; RV64ZVBC32-NEXT: vor.vv v10, v4, v10 ; RV64ZVBC32-NEXT: vand.vx v12, v11, s11 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v12, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli s11, t0, 48 ; RV64ZVBC32-NEXT: vor.vv v8, v10, v8 ; RV64ZVBC32-NEXT: vand.vx v10, v11, ra ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v10, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli ra, t0, 49 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v9 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, s0 ; RV64ZVBC32-NEXT: vand.vx v9, v9, s0 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, s1 ; RV64ZVBC32-NEXT: vand.vx v9, v9, s1 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, s2 ; RV64ZVBC32-NEXT: vand.vx v9, v9, s2 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v4, v9, v8 ; RV64ZVBC32-NEXT: vand.vx v8, v11, s10 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: slli t4, t0, 50 ; RV64ZVBC32-NEXT: slli t3, t0, 51 ; RV64ZVBC32-NEXT: slli t2, t0, 52 ; RV64ZVBC32-NEXT: slli s10, t0, 53 ; RV64ZVBC32-NEXT: slli t1, t0, 54 ; RV64ZVBC32-NEXT: slli a7, t0, 55 ; RV64ZVBC32-NEXT: slli a6, t0, 56 ; RV64ZVBC32-NEXT: slli a5, t0, 57 ; RV64ZVBC32-NEXT: slli a4, t0, 58 ; RV64ZVBC32-NEXT: slli a2, t0, 59 ; RV64ZVBC32-NEXT: slli a1, t0, 60 ; RV64ZVBC32-NEXT: slli a3, t0, 61 ; RV64ZVBC32-NEXT: slli t0, t0, 62 ; RV64ZVBC32-NEXT: li a0, -1 ; RV64ZVBC32-NEXT: slli a0, a0, 63 ; RV64ZVBC32-NEXT: ld s3, 96(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v11, s3 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 4 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s3, 88(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v11, s3 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: slli s4, s3, 5 ; RV64ZVBC32-NEXT: add s3, s4, s3 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s3, 80(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v11, s3 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: slli s3, s3, 5 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s3, 72(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v11, s3 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: slli s4, s3, 5 ; RV64ZVBC32-NEXT: sub s3, s4, s3 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s3, 64(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v11, s3 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s3, 56(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v11, s3 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 2 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s3, 48(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v11, s3 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: slli s3, s3, 2 ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s3, 40(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v11, s3 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 2 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s3, 32(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v11, s3 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 2 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: ld s3, 24(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: vand.vx v8, v11, s3 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 3 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: ld s4, 8(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, s4 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: slli s3, s3, 3 ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, s5 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 2 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, s6 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 2 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, s7 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 2 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 2 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, s8 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: slli s3, s3, 2 ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 2 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, s9 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: add s4, s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 3 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, s11 ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: slli s3, s3, 1 ; RV64ZVBC32-NEXT: mv s4, s3 ; RV64ZVBC32-NEXT: slli s3, s3, 3 ; RV64ZVBC32-NEXT: add s3, s3, s4 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, ra ; RV64ZVBC32-NEXT: csrr s3, vlenb ; RV64ZVBC32-NEXT: slli s4, s3, 4 ; RV64ZVBC32-NEXT: add s3, s4, s3 ; RV64ZVBC32-NEXT: add s3, sp, s3 ; RV64ZVBC32-NEXT: addi s3, s3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (s3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, t4 ; RV64ZVBC32-NEXT: csrr t4, vlenb ; RV64ZVBC32-NEXT: slli t4, t4, 4 ; RV64ZVBC32-NEXT: add t4, sp, t4 ; RV64ZVBC32-NEXT: addi t4, t4, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (t4) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, t3 ; RV64ZVBC32-NEXT: csrr t3, vlenb ; RV64ZVBC32-NEXT: slli t4, t3, 4 ; RV64ZVBC32-NEXT: sub t3, t4, t3 ; RV64ZVBC32-NEXT: add t3, sp, t3 ; RV64ZVBC32-NEXT: addi t3, t3, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (t3) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, t2 ; RV64ZVBC32-NEXT: csrr t2, vlenb ; RV64ZVBC32-NEXT: slli t2, t2, 1 ; RV64ZVBC32-NEXT: mv t3, t2 ; RV64ZVBC32-NEXT: slli t2, t2, 1 ; RV64ZVBC32-NEXT: add t3, t3, t2 ; RV64ZVBC32-NEXT: slli t2, t2, 1 ; RV64ZVBC32-NEXT: add t2, t2, t3 ; RV64ZVBC32-NEXT: add t2, sp, t2 ; RV64ZVBC32-NEXT: addi t2, t2, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (t2) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, s10 ; RV64ZVBC32-NEXT: csrr t2, vlenb ; RV64ZVBC32-NEXT: mv t3, t2 ; RV64ZVBC32-NEXT: slli t2, t2, 2 ; RV64ZVBC32-NEXT: add t3, t3, t2 ; RV64ZVBC32-NEXT: slli t2, t2, 1 ; RV64ZVBC32-NEXT: add t2, t2, t3 ; RV64ZVBC32-NEXT: add t2, sp, t2 ; RV64ZVBC32-NEXT: addi t2, t2, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (t2) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, t1 ; RV64ZVBC32-NEXT: csrr t1, vlenb ; RV64ZVBC32-NEXT: slli t1, t1, 2 ; RV64ZVBC32-NEXT: mv t2, t1 ; RV64ZVBC32-NEXT: slli t1, t1, 1 ; RV64ZVBC32-NEXT: add t1, t1, t2 ; RV64ZVBC32-NEXT: add t1, sp, t1 ; RV64ZVBC32-NEXT: addi t1, t1, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (t1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, a7 ; RV64ZVBC32-NEXT: csrr a7, vlenb ; RV64ZVBC32-NEXT: mv t1, a7 ; RV64ZVBC32-NEXT: slli a7, a7, 1 ; RV64ZVBC32-NEXT: add t1, t1, a7 ; RV64ZVBC32-NEXT: slli a7, a7, 2 ; RV64ZVBC32-NEXT: add a7, a7, t1 ; RV64ZVBC32-NEXT: add a7, sp, a7 ; RV64ZVBC32-NEXT: addi a7, a7, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (a7) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, a6 ; RV64ZVBC32-NEXT: csrr a6, vlenb ; RV64ZVBC32-NEXT: slli a6, a6, 1 ; RV64ZVBC32-NEXT: mv a7, a6 ; RV64ZVBC32-NEXT: slli a6, a6, 2 ; RV64ZVBC32-NEXT: add a6, a6, a7 ; RV64ZVBC32-NEXT: add a6, sp, a6 ; RV64ZVBC32-NEXT: addi a6, a6, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (a6) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, a5 ; RV64ZVBC32-NEXT: csrr a5, vlenb ; RV64ZVBC32-NEXT: slli a6, a5, 3 ; RV64ZVBC32-NEXT: add a5, a6, a5 ; RV64ZVBC32-NEXT: add a5, sp, a5 ; RV64ZVBC32-NEXT: addi a5, a5, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (a5) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, a4 ; RV64ZVBC32-NEXT: csrr a4, vlenb ; RV64ZVBC32-NEXT: slli a4, a4, 3 ; RV64ZVBC32-NEXT: add a4, sp, a4 ; RV64ZVBC32-NEXT: addi a4, a4, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (a4) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, a2 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a4, a2, 3 ; RV64ZVBC32-NEXT: sub a2, a4, a2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (a2) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vx v8, v11, a1 ; RV64ZVBC32-NEXT: csrr a1, vlenb ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: mv a2, a1 ; RV64ZVBC32-NEXT: slli a1, a1, 1 ; RV64ZVBC32-NEXT: add a1, a1, a2 ; RV64ZVBC32-NEXT: add a1, sp, a1 ; RV64ZVBC32-NEXT: addi a1, a1, 112 ; RV64ZVBC32-NEXT: vs1r.v v8, (a1) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vand.vi v8, v11, 2 ; RV64ZVBC32-NEXT: vand.vi v9, v11, 1 ; RV64ZVBC32-NEXT: vand.vi v10, v11, 4 ; RV64ZVBC32-NEXT: vand.vi v12, v11, 8 ; RV64ZVBC32-NEXT: vand.vx v6, v11, a3 ; RV64ZVBC32-NEXT: vand.vx v5, v11, t0 ; RV64ZVBC32-NEXT: vand.vx v2, v11, a0 ; RV64ZVBC32-NEXT: vmul.vv v3, v4, v8 ; RV64ZVBC32-NEXT: vmul.vv v8, v4, v9 ; RV64ZVBC32-NEXT: vmul.vv v9, v4, v10 ; RV64ZVBC32-NEXT: vmul.vv v10, v4, v12 ; RV64ZVBC32-NEXT: vmul.vv v11, v4, v13 ; RV64ZVBC32-NEXT: vmul.vv v12, v4, v14 ; RV64ZVBC32-NEXT: vmul.vv v13, v4, v15 ; RV64ZVBC32-NEXT: vmul.vv v14, v4, v17 ; RV64ZVBC32-NEXT: vmul.vv v15, v4, v19 ; RV64ZVBC32-NEXT: vmul.vv v16, v4, v20 ; RV64ZVBC32-NEXT: vmul.vv v17, v4, v21 ; RV64ZVBC32-NEXT: vmul.vv v18, v4, v22 ; RV64ZVBC32-NEXT: vmul.vv v19, v4, v23 ; RV64ZVBC32-NEXT: vmul.vv v20, v4, v24 ; RV64ZVBC32-NEXT: vmul.vv v21, v4, v25 ; RV64ZVBC32-NEXT: vmul.vv v22, v4, v26 ; RV64ZVBC32-NEXT: vmul.vv v23, v4, v27 ; RV64ZVBC32-NEXT: vmul.vv v24, v4, v28 ; RV64ZVBC32-NEXT: vmul.vv v25, v4, v29 ; RV64ZVBC32-NEXT: vmul.vv v26, v4, v30 ; RV64ZVBC32-NEXT: vmul.vv v27, v4, v31 ; RV64ZVBC32-NEXT: vmul.vv v28, v4, v7 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v29, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v29, v4, v29 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v30, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v30, v4, v30 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v31, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v31, v4, v31 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v7, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v7, v4, v7 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 2 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 1 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v0 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v0 ; RV64ZVBC32-NEXT: addi a0, sp, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v0, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 5 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 5 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 5 ; RV64ZVBC32-NEXT: sub a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 5 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 5 ; RV64ZVBC32-NEXT: sub a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 4 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 4 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 4 ; RV64ZVBC32-NEXT: sub a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 4 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 3 ; RV64ZVBC32-NEXT: add a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 3 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a1, a0, 3 ; RV64ZVBC32-NEXT: sub a0, a1, a0 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v1, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vmul.vv v1, v4, v1 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vs1r.v v1, (a0) # vscale x 8-byte Folded Spill ; RV64ZVBC32-NEXT: vmul.vv v6, v4, v6 ; RV64ZVBC32-NEXT: vmul.vv v5, v4, v5 ; RV64ZVBC32-NEXT: vmul.vv v4, v4, v2 ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v3 ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v9 ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v10 ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v11 ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v12 ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v13 ; RV64ZVBC32-NEXT: vxor.vv v8, v8, v14 ; RV64ZVBC32-NEXT: vxor.vv v9, v8, v15 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v16 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v17 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v18 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v19 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v20 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v21 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v22 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v23 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v24 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v25 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v26 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v27 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v28 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v29 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v30 ; RV64ZVBC32-NEXT: vxor.vv v10, v9, v31 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v7 ; RV64ZVBC32-NEXT: li a1, 56 ; RV64ZVBC32-NEXT: vsll.vx v8, v8, a1 ; RV64ZVBC32-NEXT: vand.vx v9, v9, t6 ; RV64ZVBC32-NEXT: li a0, 40 ; RV64ZVBC32-NEXT: vsll.vx v9, v9, a0 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v9 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a3, a2, 2 ; RV64ZVBC32-NEXT: add a2, a3, a2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v9, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a3, a2, 1 ; RV64ZVBC32-NEXT: add a2, a3, a2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: addi a2, sp, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v0 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 4 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a3, a2, 5 ; RV64ZVBC32-NEXT: add a2, a3, a2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 5 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a3, a2, 5 ; RV64ZVBC32-NEXT: sub a2, a3, a2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v10, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v9, v10 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v11, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v10, v11 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a3, a2, 4 ; RV64ZVBC32-NEXT: add a2, a3, a2 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: vsrl.vi v12, v9, 8 ; RV64ZVBC32-NEXT: vand.vx v12, v12, t5 ; RV64ZVBC32-NEXT: vsrl.vi v10, v10, 24 ; RV64ZVBC32-NEXT: lui a2, 4080 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a2 ; RV64ZVBC32-NEXT: vor.vv v10, v12, v10 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 112 ; RV64ZVBC32-NEXT: vl1r.v v12, (a3) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 112 ; RV64ZVBC32-NEXT: vl1r.v v12, (a3) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 112 ; RV64ZVBC32-NEXT: vl1r.v v12, (a3) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: slli a3, a3, 2 ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 3 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 112 ; RV64ZVBC32-NEXT: vl1r.v v12, (a3) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: csrr a3, vlenb ; RV64ZVBC32-NEXT: mv a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 1 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, a3, 4 ; RV64ZVBC32-NEXT: add a3, a3, a4 ; RV64ZVBC32-NEXT: add a3, sp, a3 ; RV64ZVBC32-NEXT: addi a3, a3, 112 ; RV64ZVBC32-NEXT: vl1r.v v12, (a3) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a2 ; RV64ZVBC32-NEXT: vsll.vi v9, v9, 24 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v12, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v11, v12 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 3 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v13, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: vand.vx v13, v11, t5 ; RV64ZVBC32-NEXT: vsll.vi v13, v13, 8 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v13 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v13, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v9 ; RV64ZVBC32-NEXT: csrr a2, vlenb ; RV64ZVBC32-NEXT: mv a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 1 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a3, a3, a2 ; RV64ZVBC32-NEXT: slli a2, a2, 2 ; RV64ZVBC32-NEXT: add a2, a2, a3 ; RV64ZVBC32-NEXT: add a2, sp, a2 ; RV64ZVBC32-NEXT: addi a2, a2, 112 ; RV64ZVBC32-NEXT: vl1r.v v9, (a2) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v12, v9 ; RV64ZVBC32-NEXT: vsrl.vx v11, v11, a0 ; RV64ZVBC32-NEXT: vand.vx v11, v11, t6 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: mv a2, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a2, a2, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a2 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v12, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v12 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v6 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v5 ; RV64ZVBC32-NEXT: vxor.vv v9, v9, v4 ; RV64ZVBC32-NEXT: vsrl.vx v9, v9, a1 ; RV64ZVBC32-NEXT: vor.vv v9, v11, v9 ; RV64ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: vor.vv v8, v8, v9 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 4 ; RV64ZVBC32-NEXT: vand.vx v8, v8, s0 ; RV64ZVBC32-NEXT: vand.vx v9, v9, s0 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 4 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 2 ; RV64ZVBC32-NEXT: vand.vx v8, v8, s1 ; RV64ZVBC32-NEXT: vand.vx v9, v9, s1 ; RV64ZVBC32-NEXT: vsll.vi v8, v8, 2 ; RV64ZVBC32-NEXT: vor.vv v8, v9, v8 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 1 ; RV64ZVBC32-NEXT: vand.vx v8, v8, s2 ; RV64ZVBC32-NEXT: vand.vx v9, v9, s2 ; RV64ZVBC32-NEXT: vadd.vv v8, v8, v8 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v8 ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v0, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add a0, sp, a0 ; RV64ZVBC32-NEXT: addi a0, a0, 112 ; RV64ZVBC32-NEXT: vl1r.v v8, (a0) # vscale x 8-byte Folded Reload ; RV64ZVBC32-NEXT: vsrl.vi v8, v9, 1, v0.t ; RV64ZVBC32-NEXT: csrr a0, vlenb ; RV64ZVBC32-NEXT: mv a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 1 ; RV64ZVBC32-NEXT: add a1, a1, a0 ; RV64ZVBC32-NEXT: slli a0, a0, 2 ; RV64ZVBC32-NEXT: add a0, a0, a1 ; RV64ZVBC32-NEXT: add sp, sp, a0 ; RV64ZVBC32-NEXT: .cfi_def_cfa sp, 224 ; RV64ZVBC32-NEXT: ld ra, 216(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s0, 208(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s1, 200(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s2, 192(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s3, 184(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s4, 176(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s5, 168(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s6, 160(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s7, 152(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s8, 144(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s9, 136(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s10, 128(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: ld s11, 120(sp) # 8-byte Folded Reload ; RV64ZVBC32-NEXT: .cfi_restore ra ; RV64ZVBC32-NEXT: .cfi_restore s0 ; RV64ZVBC32-NEXT: .cfi_restore s1 ; RV64ZVBC32-NEXT: .cfi_restore s2 ; RV64ZVBC32-NEXT: .cfi_restore s3 ; RV64ZVBC32-NEXT: .cfi_restore s4 ; RV64ZVBC32-NEXT: .cfi_restore s5 ; RV64ZVBC32-NEXT: .cfi_restore s6 ; RV64ZVBC32-NEXT: .cfi_restore s7 ; RV64ZVBC32-NEXT: .cfi_restore s8 ; RV64ZVBC32-NEXT: .cfi_restore s9 ; RV64ZVBC32-NEXT: .cfi_restore s10 ; RV64ZVBC32-NEXT: .cfi_restore s11 ; RV64ZVBC32-NEXT: addi sp, sp, 224 ; RV64ZVBC32-NEXT: .cfi_def_cfa_offset 0 ; RV64ZVBC32-NEXT: ret %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv1i128( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i128 64) %res = trunc %res.ext to %sel = select %mask, %res, %va ret %sel } define @clmulh_nxv1i64_vx_mask( %va, i64 %b, %mask) { ; RV32V-LABEL: clmulh_nxv1i64_vx_mask: ; RV32V: # %bb.0: ; RV32V-NEXT: addi sp, sp, -336 ; RV32V-NEXT: .cfi_def_cfa_offset 336 ; RV32V-NEXT: sw ra, 332(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s0, 328(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s1, 324(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s2, 320(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s3, 316(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s4, 312(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s5, 308(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s6, 304(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s7, 300(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s8, 296(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s9, 292(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s10, 288(sp) # 4-byte Folded Spill ; RV32V-NEXT: sw s11, 284(sp) # 4-byte Folded Spill ; RV32V-NEXT: .cfi_offset ra, -4 ; RV32V-NEXT: .cfi_offset s0, -8 ; RV32V-NEXT: .cfi_offset s1, -12 ; RV32V-NEXT: .cfi_offset s2, -16 ; RV32V-NEXT: .cfi_offset s3, -20 ; RV32V-NEXT: .cfi_offset s4, -24 ; RV32V-NEXT: .cfi_offset s5, -28 ; RV32V-NEXT: .cfi_offset s6, -32 ; RV32V-NEXT: .cfi_offset s7, -36 ; RV32V-NEXT: .cfi_offset s8, -40 ; RV32V-NEXT: .cfi_offset s9, -44 ; RV32V-NEXT: .cfi_offset s10, -48 ; RV32V-NEXT: .cfi_offset s11, -52 ; RV32V-NEXT: sw a0, 0(sp) ; RV32V-NEXT: sw a1, 4(sp) ; RV32V-NEXT: mv t6, sp ; RV32V-NEXT: lui s0, 1044480 ; RV32V-NEXT: li s11, 1 ; RV32V-NEXT: li s6, 2 ; RV32V-NEXT: li s3, 4 ; RV32V-NEXT: li s8, 8 ; RV32V-NEXT: li s10, 32 ; RV32V-NEXT: li s9, 64 ; RV32V-NEXT: li s5, 128 ; RV32V-NEXT: li s4, 256 ; RV32V-NEXT: li s2, 512 ; RV32V-NEXT: li s1, 1024 ; RV32V-NEXT: lui ra, 1 ; RV32V-NEXT: lui t5, 2 ; RV32V-NEXT: lui t4, 4 ; RV32V-NEXT: lui t3, 8 ; RV32V-NEXT: lui t2, 16 ; RV32V-NEXT: lui t1, 32 ; RV32V-NEXT: lui t0, 64 ; RV32V-NEXT: lui a7, 128 ; RV32V-NEXT: lui a6, 256 ; RV32V-NEXT: lui a5, 512 ; RV32V-NEXT: lui a4, 1024 ; RV32V-NEXT: lui a3, 2048 ; RV32V-NEXT: lui a2, 4096 ; RV32V-NEXT: lui a1, 8192 ; RV32V-NEXT: vsetvli s7, zero, e64, m1, ta, ma ; RV32V-NEXT: vlse64.v v13, (t6), zero ; RV32V-NEXT: lui t6, 16384 ; RV32V-NEXT: sw s0, 248(sp) ; RV32V-NEXT: lui s0, 32768 ; RV32V-NEXT: sw zero, 252(sp) ; RV32V-NEXT: lui a0, 524288 ; RV32V-NEXT: sw a0, 8(sp) ; RV32V-NEXT: sw zero, 12(sp) ; RV32V-NEXT: sw zero, 272(sp) ; RV32V-NEXT: sw s11, 276(sp) ; RV32V-NEXT: sw zero, 256(sp) ; RV32V-NEXT: sw s6, 260(sp) ; RV32V-NEXT: lui s6, 65536 ; RV32V-NEXT: sw zero, 264(sp) ; RV32V-NEXT: sw s3, 268(sp) ; RV32V-NEXT: lui s7, 131072 ; RV32V-NEXT: sw zero, 240(sp) ; RV32V-NEXT: sw s8, 244(sp) ; RV32V-NEXT: lui s8, 262144 ; RV32V-NEXT: sw zero, 232(sp) ; RV32V-NEXT: li s3, 16 ; RV32V-NEXT: sw s3, 236(sp) ; RV32V-NEXT: li s3, 16 ; RV32V-NEXT: sw zero, 224(sp) ; RV32V-NEXT: sw s10, 228(sp) ; RV32V-NEXT: sw zero, 216(sp) ; RV32V-NEXT: sw s9, 220(sp) ; RV32V-NEXT: li s10, 64 ; RV32V-NEXT: sw zero, 208(sp) ; RV32V-NEXT: sw s5, 212(sp) ; RV32V-NEXT: sw zero, 200(sp) ; RV32V-NEXT: sw s4, 204(sp) ; RV32V-NEXT: sw zero, 192(sp) ; RV32V-NEXT: sw s2, 196(sp) ; RV32V-NEXT: li s4, 512 ; RV32V-NEXT: sw zero, 184(sp) ; RV32V-NEXT: sw s1, 188(sp) ; RV32V-NEXT: li s2, 1024 ; RV32V-NEXT: slli s11, s11, 11 ; RV32V-NEXT: sw zero, 176(sp) ; RV32V-NEXT: sw s11, 180(sp) ; RV32V-NEXT: sw zero, 168(sp) ; RV32V-NEXT: sw ra, 172(sp) ; RV32V-NEXT: sw zero, 160(sp) ; RV32V-NEXT: sw t5, 164(sp) ; RV32V-NEXT: lui s5, 2 ; RV32V-NEXT: sw zero, 152(sp) ; RV32V-NEXT: sw t4, 156(sp) ; RV32V-NEXT: lui s1, 4 ; RV32V-NEXT: sw zero, 144(sp) ; RV32V-NEXT: sw t3, 148(sp) ; RV32V-NEXT: lui t4, 8 ; RV32V-NEXT: sw zero, 136(sp) ; RV32V-NEXT: sw t2, 140(sp) ; RV32V-NEXT: lui t5, 16 ; RV32V-NEXT: sw zero, 128(sp) ; RV32V-NEXT: sw t1, 132(sp) ; RV32V-NEXT: lui t3, 32 ; RV32V-NEXT: sw zero, 120(sp) ; RV32V-NEXT: sw t0, 124(sp) ; RV32V-NEXT: lui t1, 64 ; RV32V-NEXT: sw zero, 112(sp) ; RV32V-NEXT: sw a7, 116(sp) ; RV32V-NEXT: lui t2, 128 ; RV32V-NEXT: sw zero, 104(sp) ; RV32V-NEXT: sw a6, 108(sp) ; RV32V-NEXT: sw zero, 96(sp) ; RV32V-NEXT: sw a5, 100(sp) ; RV32V-NEXT: lui t0, 512 ; RV32V-NEXT: sw zero, 88(sp) ; RV32V-NEXT: sw a4, 92(sp) ; RV32V-NEXT: lui a7, 1024 ; RV32V-NEXT: sw zero, 80(sp) ; RV32V-NEXT: sw a3, 84(sp) ; RV32V-NEXT: lui a4, 2048 ; RV32V-NEXT: sw zero, 72(sp) ; RV32V-NEXT: sw a2, 76(sp) ; RV32V-NEXT: lui a5, 4096 ; RV32V-NEXT: sw zero, 64(sp) ; RV32V-NEXT: sw a1, 68(sp) ; RV32V-NEXT: lui a3, 8192 ; RV32V-NEXT: sw zero, 56(sp) ; RV32V-NEXT: sw t6, 60(sp) ; RV32V-NEXT: sw zero, 48(sp) ; RV32V-NEXT: sw s0, 52(sp) ; RV32V-NEXT: sw zero, 40(sp) ; RV32V-NEXT: sw s6, 44(sp) ; RV32V-NEXT: sw zero, 32(sp) ; RV32V-NEXT: sw s7, 36(sp) ; RV32V-NEXT: sw zero, 24(sp) ; RV32V-NEXT: sw s8, 28(sp) ; RV32V-NEXT: sw zero, 16(sp) ; RV32V-NEXT: sw a0, 20(sp) ; RV32V-NEXT: lui a0, 61681 ; RV32V-NEXT: addi a0, a0, -241 ; RV32V-NEXT: vsetvli a1, zero, e32, m1, ta, ma ; RV32V-NEXT: vmv.v.x v9, a0 ; RV32V-NEXT: lui a0, 209715 ; RV32V-NEXT: addi a0, a0, 819 ; RV32V-NEXT: vmv.v.x v10, a0 ; RV32V-NEXT: lui a0, 349525 ; RV32V-NEXT: addi a0, a0, 1365 ; RV32V-NEXT: vmv.v.x v11, a0 ; RV32V-NEXT: addi a0, sp, 248 ; RV32V-NEXT: vsetvli a1, zero, e64, m1, ta, mu ; RV32V-NEXT: vlse64.v v12, (a0), zero ; RV32V-NEXT: addi a0, sp, 8 ; RV32V-NEXT: vlse64.v v6, (a0), zero ; RV32V-NEXT: addi a0, sp, 272 ; RV32V-NEXT: vlse64.v v7, (a0), zero ; RV32V-NEXT: addi a0, sp, 256 ; RV32V-NEXT: vlse64.v v31, (a0), zero ; RV32V-NEXT: addi a0, sp, 264 ; RV32V-NEXT: vlse64.v v30, (a0), zero ; RV32V-NEXT: addi a0, sp, 240 ; RV32V-NEXT: vlse64.v v29, (a0), zero ; RV32V-NEXT: addi a0, sp, 232 ; RV32V-NEXT: vlse64.v v28, (a0), zero ; RV32V-NEXT: addi a0, sp, 224 ; RV32V-NEXT: vlse64.v v27, (a0), zero ; RV32V-NEXT: addi a0, sp, 216 ; RV32V-NEXT: vlse64.v v22, (a0), zero ; RV32V-NEXT: addi a0, sp, 208 ; RV32V-NEXT: vlse64.v v19, (a0), zero ; RV32V-NEXT: addi a0, sp, 200 ; RV32V-NEXT: vlse64.v v18, (a0), zero ; RV32V-NEXT: addi a0, sp, 192 ; RV32V-NEXT: vlse64.v v23, (a0), zero ; RV32V-NEXT: addi a0, sp, 184 ; RV32V-NEXT: vlse64.v v16, (a0), zero ; RV32V-NEXT: addi a0, sp, 176 ; RV32V-NEXT: vlse64.v v14, (a0), zero ; RV32V-NEXT: addi a0, sp, 168 ; RV32V-NEXT: vlse64.v v15, (a0), zero ; RV32V-NEXT: addi a0, sp, 160 ; RV32V-NEXT: vlse64.v v17, (a0), zero ; RV32V-NEXT: addi a0, sp, 152 ; RV32V-NEXT: vlse64.v v20, (a0), zero ; RV32V-NEXT: addi a0, sp, 144 ; RV32V-NEXT: vlse64.v v25, (a0), zero ; RV32V-NEXT: addi a0, sp, 136 ; RV32V-NEXT: vlse64.v v21, (a0), zero ; RV32V-NEXT: addi a0, sp, 128 ; RV32V-NEXT: vlse64.v v24, (a0), zero ; RV32V-NEXT: addi a0, sp, 120 ; RV32V-NEXT: vlse64.v v26, (a0), zero ; RV32V-NEXT: li ra, 56 ; RV32V-NEXT: vsrl.vx v5, v13, ra ; RV32V-NEXT: li a2, 40 ; RV32V-NEXT: vsrl.vx v4, v13, a2 ; RV32V-NEXT: vsrl.vi v3, v13, 24 ; RV32V-NEXT: vsrl.vi v2, v13, 8 ; RV32V-NEXT: vsll.vx v1, v13, ra ; RV32V-NEXT: addi a0, t5, -256 ; RV32V-NEXT: vand.vx v4, v4, a0 ; RV32V-NEXT: vor.vv v5, v4, v5 ; RV32V-NEXT: vand.vx v4, v13, a0 ; RV32V-NEXT: vsll.vx v4, v4, a2 ; RV32V-NEXT: vor.vv v4, v1, v4 ; RV32V-NEXT: lui a1, 4080 ; RV32V-NEXT: vand.vx v1, v13, a1 ; RV32V-NEXT: vand.vx v3, v3, a1 ; RV32V-NEXT: vsll.vi v1, v1, 24 ; RV32V-NEXT: vand.vv v2, v2, v12 ; RV32V-NEXT: vand.vv v13, v13, v12 ; RV32V-NEXT: vor.vv v3, v2, v3 ; RV32V-NEXT: vsll.vi v13, v13, 8 ; RV32V-NEXT: vor.vv v5, v3, v5 ; RV32V-NEXT: vor.vv v13, v1, v13 ; RV32V-NEXT: vor.vv v13, v4, v13 ; RV32V-NEXT: vor.vv v13, v13, v5 ; RV32V-NEXT: vsrl.vi v5, v13, 4 ; RV32V-NEXT: vand.vv v13, v13, v9 ; RV32V-NEXT: vand.vv v5, v5, v9 ; RV32V-NEXT: vsll.vi v13, v13, 4 ; RV32V-NEXT: vor.vv v13, v5, v13 ; RV32V-NEXT: vsrl.vi v5, v13, 2 ; RV32V-NEXT: vand.vv v13, v13, v10 ; RV32V-NEXT: vand.vv v5, v5, v10 ; RV32V-NEXT: vsll.vi v13, v13, 2 ; RV32V-NEXT: vor.vv v13, v5, v13 ; RV32V-NEXT: vsrl.vi v5, v13, 1 ; RV32V-NEXT: vand.vv v13, v13, v11 ; RV32V-NEXT: vand.vv v5, v5, v11 ; RV32V-NEXT: vadd.vv v13, v13, v13 ; RV32V-NEXT: vor.vv v13, v5, v13 ; RV32V-NEXT: vand.vx v4, v13, s3 ; RV32V-NEXT: vsrl.vi v5, v8, 24 ; RV32V-NEXT: vsrl.vx v3, v8, ra ; RV32V-NEXT: vsrl.vx v2, v8, a2 ; RV32V-NEXT: vsll.vx v1, v8, ra ; RV32V-NEXT: vand.vx v2, v2, a0 ; RV32V-NEXT: vor.vv v3, v2, v3 ; RV32V-NEXT: vand.vx v2, v8, a0 ; RV32V-NEXT: vsll.vx v2, v2, a2 ; RV32V-NEXT: vor.vv v2, v1, v2 ; RV32V-NEXT: vsrl.vi v1, v8, 8 ; RV32V-NEXT: vand.vx v5, v5, a1 ; RV32V-NEXT: vand.vv v1, v1, v12 ; RV32V-NEXT: vor.vv v5, v1, v5 ; RV32V-NEXT: vand.vx v1, v8, a1 ; RV32V-NEXT: vsll.vi v1, v1, 24 ; RV32V-NEXT: vor.vv v5, v5, v3 ; RV32V-NEXT: vand.vv v3, v8, v12 ; RV32V-NEXT: vsll.vi v3, v3, 8 ; RV32V-NEXT: vor.vv v3, v1, v3 ; RV32V-NEXT: li s9, 32 ; RV32V-NEXT: vand.vx v1, v13, s9 ; RV32V-NEXT: vor.vv v3, v2, v3 ; RV32V-NEXT: vor.vv v5, v3, v5 ; RV32V-NEXT: vsrl.vi v3, v5, 4 ; RV32V-NEXT: vand.vv v5, v5, v9 ; RV32V-NEXT: vand.vv v3, v3, v9 ; RV32V-NEXT: vsll.vi v5, v5, 4 ; RV32V-NEXT: vor.vv v5, v3, v5 ; RV32V-NEXT: vsrl.vi v3, v5, 2 ; RV32V-NEXT: vand.vv v5, v5, v10 ; RV32V-NEXT: vand.vv v3, v3, v10 ; RV32V-NEXT: vsll.vi v5, v5, 2 ; RV32V-NEXT: vor.vv v5, v3, v5 ; RV32V-NEXT: vsrl.vi v3, v5, 1 ; RV32V-NEXT: vand.vv v5, v5, v11 ; RV32V-NEXT: vand.vv v3, v3, v11 ; RV32V-NEXT: vadd.vv v5, v5, v5 ; RV32V-NEXT: vor.vv v5, v3, v5 ; RV32V-NEXT: vand.vi v3, v13, 2 ; RV32V-NEXT: vand.vi v2, v13, 1 ; RV32V-NEXT: vmul.vv v3, v5, v3 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v2, v3 ; RV32V-NEXT: vand.vi v2, v13, 4 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vi v2, v13, 8 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v13, s10 ; RV32V-NEXT: vmul.vv v4, v5, v4 ; RV32V-NEXT: vxor.vv v4, v3, v4 ; RV32V-NEXT: li s3, 128 ; RV32V-NEXT: vand.vx v3, v13, s3 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v4, v4, v1 ; RV32V-NEXT: li s3, 256 ; RV32V-NEXT: vand.vx v1, v13, s3 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v4, v4, v2 ; RV32V-NEXT: vand.vx v2, v13, s4 ; RV32V-NEXT: vmul.vv v3, v5, v3 ; RV32V-NEXT: vxor.vv v4, v4, v3 ; RV32V-NEXT: vand.vx v3, v13, s2 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v1, v4, v1 ; RV32V-NEXT: vxor.vv v2, v1, v2 ; RV32V-NEXT: vand.vx v1, v13, s11 ; RV32V-NEXT: vmul.vv v3, v5, v3 ; RV32V-NEXT: vxor.vv v3, v2, v3 ; RV32V-NEXT: lui s2, 1 ; RV32V-NEXT: vand.vx v2, v13, s2 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v13, s5 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v13, s1 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v13, t4 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v13, t5 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v13, t3 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v13, t1 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v13, t2 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v13, a6 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v13, t0 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v13, a7 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v13, a4 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vxor.vv v3, v3, v2 ; RV32V-NEXT: vand.vx v2, v13, a5 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v3, v3, v1 ; RV32V-NEXT: vand.vx v1, v13, a3 ; RV32V-NEXT: vmul.vv v2, v5, v2 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v2, v3, v2 ; RV32V-NEXT: vxor.vv v2, v2, v1 ; RV32V-NEXT: vand.vx v1, v13, t6 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v2, v2, v1 ; RV32V-NEXT: vand.vx v1, v13, s0 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v2, v2, v1 ; RV32V-NEXT: vand.vx v1, v13, s6 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v2, v2, v1 ; RV32V-NEXT: vand.vx v1, v13, s7 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v2, v2, v1 ; RV32V-NEXT: vand.vx v1, v13, s8 ; RV32V-NEXT: addi a3, sp, 112 ; RV32V-NEXT: vmul.vv v1, v5, v1 ; RV32V-NEXT: vxor.vv v1, v2, v1 ; RV32V-NEXT: vlse64.v v2, (a3), zero ; RV32V-NEXT: addi a3, sp, 104 ; RV32V-NEXT: vand.vv v6, v13, v6 ; RV32V-NEXT: vmul.vv v6, v5, v6 ; RV32V-NEXT: vxor.vv v1, v1, v6 ; RV32V-NEXT: vlse64.v v6, (a3), zero ; RV32V-NEXT: addi a3, sp, 96 ; RV32V-NEXT: vand.vv v7, v13, v7 ; RV32V-NEXT: vmul.vv v7, v5, v7 ; RV32V-NEXT: vxor.vv v1, v1, v7 ; RV32V-NEXT: vlse64.v v7, (a3), zero ; RV32V-NEXT: addi a3, sp, 88 ; RV32V-NEXT: vand.vv v31, v13, v31 ; RV32V-NEXT: vmul.vv v31, v5, v31 ; RV32V-NEXT: vxor.vv v1, v1, v31 ; RV32V-NEXT: vlse64.v v31, (a3), zero ; RV32V-NEXT: addi a3, sp, 80 ; RV32V-NEXT: vand.vv v30, v13, v30 ; RV32V-NEXT: vmul.vv v30, v5, v30 ; RV32V-NEXT: vxor.vv v1, v1, v30 ; RV32V-NEXT: vlse64.v v30, (a3), zero ; RV32V-NEXT: addi a3, sp, 72 ; RV32V-NEXT: vand.vv v29, v13, v29 ; RV32V-NEXT: vmul.vv v29, v5, v29 ; RV32V-NEXT: vxor.vv v1, v1, v29 ; RV32V-NEXT: vlse64.v v29, (a3), zero ; RV32V-NEXT: addi a3, sp, 64 ; RV32V-NEXT: vand.vv v28, v13, v28 ; RV32V-NEXT: vmul.vv v28, v5, v28 ; RV32V-NEXT: vxor.vv v1, v1, v28 ; RV32V-NEXT: vlse64.v v28, (a3), zero ; RV32V-NEXT: addi a3, sp, 56 ; RV32V-NEXT: vand.vv v27, v13, v27 ; RV32V-NEXT: vmul.vv v27, v5, v27 ; RV32V-NEXT: vxor.vv v1, v1, v27 ; RV32V-NEXT: vlse64.v v27, (a3), zero ; RV32V-NEXT: addi a3, sp, 48 ; RV32V-NEXT: vand.vv v22, v13, v22 ; RV32V-NEXT: vmul.vv v22, v5, v22 ; RV32V-NEXT: vxor.vv v1, v1, v22 ; RV32V-NEXT: vlse64.v v22, (a3), zero ; RV32V-NEXT: addi a3, sp, 40 ; RV32V-NEXT: vand.vv v19, v13, v19 ; RV32V-NEXT: vmul.vv v19, v5, v19 ; RV32V-NEXT: vxor.vv v19, v1, v19 ; RV32V-NEXT: vlse64.v v1, (a3), zero ; RV32V-NEXT: addi a3, sp, 32 ; RV32V-NEXT: vand.vv v18, v13, v18 ; RV32V-NEXT: vand.vv v23, v13, v23 ; RV32V-NEXT: vmul.vv v18, v5, v18 ; RV32V-NEXT: vmul.vv v23, v5, v23 ; RV32V-NEXT: vxor.vv v18, v19, v18 ; RV32V-NEXT: vxor.vv v23, v18, v23 ; RV32V-NEXT: vlse64.v v18, (a3), zero ; RV32V-NEXT: addi a3, sp, 24 ; RV32V-NEXT: vand.vv v16, v13, v16 ; RV32V-NEXT: vmul.vv v16, v5, v16 ; RV32V-NEXT: vxor.vv v16, v23, v16 ; RV32V-NEXT: vlse64.v v23, (a3), zero ; RV32V-NEXT: addi a3, sp, 16 ; RV32V-NEXT: vand.vv v14, v13, v14 ; RV32V-NEXT: vmul.vv v14, v5, v14 ; RV32V-NEXT: vxor.vv v14, v16, v14 ; RV32V-NEXT: vlse64.v v16, (a3), zero ; RV32V-NEXT: vand.vv v15, v13, v15 ; RV32V-NEXT: vmul.vv v15, v5, v15 ; RV32V-NEXT: vxor.vv v14, v14, v15 ; RV32V-NEXT: vand.vv v15, v13, v17 ; RV32V-NEXT: vmul.vv v15, v5, v15 ; RV32V-NEXT: vxor.vv v14, v14, v15 ; RV32V-NEXT: vand.vv v15, v13, v20 ; RV32V-NEXT: vand.vv v17, v13, v25 ; RV32V-NEXT: vmul.vv v15, v5, v15 ; RV32V-NEXT: vmul.vv v17, v5, v17 ; RV32V-NEXT: vxor.vv v14, v14, v15 ; RV32V-NEXT: vand.vx v15, v19, a1 ; RV32V-NEXT: vxor.vv v14, v14, v17 ; RV32V-NEXT: vsrl.vi v17, v14, 24 ; RV32V-NEXT: vand.vx v17, v17, a1 ; RV32V-NEXT: vand.vv v20, v13, v21 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v13, v24 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v13, v26 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v13, v2 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v13, v6 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v13, v7 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v13, v31 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vand.vv v20, v13, v30 ; RV32V-NEXT: vmul.vv v20, v5, v20 ; RV32V-NEXT: vand.vx v21, v3, a0 ; RV32V-NEXT: vsll.vx v21, v21, a2 ; RV32V-NEXT: vxor.vv v14, v14, v20 ; RV32V-NEXT: vsrl.vx v20, v14, a2 ; RV32V-NEXT: vand.vx v20, v20, a0 ; RV32V-NEXT: vand.vv v24, v13, v29 ; RV32V-NEXT: vand.vv v25, v13, v28 ; RV32V-NEXT: vand.vv v26, v13, v27 ; RV32V-NEXT: vand.vv v22, v13, v22 ; RV32V-NEXT: vand.vv v27, v13, v1 ; RV32V-NEXT: vand.vv v18, v13, v18 ; RV32V-NEXT: vand.vv v23, v13, v23 ; RV32V-NEXT: vand.vv v13, v13, v16 ; RV32V-NEXT: vmul.vv v16, v5, v24 ; RV32V-NEXT: vmul.vv v24, v5, v25 ; RV32V-NEXT: vmul.vv v25, v5, v26 ; RV32V-NEXT: vmul.vv v22, v5, v22 ; RV32V-NEXT: vmul.vv v26, v5, v27 ; RV32V-NEXT: vmul.vv v18, v5, v18 ; RV32V-NEXT: vmul.vv v23, v5, v23 ; RV32V-NEXT: vmul.vv v13, v5, v13 ; RV32V-NEXT: vxor.vv v16, v14, v16 ; RV32V-NEXT: vxor.vv v16, v16, v24 ; RV32V-NEXT: vxor.vv v16, v16, v25 ; RV32V-NEXT: vxor.vv v16, v16, v22 ; RV32V-NEXT: vxor.vv v16, v16, v26 ; RV32V-NEXT: vxor.vv v16, v16, v18 ; RV32V-NEXT: vxor.vv v16, v16, v23 ; RV32V-NEXT: vxor.vv v13, v16, v13 ; RV32V-NEXT: vsll.vx v16, v4, ra ; RV32V-NEXT: vsrl.vx v13, v13, ra ; RV32V-NEXT: vor.vv v16, v16, v21 ; RV32V-NEXT: vsrl.vi v18, v19, 8 ; RV32V-NEXT: vsll.vi v15, v15, 24 ; RV32V-NEXT: vand.vv v18, v18, v12 ; RV32V-NEXT: vor.vv v17, v18, v17 ; RV32V-NEXT: vand.vv v12, v14, v12 ; RV32V-NEXT: vsll.vi v12, v12, 8 ; RV32V-NEXT: vor.vv v12, v15, v12 ; RV32V-NEXT: vor.vv v12, v16, v12 ; RV32V-NEXT: vor.vv v13, v20, v13 ; RV32V-NEXT: vor.vv v13, v17, v13 ; RV32V-NEXT: vor.vv v12, v12, v13 ; RV32V-NEXT: vsrl.vi v13, v12, 4 ; RV32V-NEXT: vand.vv v12, v12, v9 ; RV32V-NEXT: vand.vv v9, v13, v9 ; RV32V-NEXT: vsll.vi v12, v12, 4 ; RV32V-NEXT: vor.vv v9, v9, v12 ; RV32V-NEXT: vsrl.vi v12, v9, 2 ; RV32V-NEXT: vand.vv v9, v9, v10 ; RV32V-NEXT: vand.vv v10, v12, v10 ; RV32V-NEXT: vsll.vi v9, v9, 2 ; RV32V-NEXT: vor.vv v9, v10, v9 ; RV32V-NEXT: vsrl.vi v10, v9, 1 ; RV32V-NEXT: vand.vv v9, v9, v11 ; RV32V-NEXT: vand.vv v10, v10, v11 ; RV32V-NEXT: vadd.vv v9, v9, v9 ; RV32V-NEXT: vor.vv v9, v10, v9 ; RV32V-NEXT: vsrl.vi v8, v9, 1, v0.t ; RV32V-NEXT: lw ra, 332(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s0, 328(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s1, 324(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s2, 320(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s3, 316(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s4, 312(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s5, 308(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s6, 304(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s7, 300(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s8, 296(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s9, 292(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s10, 288(sp) # 4-byte Folded Reload ; RV32V-NEXT: lw s11, 284(sp) # 4-byte Folded Reload ; RV32V-NEXT: .cfi_restore ra ; RV32V-NEXT: .cfi_restore s0 ; RV32V-NEXT: .cfi_restore s1 ; RV32V-NEXT: .cfi_restore s2 ; RV32V-NEXT: .cfi_restore s3 ; RV32V-NEXT: .cfi_restore s4 ; RV32V-NEXT: .cfi_restore s5 ; RV32V-NEXT: .cfi_restore s6 ; RV32V-NEXT: .cfi_restore s7 ; RV32V-NEXT: .cfi_restore s8 ; RV32V-NEXT: .cfi_restore s9 ; RV32V-NEXT: .cfi_restore s10 ; RV32V-NEXT: .cfi_restore s11 ; RV32V-NEXT: addi sp, sp, 336 ; RV32V-NEXT: .cfi_def_cfa_offset 0 ; RV32V-NEXT: ret ; ; RV64V-LABEL: clmulh_nxv1i64_vx_mask: ; RV64V: # %bb.0: ; RV64V-NEXT: li a1, 56 ; RV64V-NEXT: lui t2, 16 ; RV64V-NEXT: lui a2, 4080 ; RV64V-NEXT: li t0, 255 ; RV64V-NEXT: lui a3, 61681 ; RV64V-NEXT: lui a4, 209715 ; RV64V-NEXT: lui a5, 349525 ; RV64V-NEXT: srli a6, a0, 24 ; RV64V-NEXT: srli a7, a0, 8 ; RV64V-NEXT: srli t1, a0, 40 ; RV64V-NEXT: srli t3, a0, 56 ; RV64V-NEXT: addi a3, a3, -241 ; RV64V-NEXT: addi a4, a4, 819 ; RV64V-NEXT: addi t4, a5, 1365 ; RV64V-NEXT: slli a5, a3, 32 ; RV64V-NEXT: add a5, a3, a5 ; RV64V-NEXT: slli a3, a4, 32 ; RV64V-NEXT: add a4, a4, a3 ; RV64V-NEXT: slli a3, t4, 32 ; RV64V-NEXT: add a3, t4, a3 ; RV64V-NEXT: srliw t4, a0, 24 ; RV64V-NEXT: slli t0, t0, 24 ; RV64V-NEXT: and a6, a6, a2 ; RV64V-NEXT: and a7, a7, t0 ; RV64V-NEXT: or t5, a7, a6 ; RV64V-NEXT: addi a6, t2, -256 ; RV64V-NEXT: and a7, t1, a6 ; RV64V-NEXT: or t1, a7, t3 ; RV64V-NEXT: and a7, a0, a2 ; RV64V-NEXT: slli t4, t4, 32 ; RV64V-NEXT: slli a7, a7, 24 ; RV64V-NEXT: or t3, a7, t4 ; RV64V-NEXT: li a7, 40 ; RV64V-NEXT: vsetvli t4, zero, e64, m1, ta, mu ; RV64V-NEXT: vsrl.vi v10, v8, 24 ; RV64V-NEXT: vsrl.vi v9, v8, 8 ; RV64V-NEXT: or t1, t5, t1 ; RV64V-NEXT: slli t4, a0, 56 ; RV64V-NEXT: and a0, a0, a6 ; RV64V-NEXT: slli a0, a0, 40 ; RV64V-NEXT: or t4, t4, a0 ; RV64V-NEXT: li a0, 1 ; RV64V-NEXT: or t4, t4, t3 ; RV64V-NEXT: lui t3, 1 ; RV64V-NEXT: vsrl.vx v11, v8, a1 ; RV64V-NEXT: vsrl.vx v12, v8, a7 ; RV64V-NEXT: vand.vx v10, v10, a2 ; RV64V-NEXT: vand.vx v13, v8, a2 ; RV64V-NEXT: vsll.vx v14, v8, a1 ; RV64V-NEXT: vand.vx v12, v12, a6 ; RV64V-NEXT: vand.vx v9, v9, t0 ; RV64V-NEXT: vsll.vi v13, v13, 24 ; RV64V-NEXT: vand.vx v15, v8, t0 ; RV64V-NEXT: vor.vv v11, v12, v11 ; RV64V-NEXT: vand.vx v12, v8, a6 ; RV64V-NEXT: vor.vv v9, v9, v10 ; RV64V-NEXT: vsll.vi v10, v15, 8 ; RV64V-NEXT: vsll.vx v12, v12, a7 ; RV64V-NEXT: vor.vv v9, v9, v11 ; RV64V-NEXT: vor.vv v10, v13, v10 ; RV64V-NEXT: vor.vv v11, v14, v12 ; RV64V-NEXT: vor.vv v10, v11, v10 ; RV64V-NEXT: vor.vv v9, v10, v9 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v10, v9, 4 ; RV64V-NEXT: vand.vx v9, v9, a5 ; RV64V-NEXT: srli t4, t1, 4 ; RV64V-NEXT: and t1, t1, a5 ; RV64V-NEXT: vand.vx v10, v10, a5 ; RV64V-NEXT: vsll.vi v9, v9, 4 ; RV64V-NEXT: and t4, t4, a5 ; RV64V-NEXT: slli t1, t1, 4 ; RV64V-NEXT: vor.vv v9, v10, v9 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v10, v9, 2 ; RV64V-NEXT: vand.vx v9, v9, a4 ; RV64V-NEXT: srli t4, t1, 2 ; RV64V-NEXT: and t1, t1, a4 ; RV64V-NEXT: vand.vx v10, v10, a4 ; RV64V-NEXT: vsll.vi v9, v9, 2 ; RV64V-NEXT: and t4, t4, a4 ; RV64V-NEXT: slli t1, t1, 2 ; RV64V-NEXT: vor.vv v9, v10, v9 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: vsrl.vi v10, v9, 1 ; RV64V-NEXT: vand.vx v9, v9, a3 ; RV64V-NEXT: srli t4, t1, 1 ; RV64V-NEXT: and t1, t1, a3 ; RV64V-NEXT: vand.vx v10, v10, a3 ; RV64V-NEXT: vadd.vv v9, v9, v9 ; RV64V-NEXT: and t4, t4, a3 ; RV64V-NEXT: slli t1, t1, 1 ; RV64V-NEXT: vor.vv v9, v10, v9 ; RV64V-NEXT: or t1, t4, t1 ; RV64V-NEXT: andi t4, t1, 2 ; RV64V-NEXT: vmul.vx v10, v9, t4 ; RV64V-NEXT: andi t4, t1, 1 ; RV64V-NEXT: vmul.vx v11, v9, t4 ; RV64V-NEXT: andi t4, t1, 4 ; RV64V-NEXT: vmul.vx v12, v9, t4 ; RV64V-NEXT: andi t4, t1, 8 ; RV64V-NEXT: vmul.vx v13, v9, t4 ; RV64V-NEXT: andi t4, t1, 16 ; RV64V-NEXT: vmul.vx v14, v9, t4 ; RV64V-NEXT: andi t4, t1, 32 ; RV64V-NEXT: vmul.vx v15, v9, t4 ; RV64V-NEXT: andi t4, t1, 64 ; RV64V-NEXT: vxor.vv v10, v11, v10 ; RV64V-NEXT: vmul.vx v11, v9, t4 ; RV64V-NEXT: andi t4, t1, 128 ; RV64V-NEXT: vxor.vv v10, v10, v12 ; RV64V-NEXT: vmul.vx v12, v9, t4 ; RV64V-NEXT: andi t4, t1, 256 ; RV64V-NEXT: vxor.vv v10, v10, v13 ; RV64V-NEXT: vmul.vx v13, v9, t4 ; RV64V-NEXT: andi t4, t1, 512 ; RV64V-NEXT: vxor.vv v10, v10, v14 ; RV64V-NEXT: vmul.vx v14, v9, t4 ; RV64V-NEXT: andi t4, t1, 1024 ; RV64V-NEXT: vxor.vv v10, v10, v15 ; RV64V-NEXT: vmul.vx v15, v9, t4 ; RV64V-NEXT: slli t4, a0, 11 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v10, v10, v11 ; RV64V-NEXT: vmul.vx v11, v9, t4 ; RV64V-NEXT: lui t4, 2 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v10, v10, v12 ; RV64V-NEXT: vmul.vx v12, v9, t3 ; RV64V-NEXT: lui t3, 4 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v13, v10, v13 ; RV64V-NEXT: vxor.vv v13, v13, v14 ; RV64V-NEXT: vmul.vx v14, v9, t4 ; RV64V-NEXT: lui t4, 8 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v13, v13, v15 ; RV64V-NEXT: vmul.vx v15, v9, t3 ; RV64V-NEXT: lui t3, 32 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v11, v13, v11 ; RV64V-NEXT: vmul.vx v13, v9, t4 ; RV64V-NEXT: lui t4, 64 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: vmul.vx v12, v9, t2 ; RV64V-NEXT: lui t2, 128 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v11, v11, v14 ; RV64V-NEXT: vmul.vx v14, v9, t3 ; RV64V-NEXT: lui t3, 256 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v11, v11, v15 ; RV64V-NEXT: vmul.vx v15, v9, t4 ; RV64V-NEXT: lui t4, 512 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v11, v11, v13 ; RV64V-NEXT: vmul.vx v13, v9, t2 ; RV64V-NEXT: lui t2, 1024 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: vmul.vx v12, v9, t3 ; RV64V-NEXT: lui t3, 2048 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v11, v11, v14 ; RV64V-NEXT: vmul.vx v14, v9, t4 ; RV64V-NEXT: lui t4, 4096 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v11, v11, v15 ; RV64V-NEXT: vmul.vx v15, v9, t2 ; RV64V-NEXT: lui t2, 8192 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v11, v11, v13 ; RV64V-NEXT: vmul.vx v13, v9, t3 ; RV64V-NEXT: lui t3, 16384 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: vmul.vx v12, v9, t4 ; RV64V-NEXT: lui t4, 32768 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v11, v11, v14 ; RV64V-NEXT: vmul.vx v14, v9, t2 ; RV64V-NEXT: lui t2, 65536 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v11, v11, v15 ; RV64V-NEXT: vmul.vx v15, v9, t3 ; RV64V-NEXT: lui t3, 131072 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v11, v11, v13 ; RV64V-NEXT: vmul.vx v13, v9, t4 ; RV64V-NEXT: lui t4, 262144 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v11, v12 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v9, t2 ; RV64V-NEXT: slli t2, a0, 32 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vsll.vx v10, v10, a1 ; RV64V-NEXT: vand.vx v11, v11, a6 ; RV64V-NEXT: vsll.vx v11, v11, a7 ; RV64V-NEXT: vor.vv v10, v10, v11 ; RV64V-NEXT: vmul.vx v11, v9, t3 ; RV64V-NEXT: slli t3, a0, 33 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v12, v15 ; RV64V-NEXT: vmul.vx v15, v9, t4 ; RV64V-NEXT: slli t4, a0, 34 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: vmul.vx v13, v9, t2 ; RV64V-NEXT: slli t2, a0, 35 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v9, t3 ; RV64V-NEXT: slli t3, a0, 36 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v11, v12, v11 ; RV64V-NEXT: vmul.vx v12, v9, t4 ; RV64V-NEXT: srliw t4, t1, 31 ; RV64V-NEXT: slli t4, t4, 31 ; RV64V-NEXT: vxor.vv v11, v11, v15 ; RV64V-NEXT: vmul.vx v15, v9, t4 ; RV64V-NEXT: slli t4, a0, 37 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v11, v11, v15 ; RV64V-NEXT: vmul.vx v15, v9, t2 ; RV64V-NEXT: slli t2, a0, 38 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v11, v11, v13 ; RV64V-NEXT: vmul.vx v13, v9, t3 ; RV64V-NEXT: slli t3, a0, 39 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v11, v11, v14 ; RV64V-NEXT: vmul.vx v14, v9, t4 ; RV64V-NEXT: slli t4, a0, 40 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: vmul.vx v12, v9, t2 ; RV64V-NEXT: slli t2, a0, 41 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v11, v11, v15 ; RV64V-NEXT: vmul.vx v15, v9, t3 ; RV64V-NEXT: slli t3, a0, 42 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v11, v11, v13 ; RV64V-NEXT: vmul.vx v13, v9, t4 ; RV64V-NEXT: slli t4, a0, 43 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v11, v11, v14 ; RV64V-NEXT: vmul.vx v14, v9, t2 ; RV64V-NEXT: slli t2, a0, 44 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v11, v11, v12 ; RV64V-NEXT: vmul.vx v12, v9, t3 ; RV64V-NEXT: slli t3, a0, 45 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v11, v11, v15 ; RV64V-NEXT: vmul.vx v15, v9, t4 ; RV64V-NEXT: slli t4, a0, 46 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v13, v11, v13 ; RV64V-NEXT: vxor.vv v13, v13, v14 ; RV64V-NEXT: vmul.vx v14, v9, t2 ; RV64V-NEXT: slli t2, a0, 47 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v13, v12 ; RV64V-NEXT: vmul.vx v13, v9, t3 ; RV64V-NEXT: slli t3, a0, 48 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v12, v15 ; RV64V-NEXT: vmul.vx v15, v9, t4 ; RV64V-NEXT: slli t4, a0, 49 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v9, t2 ; RV64V-NEXT: slli t2, a0, 50 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v12, v12, v13 ; RV64V-NEXT: vmul.vx v13, v9, t3 ; RV64V-NEXT: slli t3, a0, 51 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v12, v12, v15 ; RV64V-NEXT: vmul.vx v15, v9, t4 ; RV64V-NEXT: slli t4, a0, 52 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v12, v12, v14 ; RV64V-NEXT: vmul.vx v14, v9, t2 ; RV64V-NEXT: slli t2, a0, 53 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v13, v12, v13 ; RV64V-NEXT: vxor.vv v13, v13, v15 ; RV64V-NEXT: vmul.vx v15, v9, t3 ; RV64V-NEXT: slli t3, a0, 54 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v13, v13, v14 ; RV64V-NEXT: vsrl.vi v14, v11, 8 ; RV64V-NEXT: vand.vx v14, v14, t0 ; RV64V-NEXT: vsrl.vi v12, v12, 24 ; RV64V-NEXT: vand.vx v12, v12, a2 ; RV64V-NEXT: vor.vv v12, v14, v12 ; RV64V-NEXT: vmul.vx v14, v9, t4 ; RV64V-NEXT: slli t4, a0, 55 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v13, v13, v15 ; RV64V-NEXT: vmul.vx v15, v9, t2 ; RV64V-NEXT: slli t2, a0, 56 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v13, v13, v14 ; RV64V-NEXT: vmul.vx v14, v9, t3 ; RV64V-NEXT: slli t3, a0, 57 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: vxor.vv v13, v13, v15 ; RV64V-NEXT: vmul.vx v15, v9, t4 ; RV64V-NEXT: slli t4, a0, 58 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: vxor.vv v13, v13, v14 ; RV64V-NEXT: vmul.vx v14, v9, t2 ; RV64V-NEXT: slli t2, a0, 59 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: vxor.vv v13, v13, v15 ; RV64V-NEXT: vmul.vx v15, v9, t3 ; RV64V-NEXT: slli t3, a0, 60 ; RV64V-NEXT: vand.vx v11, v11, a2 ; RV64V-NEXT: slli a2, a0, 61 ; RV64V-NEXT: slli a0, a0, 62 ; RV64V-NEXT: and t4, t1, t4 ; RV64V-NEXT: and t2, t1, t2 ; RV64V-NEXT: and t3, t1, t3 ; RV64V-NEXT: and a2, t1, a2 ; RV64V-NEXT: and a0, t1, a0 ; RV64V-NEXT: srli t1, t1, 63 ; RV64V-NEXT: vsll.vi v11, v11, 24 ; RV64V-NEXT: vxor.vv v14, v13, v14 ; RV64V-NEXT: vxor.vv v14, v14, v15 ; RV64V-NEXT: vand.vx v15, v13, t0 ; RV64V-NEXT: vsll.vi v15, v15, 8 ; RV64V-NEXT: vor.vv v11, v11, v15 ; RV64V-NEXT: vmul.vx v15, v9, t4 ; RV64V-NEXT: vxor.vv v14, v14, v15 ; RV64V-NEXT: vmul.vx v15, v9, t2 ; RV64V-NEXT: vor.vv v10, v10, v11 ; RV64V-NEXT: vmul.vx v11, v9, t3 ; RV64V-NEXT: vxor.vv v14, v14, v15 ; RV64V-NEXT: vmul.vx v15, v9, a2 ; RV64V-NEXT: vxor.vv v11, v14, v11 ; RV64V-NEXT: vmul.vx v14, v9, a0 ; RV64V-NEXT: slli t1, t1, 63 ; RV64V-NEXT: vmul.vx v9, v9, t1 ; RV64V-NEXT: vsrl.vx v13, v13, a7 ; RV64V-NEXT: vand.vx v13, v13, a6 ; RV64V-NEXT: vxor.vv v11, v11, v15 ; RV64V-NEXT: vxor.vv v11, v11, v14 ; RV64V-NEXT: vxor.vv v9, v11, v9 ; RV64V-NEXT: vsrl.vx v9, v9, a1 ; RV64V-NEXT: vor.vv v9, v13, v9 ; RV64V-NEXT: vor.vv v9, v12, v9 ; RV64V-NEXT: vor.vv v9, v10, v9 ; RV64V-NEXT: vsrl.vi v10, v9, 4 ; RV64V-NEXT: vand.vx v9, v9, a5 ; RV64V-NEXT: vand.vx v10, v10, a5 ; RV64V-NEXT: vsll.vi v9, v9, 4 ; RV64V-NEXT: vor.vv v9, v10, v9 ; RV64V-NEXT: vsrl.vi v10, v9, 2 ; RV64V-NEXT: vand.vx v9, v9, a4 ; RV64V-NEXT: vand.vx v10, v10, a4 ; RV64V-NEXT: vsll.vi v9, v9, 2 ; RV64V-NEXT: vor.vv v9, v10, v9 ; RV64V-NEXT: vsrl.vi v10, v9, 1 ; RV64V-NEXT: vand.vx v9, v9, a3 ; RV64V-NEXT: vand.vx v10, v10, a3 ; RV64V-NEXT: vadd.vv v9, v9, v9 ; RV64V-NEXT: vor.vv v9, v10, v9 ; RV64V-NEXT: vsrl.vi v8, v9, 1, v0.t ; RV64V-NEXT: ret ; ; RV32ZVBC64-LABEL: clmulh_nxv1i64_vx_mask: ; RV32ZVBC64: # %bb.0: ; RV32ZVBC64-NEXT: addi sp, sp, -16 ; RV32ZVBC64-NEXT: .cfi_def_cfa_offset 16 ; RV32ZVBC64-NEXT: sw a0, 8(sp) ; RV32ZVBC64-NEXT: sw a1, 12(sp) ; RV32ZVBC64-NEXT: addi a0, sp, 8 ; RV32ZVBC64-NEXT: vsetvli a1, zero, e64, m1, ta, mu ; RV32ZVBC64-NEXT: vlse64.v v9, (a0), zero ; RV32ZVBC64-NEXT: vclmulh.vv v8, v8, v9, v0.t ; RV32ZVBC64-NEXT: addi sp, sp, 16 ; RV32ZVBC64-NEXT: .cfi_def_cfa_offset 0 ; RV32ZVBC64-NEXT: ret ; ; RV64ZVBC64-LABEL: clmulh_nxv1i64_vx_mask: ; RV64ZVBC64: # %bb.0: ; RV64ZVBC64-NEXT: vsetvli a1, zero, e64, m1, ta, mu ; RV64ZVBC64-NEXT: vclmulh.vx v8, v8, a0, v0.t ; RV64ZVBC64-NEXT: ret ; ; RV32ZVBC32-LABEL: clmulh_nxv1i64_vx_mask: ; RV32ZVBC32: # %bb.0: ; RV32ZVBC32-NEXT: addi sp, sp, -336 ; RV32ZVBC32-NEXT: .cfi_def_cfa_offset 336 ; RV32ZVBC32-NEXT: sw ra, 332(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s0, 328(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s1, 324(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s2, 320(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s3, 316(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s4, 312(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s5, 308(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s6, 304(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s7, 300(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s8, 296(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s9, 292(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s10, 288(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: sw s11, 284(sp) # 4-byte Folded Spill ; RV32ZVBC32-NEXT: .cfi_offset ra, -4 ; RV32ZVBC32-NEXT: .cfi_offset s0, -8 ; RV32ZVBC32-NEXT: .cfi_offset s1, -12 ; RV32ZVBC32-NEXT: .cfi_offset s2, -16 ; RV32ZVBC32-NEXT: .cfi_offset s3, -20 ; RV32ZVBC32-NEXT: .cfi_offset s4, -24 ; RV32ZVBC32-NEXT: .cfi_offset s5, -28 ; RV32ZVBC32-NEXT: .cfi_offset s6, -32 ; RV32ZVBC32-NEXT: .cfi_offset s7, -36 ; RV32ZVBC32-NEXT: .cfi_offset s8, -40 ; RV32ZVBC32-NEXT: .cfi_offset s9, -44 ; RV32ZVBC32-NEXT: .cfi_offset s10, -48 ; RV32ZVBC32-NEXT: .cfi_offset s11, -52 ; RV32ZVBC32-NEXT: sw a0, 0(sp) ; RV32ZVBC32-NEXT: sw a1, 4(sp) ; RV32ZVBC32-NEXT: mv t6, sp ; RV32ZVBC32-NEXT: lui s0, 1044480 ; RV32ZVBC32-NEXT: li s11, 1 ; RV32ZVBC32-NEXT: li s6, 2 ; RV32ZVBC32-NEXT: li s3, 4 ; RV32ZVBC32-NEXT: li s8, 8 ; RV32ZVBC32-NEXT: li s10, 32 ; RV32ZVBC32-NEXT: li s9, 64 ; RV32ZVBC32-NEXT: li s5, 128 ; RV32ZVBC32-NEXT: li s4, 256 ; RV32ZVBC32-NEXT: li s2, 512 ; RV32ZVBC32-NEXT: li s1, 1024 ; RV32ZVBC32-NEXT: lui ra, 1 ; RV32ZVBC32-NEXT: lui t5, 2 ; RV32ZVBC32-NEXT: lui t4, 4 ; RV32ZVBC32-NEXT: lui t3, 8 ; RV32ZVBC32-NEXT: lui t2, 16 ; RV32ZVBC32-NEXT: lui t1, 32 ; RV32ZVBC32-NEXT: lui t0, 64 ; RV32ZVBC32-NEXT: lui a7, 128 ; RV32ZVBC32-NEXT: lui a6, 256 ; RV32ZVBC32-NEXT: lui a5, 512 ; RV32ZVBC32-NEXT: lui a4, 1024 ; RV32ZVBC32-NEXT: lui a3, 2048 ; RV32ZVBC32-NEXT: lui a2, 4096 ; RV32ZVBC32-NEXT: lui a1, 8192 ; RV32ZVBC32-NEXT: vsetvli s7, zero, e64, m1, ta, ma ; RV32ZVBC32-NEXT: vlse64.v v13, (t6), zero ; RV32ZVBC32-NEXT: lui t6, 16384 ; RV32ZVBC32-NEXT: sw s0, 248(sp) ; RV32ZVBC32-NEXT: lui s0, 32768 ; RV32ZVBC32-NEXT: sw zero, 252(sp) ; RV32ZVBC32-NEXT: lui a0, 524288 ; RV32ZVBC32-NEXT: sw a0, 8(sp) ; RV32ZVBC32-NEXT: sw zero, 12(sp) ; RV32ZVBC32-NEXT: sw zero, 272(sp) ; RV32ZVBC32-NEXT: sw s11, 276(sp) ; RV32ZVBC32-NEXT: sw zero, 256(sp) ; RV32ZVBC32-NEXT: sw s6, 260(sp) ; RV32ZVBC32-NEXT: lui s6, 65536 ; RV32ZVBC32-NEXT: sw zero, 264(sp) ; RV32ZVBC32-NEXT: sw s3, 268(sp) ; RV32ZVBC32-NEXT: lui s7, 131072 ; RV32ZVBC32-NEXT: sw zero, 240(sp) ; RV32ZVBC32-NEXT: sw s8, 244(sp) ; RV32ZVBC32-NEXT: lui s8, 262144 ; RV32ZVBC32-NEXT: sw zero, 232(sp) ; RV32ZVBC32-NEXT: li s3, 16 ; RV32ZVBC32-NEXT: sw s3, 236(sp) ; RV32ZVBC32-NEXT: li s3, 16 ; RV32ZVBC32-NEXT: sw zero, 224(sp) ; RV32ZVBC32-NEXT: sw s10, 228(sp) ; RV32ZVBC32-NEXT: sw zero, 216(sp) ; RV32ZVBC32-NEXT: sw s9, 220(sp) ; RV32ZVBC32-NEXT: li s10, 64 ; RV32ZVBC32-NEXT: sw zero, 208(sp) ; RV32ZVBC32-NEXT: sw s5, 212(sp) ; RV32ZVBC32-NEXT: sw zero, 200(sp) ; RV32ZVBC32-NEXT: sw s4, 204(sp) ; RV32ZVBC32-NEXT: sw zero, 192(sp) ; RV32ZVBC32-NEXT: sw s2, 196(sp) ; RV32ZVBC32-NEXT: li s4, 512 ; RV32ZVBC32-NEXT: sw zero, 184(sp) ; RV32ZVBC32-NEXT: sw s1, 188(sp) ; RV32ZVBC32-NEXT: li s2, 1024 ; RV32ZVBC32-NEXT: slli s11, s11, 11 ; RV32ZVBC32-NEXT: sw zero, 176(sp) ; RV32ZVBC32-NEXT: sw s11, 180(sp) ; RV32ZVBC32-NEXT: sw zero, 168(sp) ; RV32ZVBC32-NEXT: sw ra, 172(sp) ; RV32ZVBC32-NEXT: sw zero, 160(sp) ; RV32ZVBC32-NEXT: sw t5, 164(sp) ; RV32ZVBC32-NEXT: lui s5, 2 ; RV32ZVBC32-NEXT: sw zero, 152(sp) ; RV32ZVBC32-NEXT: sw t4, 156(sp) ; RV32ZVBC32-NEXT: lui s1, 4 ; RV32ZVBC32-NEXT: sw zero, 144(sp) ; RV32ZVBC32-NEXT: sw t3, 148(sp) ; RV32ZVBC32-NEXT: lui t4, 8 ; RV32ZVBC32-NEXT: sw zero, 136(sp) ; RV32ZVBC32-NEXT: sw t2, 140(sp) ; RV32ZVBC32-NEXT: lui t5, 16 ; RV32ZVBC32-NEXT: sw zero, 128(sp) ; RV32ZVBC32-NEXT: sw t1, 132(sp) ; RV32ZVBC32-NEXT: lui t3, 32 ; RV32ZVBC32-NEXT: sw zero, 120(sp) ; RV32ZVBC32-NEXT: sw t0, 124(sp) ; RV32ZVBC32-NEXT: lui t1, 64 ; RV32ZVBC32-NEXT: sw zero, 112(sp) ; RV32ZVBC32-NEXT: sw a7, 116(sp) ; RV32ZVBC32-NEXT: lui t2, 128 ; RV32ZVBC32-NEXT: sw zero, 104(sp) ; RV32ZVBC32-NEXT: sw a6, 108(sp) ; RV32ZVBC32-NEXT: sw zero, 96(sp) ; RV32ZVBC32-NEXT: sw a5, 100(sp) ; RV32ZVBC32-NEXT: lui t0, 512 ; RV32ZVBC32-NEXT: sw zero, 88(sp) ; RV32ZVBC32-NEXT: sw a4, 92(sp) ; RV32ZVBC32-NEXT: lui a7, 1024 ; RV32ZVBC32-NEXT: sw zero, 80(sp) ; RV32ZVBC32-NEXT: sw a3, 84(sp) ; RV32ZVBC32-NEXT: lui a4, 2048 ; RV32ZVBC32-NEXT: sw zero, 72(sp) ; RV32ZVBC32-NEXT: sw a2, 76(sp) ; RV32ZVBC32-NEXT: lui a5, 4096 ; RV32ZVBC32-NEXT: sw zero, 64(sp) ; RV32ZVBC32-NEXT: sw a1, 68(sp) ; RV32ZVBC32-NEXT: lui a3, 8192 ; RV32ZVBC32-NEXT: sw zero, 56(sp) ; RV32ZVBC32-NEXT: sw t6, 60(sp) ; RV32ZVBC32-NEXT: sw zero, 48(sp) ; RV32ZVBC32-NEXT: sw s0, 52(sp) ; RV32ZVBC32-NEXT: sw zero, 40(sp) ; RV32ZVBC32-NEXT: sw s6, 44(sp) ; RV32ZVBC32-NEXT: sw zero, 32(sp) ; RV32ZVBC32-NEXT: sw s7, 36(sp) ; RV32ZVBC32-NEXT: sw zero, 24(sp) ; RV32ZVBC32-NEXT: sw s8, 28(sp) ; RV32ZVBC32-NEXT: sw zero, 16(sp) ; RV32ZVBC32-NEXT: sw a0, 20(sp) ; RV32ZVBC32-NEXT: lui a0, 61681 ; RV32ZVBC32-NEXT: addi a0, a0, -241 ; RV32ZVBC32-NEXT: vsetvli a1, zero, e32, m1, ta, ma ; RV32ZVBC32-NEXT: vmv.v.x v9, a0 ; RV32ZVBC32-NEXT: lui a0, 209715 ; RV32ZVBC32-NEXT: addi a0, a0, 819 ; RV32ZVBC32-NEXT: vmv.v.x v10, a0 ; RV32ZVBC32-NEXT: lui a0, 349525 ; RV32ZVBC32-NEXT: addi a0, a0, 1365 ; RV32ZVBC32-NEXT: vmv.v.x v11, a0 ; RV32ZVBC32-NEXT: addi a0, sp, 248 ; RV32ZVBC32-NEXT: vsetvli a1, zero, e64, m1, ta, mu ; RV32ZVBC32-NEXT: vlse64.v v12, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 8 ; RV32ZVBC32-NEXT: vlse64.v v6, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 272 ; RV32ZVBC32-NEXT: vlse64.v v7, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 256 ; RV32ZVBC32-NEXT: vlse64.v v31, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 264 ; RV32ZVBC32-NEXT: vlse64.v v30, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 240 ; RV32ZVBC32-NEXT: vlse64.v v29, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 232 ; RV32ZVBC32-NEXT: vlse64.v v28, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 224 ; RV32ZVBC32-NEXT: vlse64.v v27, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 216 ; RV32ZVBC32-NEXT: vlse64.v v22, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 208 ; RV32ZVBC32-NEXT: vlse64.v v19, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 200 ; RV32ZVBC32-NEXT: vlse64.v v18, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 192 ; RV32ZVBC32-NEXT: vlse64.v v23, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 184 ; RV32ZVBC32-NEXT: vlse64.v v16, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 176 ; RV32ZVBC32-NEXT: vlse64.v v14, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 168 ; RV32ZVBC32-NEXT: vlse64.v v15, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 160 ; RV32ZVBC32-NEXT: vlse64.v v17, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 152 ; RV32ZVBC32-NEXT: vlse64.v v20, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 144 ; RV32ZVBC32-NEXT: vlse64.v v25, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 136 ; RV32ZVBC32-NEXT: vlse64.v v21, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 128 ; RV32ZVBC32-NEXT: vlse64.v v24, (a0), zero ; RV32ZVBC32-NEXT: addi a0, sp, 120 ; RV32ZVBC32-NEXT: vlse64.v v26, (a0), zero ; RV32ZVBC32-NEXT: li ra, 56 ; RV32ZVBC32-NEXT: vsrl.vx v5, v13, ra ; RV32ZVBC32-NEXT: li a2, 40 ; RV32ZVBC32-NEXT: vsrl.vx v4, v13, a2 ; RV32ZVBC32-NEXT: vsrl.vi v3, v13, 24 ; RV32ZVBC32-NEXT: vsrl.vi v2, v13, 8 ; RV32ZVBC32-NEXT: vsll.vx v1, v13, ra ; RV32ZVBC32-NEXT: addi a0, t5, -256 ; RV32ZVBC32-NEXT: vand.vx v4, v4, a0 ; RV32ZVBC32-NEXT: vor.vv v5, v4, v5 ; RV32ZVBC32-NEXT: vand.vx v4, v13, a0 ; RV32ZVBC32-NEXT: vsll.vx v4, v4, a2 ; RV32ZVBC32-NEXT: vor.vv v4, v1, v4 ; RV32ZVBC32-NEXT: lui a1, 4080 ; RV32ZVBC32-NEXT: vand.vx v1, v13, a1 ; RV32ZVBC32-NEXT: vand.vx v3, v3, a1 ; RV32ZVBC32-NEXT: vsll.vi v1, v1, 24 ; RV32ZVBC32-NEXT: vand.vv v2, v2, v12 ; RV32ZVBC32-NEXT: vand.vv v13, v13, v12 ; RV32ZVBC32-NEXT: vor.vv v3, v2, v3 ; RV32ZVBC32-NEXT: vsll.vi v13, v13, 8 ; RV32ZVBC32-NEXT: vor.vv v5, v3, v5 ; RV32ZVBC32-NEXT: vor.vv v13, v1, v13 ; RV32ZVBC32-NEXT: vor.vv v13, v4, v13 ; RV32ZVBC32-NEXT: vor.vv v13, v13, v5 ; RV32ZVBC32-NEXT: vsrl.vi v5, v13, 4 ; RV32ZVBC32-NEXT: vand.vv v13, v13, v9 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v9 ; RV32ZVBC32-NEXT: vsll.vi v13, v13, 4 ; RV32ZVBC32-NEXT: vor.vv v13, v5, v13 ; RV32ZVBC32-NEXT: vsrl.vi v5, v13, 2 ; RV32ZVBC32-NEXT: vand.vv v13, v13, v10 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v10 ; RV32ZVBC32-NEXT: vsll.vi v13, v13, 2 ; RV32ZVBC32-NEXT: vor.vv v13, v5, v13 ; RV32ZVBC32-NEXT: vsrl.vi v5, v13, 1 ; RV32ZVBC32-NEXT: vand.vv v13, v13, v11 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v11 ; RV32ZVBC32-NEXT: vadd.vv v13, v13, v13 ; RV32ZVBC32-NEXT: vor.vv v13, v5, v13 ; RV32ZVBC32-NEXT: vand.vx v4, v13, s3 ; RV32ZVBC32-NEXT: vsrl.vi v5, v8, 24 ; RV32ZVBC32-NEXT: vsrl.vx v3, v8, ra ; RV32ZVBC32-NEXT: vsrl.vx v2, v8, a2 ; RV32ZVBC32-NEXT: vsll.vx v1, v8, ra ; RV32ZVBC32-NEXT: vand.vx v2, v2, a0 ; RV32ZVBC32-NEXT: vor.vv v3, v2, v3 ; RV32ZVBC32-NEXT: vand.vx v2, v8, a0 ; RV32ZVBC32-NEXT: vsll.vx v2, v2, a2 ; RV32ZVBC32-NEXT: vor.vv v2, v1, v2 ; RV32ZVBC32-NEXT: vsrl.vi v1, v8, 8 ; RV32ZVBC32-NEXT: vand.vx v5, v5, a1 ; RV32ZVBC32-NEXT: vand.vv v1, v1, v12 ; RV32ZVBC32-NEXT: vor.vv v5, v1, v5 ; RV32ZVBC32-NEXT: vand.vx v1, v8, a1 ; RV32ZVBC32-NEXT: vsll.vi v1, v1, 24 ; RV32ZVBC32-NEXT: vor.vv v5, v5, v3 ; RV32ZVBC32-NEXT: vand.vv v3, v8, v12 ; RV32ZVBC32-NEXT: vsll.vi v3, v3, 8 ; RV32ZVBC32-NEXT: vor.vv v3, v1, v3 ; RV32ZVBC32-NEXT: li s9, 32 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s9 ; RV32ZVBC32-NEXT: vor.vv v3, v2, v3 ; RV32ZVBC32-NEXT: vor.vv v5, v3, v5 ; RV32ZVBC32-NEXT: vsrl.vi v3, v5, 4 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v9 ; RV32ZVBC32-NEXT: vand.vv v3, v3, v9 ; RV32ZVBC32-NEXT: vsll.vi v5, v5, 4 ; RV32ZVBC32-NEXT: vor.vv v5, v3, v5 ; RV32ZVBC32-NEXT: vsrl.vi v3, v5, 2 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v10 ; RV32ZVBC32-NEXT: vand.vv v3, v3, v10 ; RV32ZVBC32-NEXT: vsll.vi v5, v5, 2 ; RV32ZVBC32-NEXT: vor.vv v5, v3, v5 ; RV32ZVBC32-NEXT: vsrl.vi v3, v5, 1 ; RV32ZVBC32-NEXT: vand.vv v5, v5, v11 ; RV32ZVBC32-NEXT: vand.vv v3, v3, v11 ; RV32ZVBC32-NEXT: vadd.vv v5, v5, v5 ; RV32ZVBC32-NEXT: vor.vv v5, v3, v5 ; RV32ZVBC32-NEXT: vand.vi v3, v13, 2 ; RV32ZVBC32-NEXT: vand.vi v2, v13, 1 ; RV32ZVBC32-NEXT: vmul.vv v3, v5, v3 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v2, v3 ; RV32ZVBC32-NEXT: vand.vi v2, v13, 4 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vi v2, v13, 8 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, s10 ; RV32ZVBC32-NEXT: vmul.vv v4, v5, v4 ; RV32ZVBC32-NEXT: vxor.vv v4, v3, v4 ; RV32ZVBC32-NEXT: li s3, 128 ; RV32ZVBC32-NEXT: vand.vx v3, v13, s3 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v4, v4, v1 ; RV32ZVBC32-NEXT: li s3, 256 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s3 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v4, v4, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, s4 ; RV32ZVBC32-NEXT: vmul.vv v3, v5, v3 ; RV32ZVBC32-NEXT: vxor.vv v4, v4, v3 ; RV32ZVBC32-NEXT: vand.vx v3, v13, s2 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v1, v4, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v1, v2 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s11 ; RV32ZVBC32-NEXT: vmul.vv v3, v5, v3 ; RV32ZVBC32-NEXT: vxor.vv v3, v2, v3 ; RV32ZVBC32-NEXT: lui s2, 1 ; RV32ZVBC32-NEXT: vand.vx v2, v13, s2 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s5 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, s1 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, t4 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, t5 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, t3 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, t1 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, t2 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, a6 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, t0 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, a7 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, a4 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v2 ; RV32ZVBC32-NEXT: vand.vx v2, v13, a5 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v3, v3, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, a3 ; RV32ZVBC32-NEXT: vmul.vv v2, v5, v2 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v3, v2 ; RV32ZVBC32-NEXT: vxor.vv v2, v2, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, t6 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v2, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s0 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v2, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s6 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v2, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s7 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v2, v2, v1 ; RV32ZVBC32-NEXT: vand.vx v1, v13, s8 ; RV32ZVBC32-NEXT: addi a3, sp, 112 ; RV32ZVBC32-NEXT: vmul.vv v1, v5, v1 ; RV32ZVBC32-NEXT: vxor.vv v1, v2, v1 ; RV32ZVBC32-NEXT: vlse64.v v2, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 104 ; RV32ZVBC32-NEXT: vand.vv v6, v13, v6 ; RV32ZVBC32-NEXT: vmul.vv v6, v5, v6 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v6 ; RV32ZVBC32-NEXT: vlse64.v v6, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 96 ; RV32ZVBC32-NEXT: vand.vv v7, v13, v7 ; RV32ZVBC32-NEXT: vmul.vv v7, v5, v7 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v7 ; RV32ZVBC32-NEXT: vlse64.v v7, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 88 ; RV32ZVBC32-NEXT: vand.vv v31, v13, v31 ; RV32ZVBC32-NEXT: vmul.vv v31, v5, v31 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v31 ; RV32ZVBC32-NEXT: vlse64.v v31, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 80 ; RV32ZVBC32-NEXT: vand.vv v30, v13, v30 ; RV32ZVBC32-NEXT: vmul.vv v30, v5, v30 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v30 ; RV32ZVBC32-NEXT: vlse64.v v30, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 72 ; RV32ZVBC32-NEXT: vand.vv v29, v13, v29 ; RV32ZVBC32-NEXT: vmul.vv v29, v5, v29 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v29 ; RV32ZVBC32-NEXT: vlse64.v v29, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 64 ; RV32ZVBC32-NEXT: vand.vv v28, v13, v28 ; RV32ZVBC32-NEXT: vmul.vv v28, v5, v28 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v28 ; RV32ZVBC32-NEXT: vlse64.v v28, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 56 ; RV32ZVBC32-NEXT: vand.vv v27, v13, v27 ; RV32ZVBC32-NEXT: vmul.vv v27, v5, v27 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v27 ; RV32ZVBC32-NEXT: vlse64.v v27, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 48 ; RV32ZVBC32-NEXT: vand.vv v22, v13, v22 ; RV32ZVBC32-NEXT: vmul.vv v22, v5, v22 ; RV32ZVBC32-NEXT: vxor.vv v1, v1, v22 ; RV32ZVBC32-NEXT: vlse64.v v22, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 40 ; RV32ZVBC32-NEXT: vand.vv v19, v13, v19 ; RV32ZVBC32-NEXT: vmul.vv v19, v5, v19 ; RV32ZVBC32-NEXT: vxor.vv v19, v1, v19 ; RV32ZVBC32-NEXT: vlse64.v v1, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 32 ; RV32ZVBC32-NEXT: vand.vv v18, v13, v18 ; RV32ZVBC32-NEXT: vand.vv v23, v13, v23 ; RV32ZVBC32-NEXT: vmul.vv v18, v5, v18 ; RV32ZVBC32-NEXT: vmul.vv v23, v5, v23 ; RV32ZVBC32-NEXT: vxor.vv v18, v19, v18 ; RV32ZVBC32-NEXT: vxor.vv v23, v18, v23 ; RV32ZVBC32-NEXT: vlse64.v v18, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 24 ; RV32ZVBC32-NEXT: vand.vv v16, v13, v16 ; RV32ZVBC32-NEXT: vmul.vv v16, v5, v16 ; RV32ZVBC32-NEXT: vxor.vv v16, v23, v16 ; RV32ZVBC32-NEXT: vlse64.v v23, (a3), zero ; RV32ZVBC32-NEXT: addi a3, sp, 16 ; RV32ZVBC32-NEXT: vand.vv v14, v13, v14 ; RV32ZVBC32-NEXT: vmul.vv v14, v5, v14 ; RV32ZVBC32-NEXT: vxor.vv v14, v16, v14 ; RV32ZVBC32-NEXT: vlse64.v v16, (a3), zero ; RV32ZVBC32-NEXT: vand.vv v15, v13, v15 ; RV32ZVBC32-NEXT: vmul.vv v15, v5, v15 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v15 ; RV32ZVBC32-NEXT: vand.vv v15, v13, v17 ; RV32ZVBC32-NEXT: vmul.vv v15, v5, v15 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v15 ; RV32ZVBC32-NEXT: vand.vv v15, v13, v20 ; RV32ZVBC32-NEXT: vand.vv v17, v13, v25 ; RV32ZVBC32-NEXT: vmul.vv v15, v5, v15 ; RV32ZVBC32-NEXT: vmul.vv v17, v5, v17 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v15 ; RV32ZVBC32-NEXT: vand.vx v15, v19, a1 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v17 ; RV32ZVBC32-NEXT: vsrl.vi v17, v14, 24 ; RV32ZVBC32-NEXT: vand.vx v17, v17, a1 ; RV32ZVBC32-NEXT: vand.vv v20, v13, v21 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v13, v24 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v13, v26 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v13, v2 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v13, v6 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v13, v7 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v13, v31 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vand.vv v20, v13, v30 ; RV32ZVBC32-NEXT: vmul.vv v20, v5, v20 ; RV32ZVBC32-NEXT: vand.vx v21, v3, a0 ; RV32ZVBC32-NEXT: vsll.vx v21, v21, a2 ; RV32ZVBC32-NEXT: vxor.vv v14, v14, v20 ; RV32ZVBC32-NEXT: vsrl.vx v20, v14, a2 ; RV32ZVBC32-NEXT: vand.vx v20, v20, a0 ; RV32ZVBC32-NEXT: vand.vv v24, v13, v29 ; RV32ZVBC32-NEXT: vand.vv v25, v13, v28 ; RV32ZVBC32-NEXT: vand.vv v26, v13, v27 ; RV32ZVBC32-NEXT: vand.vv v22, v13, v22 ; RV32ZVBC32-NEXT: vand.vv v27, v13, v1 ; RV32ZVBC32-NEXT: vand.vv v18, v13, v18 ; RV32ZVBC32-NEXT: vand.vv v23, v13, v23 ; RV32ZVBC32-NEXT: vand.vv v13, v13, v16 ; RV32ZVBC32-NEXT: vmul.vv v16, v5, v24 ; RV32ZVBC32-NEXT: vmul.vv v24, v5, v25 ; RV32ZVBC32-NEXT: vmul.vv v25, v5, v26 ; RV32ZVBC32-NEXT: vmul.vv v22, v5, v22 ; RV32ZVBC32-NEXT: vmul.vv v26, v5, v27 ; RV32ZVBC32-NEXT: vmul.vv v18, v5, v18 ; RV32ZVBC32-NEXT: vmul.vv v23, v5, v23 ; RV32ZVBC32-NEXT: vmul.vv v13, v5, v13 ; RV32ZVBC32-NEXT: vxor.vv v16, v14, v16 ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v24 ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v25 ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v22 ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v26 ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v18 ; RV32ZVBC32-NEXT: vxor.vv v16, v16, v23 ; RV32ZVBC32-NEXT: vxor.vv v13, v16, v13 ; RV32ZVBC32-NEXT: vsll.vx v16, v4, ra ; RV32ZVBC32-NEXT: vsrl.vx v13, v13, ra ; RV32ZVBC32-NEXT: vor.vv v16, v16, v21 ; RV32ZVBC32-NEXT: vsrl.vi v18, v19, 8 ; RV32ZVBC32-NEXT: vsll.vi v15, v15, 24 ; RV32ZVBC32-NEXT: vand.vv v18, v18, v12 ; RV32ZVBC32-NEXT: vor.vv v17, v18, v17 ; RV32ZVBC32-NEXT: vand.vv v12, v14, v12 ; RV32ZVBC32-NEXT: vsll.vi v12, v12, 8 ; RV32ZVBC32-NEXT: vor.vv v12, v15, v12 ; RV32ZVBC32-NEXT: vor.vv v12, v16, v12 ; RV32ZVBC32-NEXT: vor.vv v13, v20, v13 ; RV32ZVBC32-NEXT: vor.vv v13, v17, v13 ; RV32ZVBC32-NEXT: vor.vv v12, v12, v13 ; RV32ZVBC32-NEXT: vsrl.vi v13, v12, 4 ; RV32ZVBC32-NEXT: vand.vv v12, v12, v9 ; RV32ZVBC32-NEXT: vand.vv v9, v13, v9 ; RV32ZVBC32-NEXT: vsll.vi v12, v12, 4 ; RV32ZVBC32-NEXT: vor.vv v9, v9, v12 ; RV32ZVBC32-NEXT: vsrl.vi v12, v9, 2 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v10 ; RV32ZVBC32-NEXT: vand.vv v10, v12, v10 ; RV32ZVBC32-NEXT: vsll.vi v9, v9, 2 ; RV32ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV32ZVBC32-NEXT: vsrl.vi v10, v9, 1 ; RV32ZVBC32-NEXT: vand.vv v9, v9, v11 ; RV32ZVBC32-NEXT: vand.vv v10, v10, v11 ; RV32ZVBC32-NEXT: vadd.vv v9, v9, v9 ; RV32ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV32ZVBC32-NEXT: vsrl.vi v8, v9, 1, v0.t ; RV32ZVBC32-NEXT: lw ra, 332(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s0, 328(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s1, 324(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s2, 320(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s3, 316(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s4, 312(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s5, 308(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s6, 304(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s7, 300(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s8, 296(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s9, 292(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s10, 288(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: lw s11, 284(sp) # 4-byte Folded Reload ; RV32ZVBC32-NEXT: .cfi_restore ra ; RV32ZVBC32-NEXT: .cfi_restore s0 ; RV32ZVBC32-NEXT: .cfi_restore s1 ; RV32ZVBC32-NEXT: .cfi_restore s2 ; RV32ZVBC32-NEXT: .cfi_restore s3 ; RV32ZVBC32-NEXT: .cfi_restore s4 ; RV32ZVBC32-NEXT: .cfi_restore s5 ; RV32ZVBC32-NEXT: .cfi_restore s6 ; RV32ZVBC32-NEXT: .cfi_restore s7 ; RV32ZVBC32-NEXT: .cfi_restore s8 ; RV32ZVBC32-NEXT: .cfi_restore s9 ; RV32ZVBC32-NEXT: .cfi_restore s10 ; RV32ZVBC32-NEXT: .cfi_restore s11 ; RV32ZVBC32-NEXT: addi sp, sp, 336 ; RV32ZVBC32-NEXT: .cfi_def_cfa_offset 0 ; RV32ZVBC32-NEXT: ret ; ; RV64ZVBC32-LABEL: clmulh_nxv1i64_vx_mask: ; RV64ZVBC32: # %bb.0: ; RV64ZVBC32-NEXT: li a1, 56 ; RV64ZVBC32-NEXT: lui t2, 16 ; RV64ZVBC32-NEXT: lui a2, 4080 ; RV64ZVBC32-NEXT: li t0, 255 ; RV64ZVBC32-NEXT: lui a3, 61681 ; RV64ZVBC32-NEXT: lui a4, 209715 ; RV64ZVBC32-NEXT: lui a5, 349525 ; RV64ZVBC32-NEXT: srli a6, a0, 24 ; RV64ZVBC32-NEXT: srli a7, a0, 8 ; RV64ZVBC32-NEXT: srli t1, a0, 40 ; RV64ZVBC32-NEXT: srli t3, a0, 56 ; RV64ZVBC32-NEXT: addi a3, a3, -241 ; RV64ZVBC32-NEXT: addi a4, a4, 819 ; RV64ZVBC32-NEXT: addi t4, a5, 1365 ; RV64ZVBC32-NEXT: slli a5, a3, 32 ; RV64ZVBC32-NEXT: add a5, a3, a5 ; RV64ZVBC32-NEXT: slli a3, a4, 32 ; RV64ZVBC32-NEXT: add a4, a4, a3 ; RV64ZVBC32-NEXT: slli a3, t4, 32 ; RV64ZVBC32-NEXT: add a3, t4, a3 ; RV64ZVBC32-NEXT: srliw t4, a0, 24 ; RV64ZVBC32-NEXT: slli t0, t0, 24 ; RV64ZVBC32-NEXT: and a6, a6, a2 ; RV64ZVBC32-NEXT: and a7, a7, t0 ; RV64ZVBC32-NEXT: or t5, a7, a6 ; RV64ZVBC32-NEXT: addi a6, t2, -256 ; RV64ZVBC32-NEXT: and a7, t1, a6 ; RV64ZVBC32-NEXT: or t1, a7, t3 ; RV64ZVBC32-NEXT: and a7, a0, a2 ; RV64ZVBC32-NEXT: slli t4, t4, 32 ; RV64ZVBC32-NEXT: slli a7, a7, 24 ; RV64ZVBC32-NEXT: or t3, a7, t4 ; RV64ZVBC32-NEXT: li a7, 40 ; RV64ZVBC32-NEXT: vsetvli t4, zero, e64, m1, ta, mu ; RV64ZVBC32-NEXT: vsrl.vi v10, v8, 24 ; RV64ZVBC32-NEXT: vsrl.vi v9, v8, 8 ; RV64ZVBC32-NEXT: or t1, t5, t1 ; RV64ZVBC32-NEXT: slli t4, a0, 56 ; RV64ZVBC32-NEXT: and a0, a0, a6 ; RV64ZVBC32-NEXT: slli a0, a0, 40 ; RV64ZVBC32-NEXT: or t4, t4, a0 ; RV64ZVBC32-NEXT: li a0, 1 ; RV64ZVBC32-NEXT: or t4, t4, t3 ; RV64ZVBC32-NEXT: lui t3, 1 ; RV64ZVBC32-NEXT: vsrl.vx v11, v8, a1 ; RV64ZVBC32-NEXT: vsrl.vx v12, v8, a7 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a2 ; RV64ZVBC32-NEXT: vand.vx v13, v8, a2 ; RV64ZVBC32-NEXT: vsll.vx v14, v8, a1 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a6 ; RV64ZVBC32-NEXT: vand.vx v9, v9, t0 ; RV64ZVBC32-NEXT: vsll.vi v13, v13, 24 ; RV64ZVBC32-NEXT: vand.vx v15, v8, t0 ; RV64ZVBC32-NEXT: vor.vv v11, v12, v11 ; RV64ZVBC32-NEXT: vand.vx v12, v8, a6 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v10 ; RV64ZVBC32-NEXT: vsll.vi v10, v15, 8 ; RV64ZVBC32-NEXT: vsll.vx v12, v12, a7 ; RV64ZVBC32-NEXT: vor.vv v9, v9, v11 ; RV64ZVBC32-NEXT: vor.vv v10, v13, v10 ; RV64ZVBC32-NEXT: vor.vv v11, v14, v12 ; RV64ZVBC32-NEXT: vor.vv v10, v11, v10 ; RV64ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v10, v9, 4 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a5 ; RV64ZVBC32-NEXT: srli t4, t1, 4 ; RV64ZVBC32-NEXT: and t1, t1, a5 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a5 ; RV64ZVBC32-NEXT: vsll.vi v9, v9, 4 ; RV64ZVBC32-NEXT: and t4, t4, a5 ; RV64ZVBC32-NEXT: slli t1, t1, 4 ; RV64ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v10, v9, 2 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a4 ; RV64ZVBC32-NEXT: srli t4, t1, 2 ; RV64ZVBC32-NEXT: and t1, t1, a4 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a4 ; RV64ZVBC32-NEXT: vsll.vi v9, v9, 2 ; RV64ZVBC32-NEXT: and t4, t4, a4 ; RV64ZVBC32-NEXT: slli t1, t1, 2 ; RV64ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: vsrl.vi v10, v9, 1 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a3 ; RV64ZVBC32-NEXT: srli t4, t1, 1 ; RV64ZVBC32-NEXT: and t1, t1, a3 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a3 ; RV64ZVBC32-NEXT: vadd.vv v9, v9, v9 ; RV64ZVBC32-NEXT: and t4, t4, a3 ; RV64ZVBC32-NEXT: slli t1, t1, 1 ; RV64ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: or t1, t4, t1 ; RV64ZVBC32-NEXT: andi t4, t1, 2 ; RV64ZVBC32-NEXT: vmul.vx v10, v9, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 1 ; RV64ZVBC32-NEXT: vmul.vx v11, v9, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 4 ; RV64ZVBC32-NEXT: vmul.vx v12, v9, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 8 ; RV64ZVBC32-NEXT: vmul.vx v13, v9, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 16 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 32 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 64 ; RV64ZVBC32-NEXT: vxor.vv v10, v11, v10 ; RV64ZVBC32-NEXT: vmul.vx v11, v9, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 128 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v9, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 256 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v9, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 512 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t4 ; RV64ZVBC32-NEXT: andi t4, t1, 1024 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 11 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: vmul.vx v11, v9, t4 ; RV64ZVBC32-NEXT: lui t4, 2 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v10, v10, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v9, t3 ; RV64ZVBC32-NEXT: lui t3, 4 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v13, v10, v13 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t4 ; RV64ZVBC32-NEXT: lui t4, 8 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t3 ; RV64ZVBC32-NEXT: lui t3, 32 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v11, v13, v11 ; RV64ZVBC32-NEXT: vmul.vx v13, v9, t4 ; RV64ZVBC32-NEXT: lui t4, 64 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v9, t2 ; RV64ZVBC32-NEXT: lui t2, 128 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t3 ; RV64ZVBC32-NEXT: lui t3, 256 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t4 ; RV64ZVBC32-NEXT: lui t4, 512 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v9, t2 ; RV64ZVBC32-NEXT: lui t2, 1024 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v9, t3 ; RV64ZVBC32-NEXT: lui t3, 2048 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t4 ; RV64ZVBC32-NEXT: lui t4, 4096 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t2 ; RV64ZVBC32-NEXT: lui t2, 8192 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v9, t3 ; RV64ZVBC32-NEXT: lui t3, 16384 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v9, t4 ; RV64ZVBC32-NEXT: lui t4, 32768 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t2 ; RV64ZVBC32-NEXT: lui t2, 65536 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t3 ; RV64ZVBC32-NEXT: lui t3, 131072 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v9, t4 ; RV64ZVBC32-NEXT: lui t4, 262144 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v11, v12 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 32 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vsll.vx v10, v10, a1 ; RV64ZVBC32-NEXT: vand.vx v11, v11, a6 ; RV64ZVBC32-NEXT: vsll.vx v11, v11, a7 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: vmul.vx v11, v9, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 33 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 34 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v9, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 35 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 36 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v11, v12, v11 ; RV64ZVBC32-NEXT: vmul.vx v12, v9, t4 ; RV64ZVBC32-NEXT: srliw t4, t1, 31 ; RV64ZVBC32-NEXT: slli t4, t4, 31 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 37 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 38 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v9, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 39 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 40 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v9, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 41 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 42 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v9, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 43 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 44 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v12 ; RV64ZVBC32-NEXT: vmul.vx v12, v9, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 45 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 46 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v13, v11, v13 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 47 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v13, v12 ; RV64ZVBC32-NEXT: vmul.vx v13, v9, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 48 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 49 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 50 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v13 ; RV64ZVBC32-NEXT: vmul.vx v13, v9, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 51 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 52 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v12, v12, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 53 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v13, v12, v13 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 54 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v14 ; RV64ZVBC32-NEXT: vsrl.vi v14, v11, 8 ; RV64ZVBC32-NEXT: vand.vx v14, v14, t0 ; RV64ZVBC32-NEXT: vsrl.vi v12, v12, 24 ; RV64ZVBC32-NEXT: vand.vx v12, v12, a2 ; RV64ZVBC32-NEXT: vor.vv v12, v14, v12 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 55 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 56 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 57 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t4 ; RV64ZVBC32-NEXT: slli t4, a0, 58 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v14 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, t2 ; RV64ZVBC32-NEXT: slli t2, a0, 59 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: vxor.vv v13, v13, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t3 ; RV64ZVBC32-NEXT: slli t3, a0, 60 ; RV64ZVBC32-NEXT: vand.vx v11, v11, a2 ; RV64ZVBC32-NEXT: slli a2, a0, 61 ; RV64ZVBC32-NEXT: slli a0, a0, 62 ; RV64ZVBC32-NEXT: and t4, t1, t4 ; RV64ZVBC32-NEXT: and t2, t1, t2 ; RV64ZVBC32-NEXT: and t3, t1, t3 ; RV64ZVBC32-NEXT: and a2, t1, a2 ; RV64ZVBC32-NEXT: and a0, t1, a0 ; RV64ZVBC32-NEXT: srli t1, t1, 63 ; RV64ZVBC32-NEXT: vsll.vi v11, v11, 24 ; RV64ZVBC32-NEXT: vxor.vv v14, v13, v14 ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v15 ; RV64ZVBC32-NEXT: vand.vx v15, v13, t0 ; RV64ZVBC32-NEXT: vsll.vi v15, v15, 8 ; RV64ZVBC32-NEXT: vor.vv v11, v11, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t4 ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, t2 ; RV64ZVBC32-NEXT: vor.vv v10, v10, v11 ; RV64ZVBC32-NEXT: vmul.vx v11, v9, t3 ; RV64ZVBC32-NEXT: vxor.vv v14, v14, v15 ; RV64ZVBC32-NEXT: vmul.vx v15, v9, a2 ; RV64ZVBC32-NEXT: vxor.vv v11, v14, v11 ; RV64ZVBC32-NEXT: vmul.vx v14, v9, a0 ; RV64ZVBC32-NEXT: slli t1, t1, 63 ; RV64ZVBC32-NEXT: vmul.vx v9, v9, t1 ; RV64ZVBC32-NEXT: vsrl.vx v13, v13, a7 ; RV64ZVBC32-NEXT: vand.vx v13, v13, a6 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v15 ; RV64ZVBC32-NEXT: vxor.vv v11, v11, v14 ; RV64ZVBC32-NEXT: vxor.vv v9, v11, v9 ; RV64ZVBC32-NEXT: vsrl.vx v9, v9, a1 ; RV64ZVBC32-NEXT: vor.vv v9, v13, v9 ; RV64ZVBC32-NEXT: vor.vv v9, v12, v9 ; RV64ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: vsrl.vi v10, v9, 4 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a5 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a5 ; RV64ZVBC32-NEXT: vsll.vi v9, v9, 4 ; RV64ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: vsrl.vi v10, v9, 2 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a4 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a4 ; RV64ZVBC32-NEXT: vsll.vi v9, v9, 2 ; RV64ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: vsrl.vi v10, v9, 1 ; RV64ZVBC32-NEXT: vand.vx v9, v9, a3 ; RV64ZVBC32-NEXT: vand.vx v10, v10, a3 ; RV64ZVBC32-NEXT: vadd.vv v9, v9, v9 ; RV64ZVBC32-NEXT: vor.vv v9, v10, v9 ; RV64ZVBC32-NEXT: vsrl.vi v8, v9, 1, v0.t ; RV64ZVBC32-NEXT: ret %elt.head = insertelement poison, i64 %b, i128 0 %vb = shufflevector %elt.head, poison, zeroinitializer %va.ext = zext %va to %vb.ext = zext %vb to %clmul = call @llvm.clmul.nxv1i128( %va.ext, %vb.ext) %res.ext = lshr %clmul, splat(i128 64) %res = trunc %res.ext to %sel = select %mask, %res, %va ret %sel } ;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line: ; CHECK: {{.*}} ; RV32: {{.*}} ; RV32ZVBC: {{.*}} ; RV64: {{.*}} ; RV64ZVBC: {{.*}}