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 9 declare void @test0a(i32, i32) #0 10 declare void @test0b(i32, i32, i32, i32) #0 11 12 ; CHECK-LABEL: test1: 13 ; CHECK: combine(#10,#0) 14 define i32 @test1() #0 { 15 entry: 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]+}}) 22 define i32 @test2() #0 { 23 entry: 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) 32 define i32 @test3() #0 { 33 entry: 34 call void @test0a(i32 100, i32 0) 35 ret i32 0 36 } 37 38 attributes #0 = { nounwind } 39