52 lines · plain
1; RUN: llc -mtriple=hexagon -O2 -spill-func-threshold=2 < %s | FileCheck %s2 3declare i32 @f0(i32, i32, i32, i32, i32, i32)4 5; CHECK-LABEL: f1:6; CHECK: save_r16_through_r237define i32 @f1(i32 %a0, i32 %a11, i32 %a22, i32 %a33, i32 %a4, i32 %a5) #0 {8b0:9 %v0 = call i32 @f0(i32 0, i32 1, i32 2, i32 3, i32 4, i32 5)10 %v1 = call i32 @f0(i32 %a0, i32 %a11, i32 %a22, i32 %a33, i32 %a4, i32 %a5)11 %v2 = add i32 %v0, %v112 ret i32 %v213}14 15declare i32 @f2(i32, i32, i32, i32)16 17; CHECK-LABEL: f3:18; CHECK: save_r16_through_r2119define i32 @f3(i32 %a0, i32 %a11, i32 %a22, i32 %a33, i32 %a44, i32 %a5) #0 {20b0:21 %v0 = call i32 @f2(i32 0, i32 1, i32 2, i32 3)22 %v1 = call i32 @f2(i32 %a0, i32 %a11, i32 %a22, i32 %a33)23 %v2 = add i32 %v0, %v124 %v3 = add i32 %v2, %a4425 ret i32 %v326}27 28declare i32 @f4(i32, i32)29 30; CHECK-LABEL: f5:31; CHECK-NOT: save_r16_through_r1932define i32 @f5(i32 %a0, i32 %a11, i32 %a22, i32 %a33, i32 %a4, i32 %a5) #0 {33b0:34 %v0 = call i32 @f4(i32 0, i32 1)35 %v1 = call i32 @f4(i32 %a0, i32 %a11)36 %v2 = add i32 %v0, %v137 ret i32 %v238}39 40declare i32 @f6(i32)41 42; CHECK-LABEL: f7:43; CHECK-NOT: save_r16_through_r1744define i32 @f7(i32 %a0, i32 %a11, i32 %a22, i32 %a3, i32 %a4, i32 %a5) #0 {45b0:46 %v0 = call i32 @f6(i32 0)47 %v1 = call i32 @f6(i32 %a0)48 ret i32 %v049}50 51attributes #0 = { nounwind }52