Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/RISCV/rvv/vpstore.ll
Show First 20 Lines • Show All 333 Lines • ▼ Show 20 Lines | |||||
; CHECK-LABEL: vpstore_nxv8f64: | ; CHECK-LABEL: vpstore_nxv8f64: | ||||
; CHECK: # %bb.0: | ; CHECK: # %bb.0: | ||||
; CHECK-NEXT: vsetvli zero, a1, e64, m8, ta, mu | ; CHECK-NEXT: vsetvli zero, a1, e64, m8, ta, mu | ||||
; CHECK-NEXT: vse64.v v8, (a0), v0.t | ; CHECK-NEXT: vse64.v v8, (a0), v0.t | ||||
; CHECK-NEXT: ret | ; CHECK-NEXT: ret | ||||
call void @llvm.vp.store.nxv8f64(<vscale x 8 x double> %val, <vscale x 8 x double>* %ptr, <vscale x 8 x i1> %m, i32 %evl) | call void @llvm.vp.store.nxv8f64(<vscale x 8 x double> %val, <vscale x 8 x double>* %ptr, <vscale x 8 x i1> %m, i32 %evl) | ||||
ret void | ret void | ||||
} | } | ||||
define void @vpstore_nxv1i8_allones_mask(<vscale x 1 x i8> %val, <vscale x 1 x i8>* %ptr, i32 zeroext %evl) { | |||||
; CHECK-LABEL: vpstore_nxv1i8_allones_mask: | |||||
; CHECK: # %bb.0: | |||||
; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, mu | |||||
; CHECK-NEXT: vse8.v v8, (a0) | |||||
; CHECK-NEXT: ret | |||||
%a = insertelement <vscale x 1 x i1> undef, i1 true, i32 0 | |||||
%b = shufflevector <vscale x 1 x i1> %a, <vscale x 1 x i1> poison, <vscale x 1 x i32> zeroinitializer | |||||
call void @llvm.vp.store.nxv1i8(<vscale x 1 x i8> %val, <vscale x 1 x i8>* %ptr, <vscale x 1 x i1> %b, i32 %evl) | |||||
ret void | |||||
} |