blob: 5ff672224529236af5e257bd848ffff429c7b4cb [file] [log] [blame]
Sumanth Gundapanenie1983bc2017-10-18 18:07:07 +00001; RUN: llc -mattr=+hvxv60,hvx-length64b -march=hexagon -O2 < %s | FileCheck %s
Krzysztof Parzyszek65971d92017-02-22 21:23:09 +00002
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 void @llvm.hexagon.V6.vmaskedstoreq(<512 x i1>, i8*, <16 x i32>)
16define void @V6_vmaskedstoreq( <16 x i32> %a, i8* %b, <16 x i32> %c) {
17 %1 = bitcast <16 x i32> %a to <512 x i1>
18 call void @llvm.hexagon.V6.vmaskedstoreq(<512 x i1> %1, i8* %b, <16 x i32> %c)
19 ret void
20}
21
22declare void @llvm.hexagon.V6.vmaskedstorenq(<512 x i1>, i8*, <16 x i32>)
23define void @V6_vmaskedstorenq( <16 x i32> %a, i8* %b, <16 x i32> %c) {
24 %1 = bitcast <16 x i32> %a to <512 x i1>
25 call void @llvm.hexagon.V6.vmaskedstorenq(<512 x i1> %1, i8* %b, <16 x i32> %c)
26 ret void
27}
28
29declare void @llvm.hexagon.V6.vmaskedstorentq(<512 x i1>, i8*, <16 x i32>)
30define void @V6_vmaskedstorentq( <16 x i32> %a, i8* %b, <16 x i32> %c) {
31 %1 = bitcast <16 x i32> %a to <512 x i1>
32 call void @llvm.hexagon.V6.vmaskedstorentq(<512 x i1> %1, i8* %b, <16 x i32> %c)
33 ret void
34}
35
36declare void @llvm.hexagon.V6.vmaskedstorentnq(<512 x i1>, i8*, <16 x i32>)
37define void @V6_vmaskedstorentnq( <16 x i32> %a, i8* %b, <16 x i32> %c) {
38 %1 = bitcast <16 x i32> %a to <512 x i1>
39 call void @llvm.hexagon.V6.vmaskedstorentnq(<512 x i1> %1, i8* %b, <16 x i32> %c)
40 ret void
41}