1; RUN: llc -march=hexagon -mcpu=hexagonv5  -O3 -disable-hsdr < %s | FileCheck %s
2
3; Check that we combine TFRs and TFRIs into COMBINEs.
4
5@a = external global i16
6@b = external global i16
7@c = external global i16
8
9declare void @test0a(i32, i32) #0
10declare void @test0b(i32, i32, i32, i32) #0
11
12; CHECK-LABEL: test1:
13; CHECK: combine(#10,#0)
14define i32 @test1() #0 {
15entry:
16  call void @test0a(i32 0, i32 10) #0
17  ret i32 10
18}
19
20; CHECK-LABEL: test2:
21; CHECK: combine(#0,r{{[0-9]+}})
22define i32 @test2() #0 {
23entry:
24  %t0 = load i16, i16* @c, align 2
25  %t1 = zext i16 %t0 to i32
26  call void @test0b(i32 %t1, i32 0, i32 %t1, i32 0)
27  ret i32 0
28}
29
30; CHECK-LABEL: test3:
31; CHECK: combine(#0,#100)
32define i32 @test3() #0 {
33entry:
34  call void @test0a(i32 100, i32 0)
35  ret i32 0
36}
37
38attributes #0 = { nounwind }
39