[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / Hexagon / intrinsics / byte-store-double.ll
blob3b853ebb444bc4a1be4d90f8fe3f8155ce8e1a23
1 ; RUN: llc -mattr=+hvxv60,hvx-length128b -march=hexagon -O2 < %s | FileCheck %s
3 ; CHECK-LABEL: V6_vmaskedstoreq_128B
4 ; CHECK: if (q{{[0-3]+}}) vmem(r{{[0-9]+}}+#0) = v{{[0-9]+}}
6 ; CHECK-LABEL: V6_vmaskedstorenq_128B
7 ; CHECK: if (!q{{[0-3]+}}) vmem(r{{[0-9]+}}+#0) = v{{[0-9]+}}
9 ; CHECK-LABEL: V6_vmaskedstorentq_128B
10 ; CHECK: if (q{{[0-3]+}}) vmem(r{{[0-9]+}}+#0):nt = v{{[0-9]+}}
12 ; CHECK-LABEL: V6_vmaskedstorentnq_128B
13 ; CHECK: if (!q{{[0-3]+}}) vmem(r{{[0-9]+}}+#0):nt = v{{[0-9]+}}
15 declare void @llvm.hexagon.V6.vmaskedstoreq.128B(<1024 x i1>, i8*, <32 x i32>)
16 define void @V6_vmaskedstoreq_128B( <32 x i32> %a, i8* %b, <32 x i32> %c) {
17   %1 = bitcast <32 x i32> %a to <1024 x i1>
18   call void @llvm.hexagon.V6.vmaskedstoreq.128B(<1024 x i1> %1, i8* %b, <32 x i32> %c)
19   ret void
22 declare void @llvm.hexagon.V6.vmaskedstorenq.128B(<1024 x i1>, i8*, <32 x i32>)
23 define void @V6_vmaskedstorenq_128B( <32 x i32> %a, i8* %b, <32 x i32> %c) {
24   %1 = bitcast <32 x i32> %a to <1024 x i1>
25   call void @llvm.hexagon.V6.vmaskedstorenq.128B(<1024 x i1> %1, i8* %b, <32 x i32> %c)
26   ret void
29 declare void @llvm.hexagon.V6.vmaskedstorentq.128B(<1024 x i1>, i8*, <32 x i32>)
30 define void @V6_vmaskedstorentq_128B( <32 x i32> %a, i8* %b, <32 x i32> %c) {
31   %1 = bitcast <32 x i32> %a to <1024 x i1>
32   call void @llvm.hexagon.V6.vmaskedstorentq.128B(<1024 x i1> %1, i8* %b, <32 x i32> %c)
33   ret void
36 declare void @llvm.hexagon.V6.vmaskedstorentnq.128B(<1024 x i1>, i8*, <32 x i32>)
37 define void @V6_vmaskedstorentnq_128B( <32 x i32> %a, i8* %b, <32 x i32> %c) {
38   %1 = bitcast <32 x i32> %a to <1024 x i1>
39   call void @llvm.hexagon.V6.vmaskedstorentnq.128B(<1024 x i1> %1, i8* %b, <32 x i32> %c)
40   ret void