[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / Hexagon / v6-inlasm2.ll
blob5def2da0d7b51f2a6789de7811009deb82613a83
1 ; RUN: llc -march=hexagon -O2 -disable-hexagon-shuffle=1 < %s | FileCheck %s
2 ; CHECK: vmemu(r{{[0-9]+}}) = v{{[0-9]*}};
4 target triple = "hexagon"
6 ; Function Attrs: nounwind
7 define void @f0(i8* %a0, i8* %a1) #0 {
8 b0:
9   %v0 = alloca i8*, align 4
10   %v1 = alloca i8*, align 4
11   %v2 = alloca <16 x i32>, align 64
12   store i8* %a0, i8** %v0, align 4
13   store i8* %a1, i8** %v1, align 4
14   %v3 = load i8*, i8** %v0, align 4
15   %v4 = load <16 x i32>, <16 x i32>* %v2, align 64
16   call void asm sideeffect "  $1 = vmemu($0);\0A", "r,v"(i8* %v3, <16 x i32> %v4) #1, !srcloc !0
17   %v5 = load i8*, i8** %v1, align 4
18   %v6 = load <16 x i32>, <16 x i32>* %v2, align 64
19   call void asm sideeffect "  vmemu($0) = $1;\0A", "r,v,~{memory}"(i8* %v5, <16 x i32> %v6) #1, !srcloc !1
20   ret void
23 ; Function Attrs: nounwind
24 define i32 @f1() #0 {
25 b0:
26   ret i32 0
29 attributes #0 = { nounwind "target-cpu"="hexagonv60" "target-features"="+hvxv60,+hvx-length64b" }
30 attributes #1 = { nounwind }
32 !0 = !{i32 233}
33 !1 = !{i32 307}