1 ; RUN: llc -hexagon-long-calls -mtriple=hexagon -enable-save-restore-long=true < %s | FileCheck %s
4 ; CHECK: jump ##__restore
6 ; Function Attrs: minsize nounwind
7 define i64 @f0(i32 %a0, i32 %a1) #0 {
9 %v0 = add nsw i32 %a0, 5
10 %v1 = tail call i64 @f1(i32 %v0) #1
11 %v2 = sext i32 %a1 to i64
12 %v3 = add nsw i64 %v1, %v2
16 ; Function Attrs: minsize nounwind
17 declare i64 @f1(i32) #0
19 ; Function Attrs: nounwind
20 define i64 @f2(i32 %a0, i32 %a1) #1 {
22 %v0 = add nsw i32 %a0, 5
23 %v1 = tail call i64 @f1(i32 %v0) #1
27 ; Function Attrs: noreturn nounwind
28 define i64 @f3(i32 %a0, i32 %a1) #2 {
30 %v0 = add nsw i32 %a0, 5
31 %v1 = tail call i64 @f4(i32 %v0) #2
35 ; Function Attrs: noreturn
36 declare i64 @f4(i32) #3
38 attributes #0 = { minsize nounwind }
39 attributes #1 = { nounwind }
40 attributes #2 = { noreturn nounwind }
41 attributes #3 = { noreturn }