[MIParser] Set RegClassOrRegBank during instruction parsing
[llvm-complete.git] / test / CodeGen / Hexagon / intrinsics-v66.ll
blob2732b9cb39611362e991a95bad520d7c722c91c7
1 ; RUN: llc -march=hexagon -mcpu=hexagonv66 < %s | FileCheck %s
3 ; CHECK-LABEL: @test1
4 ; CHECK: r0 -= mpyi(r1,r2)
5 define i32 @test1(i32 %rx, i32 %rs, i32 %rt) local_unnamed_addr #0 {
6 entry:
7   %v0 = tail call i32 @llvm.hexagon.M2.mnaci(i32 %rx, i32 %rs, i32 %rt)
8   ret i32 %v0
11 declare i32 @llvm.hexagon.M2.mnaci(i32, i32, i32) #1
13 ; CHECK-LABEL: @test2
14 ; CHECK: r1:0 = dfadd(r1:0,r3:2)
15 define double @test2(double %rss, double %rtt) local_unnamed_addr #0 {
16 entry:
17   %v0 = tail call double @llvm.hexagon.F2.dfadd(double %rss, double %rtt)
18   ret double %v0
21 declare double @llvm.hexagon.F2.dfadd(double, double) #1
23 ; CHECK-LABEL: @test3
24 ; CHECK: r1:0 = dfsub(r1:0,r3:2)
25 define double @test3(double %rss, double %rtt) local_unnamed_addr #0 {
26 entry:
27   %v0 = tail call double @llvm.hexagon.F2.dfsub(double %rss, double %rtt)
28   ret double %v0
31 declare double @llvm.hexagon.F2.dfsub(double, double) #1
33 ; CHECK-LABEL: @test4
34 ; CHECK: r0 = mask(#1,#2)
35 define i32 @test4() local_unnamed_addr #0 {
36 entry:
37   %v0 = tail call i32 @llvm.hexagon.S2.mask(i32 1, i32 2)
38   ret i32 %v0
41 ; Function Attrs: nounwind readnone
42 declare i32 @llvm.hexagon.S2.mask(i32, i32) #1
44 attributes #0 = { nounwind readnone "target-cpu"="hexagonv66" "target-features"="-hvx,-long-calls" }
45 attributes #1 = { nounwind readnone }