1; RUN: llc -mattr=+hvxv60,hvx-length64b -march=hexagon -O2 < %s | FileCheck %s 2 3; CHECK-LABEL: V6_vmaskedstoreq 4; CHECK: if (q{{[0-3]+}}) vmem(r{{[0-9]+}}+#0) = v{{[0-9]+}} 5 6; CHECK-LABEL: V6_vmaskedstorenq 7; CHECK: if (!q{{[0-3]+}}) vmem(r{{[0-9]+}}+#0) = v{{[0-9]+}} 8 9; CHECK-LABEL: V6_vmaskedstorentq 10; CHECK: if (q{{[0-3]+}}) vmem(r{{[0-9]+}}+#0):nt = v{{[0-9]+}} 11 12; CHECK-LABEL: V6_vmaskedstorentnq 13; CHECK: if (!q{{[0-3]+}}) vmem(r{{[0-9]+}}+#0):nt = v{{[0-9]+}} 14 15declare <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32>, i32) 16 17declare void @llvm.hexagon.V6.vmaskedstoreq(<64 x i1>, i8*, <16 x i32>) 18define void @V6_vmaskedstoreq( <16 x i32> %a, i8* %b, <16 x i32> %c) { 19 %1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %a, i32 -1) 20 call void @llvm.hexagon.V6.vmaskedstoreq(<64 x i1> %1, i8* %b, <16 x i32> %c) 21 ret void 22} 23 24declare void @llvm.hexagon.V6.vmaskedstorenq(<64 x i1>, i8*, <16 x i32>) 25define void @V6_vmaskedstorenq( <16 x i32> %a, i8* %b, <16 x i32> %c) { 26 %1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %a, i32 -1) 27 call void @llvm.hexagon.V6.vmaskedstorenq(<64 x i1> %1, i8* %b, <16 x i32> %c) 28 ret void 29} 30 31declare void @llvm.hexagon.V6.vmaskedstorentq(<64 x i1>, i8*, <16 x i32>) 32define void @V6_vmaskedstorentq( <16 x i32> %a, i8* %b, <16 x i32> %c) { 33 %1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %a, i32 -1) 34 call void @llvm.hexagon.V6.vmaskedstorentq(<64 x i1> %1, i8* %b, <16 x i32> %c) 35 ret void 36} 37 38declare void @llvm.hexagon.V6.vmaskedstorentnq(<64 x i1>, i8*, <16 x i32>) 39define void @V6_vmaskedstorentnq( <16 x i32> %a, i8* %b, <16 x i32> %c) { 40 %1 = tail call <64 x i1> @llvm.hexagon.V6.vandvrt(<16 x i32> %a, i32 -1) 41 call void @llvm.hexagon.V6.vmaskedstorentnq(<64 x i1> %1, i8* %b, <16 x i32> %c) 42 ret void 43} 44