53 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc --mtriple=xtensa -mattr=+windowed < %s | FileCheck %s3 4declare i32 @external_function(i32)5 6define i32 @test_call_external(i32 %a) nounwind {7; CHECK-LABEL: test_call_external:8; CHECK: # %bb.0:9; CHECK-NEXT: entry a1, 3210; CHECK-NEXT: or a10, a2, a211; CHECK-NEXT: l32r a8, .LCPI0_012; CHECK-NEXT: callx8 a813; CHECK-NEXT: or a2, a10, a1014; CHECK-NEXT: retw15 %1 = call i32 @external_function(i32 %a)16 ret i32 %117}18 19define i32 @defined_function(i32 %a) nounwind {20; CHECK-LABEL: defined_function:21; CHECK: # %bb.0:22; CHECK-NEXT: entry a1, 3223; CHECK-NEXT: addi a2, a2, 124; CHECK-NEXT: retw25 %1 = add i32 %a, 126 ret i32 %127}28 29define i32 @test_call_defined(i32 %a) nounwind {30; CHECK-LABEL: test_call_defined:31; CHECK: # %bb.0:32; CHECK-NEXT: entry a1, 3233; CHECK-NEXT: or a10, a2, a234; CHECK-NEXT: l32r a8, .LCPI2_035; CHECK-NEXT: callx8 a836; CHECK-NEXT: or a2, a10, a1037; CHECK-NEXT: retw38 %1 = call i32 @defined_function(i32 %a) nounwind39 ret i32 %140}41 42define i32 @test_call_indirect(ptr %a, i32 %b) nounwind {43; CHECK-LABEL: test_call_indirect:44; CHECK: # %bb.0:45; CHECK-NEXT: entry a1, 3246; CHECK-NEXT: or a10, a3, a347; CHECK-NEXT: callx8 a248; CHECK-NEXT: or a2, a10, a1049; CHECK-NEXT: retw50 %1 = call i32 %a(i32 %b)51 ret i32 %152}53