34 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=aarch64--linux-gnu -mattr=+sve < %s | FileCheck %s3 4declare i32 @sve_printf(ptr, <vscale x 4 x i32>, ...)5 6@.str_1 = internal constant [6 x i8] c"boo!\0A\00"7 8define void @foo_nontail(<vscale x 4 x i32> %x) uwtable {9; CHECK-LABEL: foo_nontail:10; CHECK: // %bb.0:11; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill12; CHECK-NEXT: .cfi_def_cfa_offset 1613; CHECK-NEXT: .cfi_offset w30, -1614; CHECK-NEXT: adrp x0, .str_115; CHECK-NEXT: add x0, x0, :lo12:.str_116; CHECK-NEXT: bl sve_printf17; CHECK-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload18; CHECK-NEXT: .cfi_def_cfa_offset 019; CHECK-NEXT: .cfi_restore w3020; CHECK-NEXT: ret21 call i32 (ptr, <vscale x 4 x i32>, ...) @sve_printf(ptr @.str_1, <vscale x 4 x i32> %x)22 ret void23}24 25define void @foo_tail(<vscale x 4 x i32> %x) uwtable {26; CHECK-LABEL: foo_tail:27; CHECK: // %bb.0:28; CHECK-NEXT: adrp x0, .str_129; CHECK-NEXT: add x0, x0, :lo12:.str_130; CHECK-NEXT: b sve_printf31 tail call i32 (ptr, <vscale x 4 x i32>, ...) @sve_printf(ptr @.str_1, <vscale x 4 x i32> %x)32 ret void33}34