; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
; RUN: llc -global-isel %s -o - | FileCheck %s
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-macosx14.0.0"
define void @test() {
; CHECK-LABEL: test:
; CHECK: ; %bb.0: ; %entry
; CHECK-NEXT: sub sp, sp, #32
; CHECK-NEXT: stp x29, x30, [sp, #16] ; 16-byte Folded Spill
; CHECK-NEXT: .cfi_def_cfa_offset 32
; CHECK-NEXT: .cfi_offset w30, -8
; CHECK-NEXT: .cfi_offset w29, -16
; CHECK-NEXT: mov x0, xzr
; CHECK-NEXT: mov x1, xzr
; CHECK-NEXT: ldr x8, [x0]
; CHECK-NEXT: ldr w9, [x8], #8
; CHECK-NEXT: str x8, [x0]
; CHECK-NEXT: str x9, [sp]
; CHECK-NEXT: bl _sprintf
; CHECK-NEXT: ldp x29, x30, [sp, #16] ; 16-byte Folded Reload
; CHECK-NEXT: add sp, sp, #32
; CHECK-NEXT: ret
entry:
%0 = va_arg ptr null, i32
%sprintf1776 = tail call i32 (ptr, ptr, ...) @sprintf(ptr null, ptr null, i32 %0)
ret void
}
declare i32 @sprintf(ptr, ptr, ...)