; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 ; RUN: llc < %s -mtriple=x86_64-linux-gnu -mattr=-sse,-avx | FileCheck %s @.str = private unnamed_addr constant [6 x i8] c"%d %d\00", align 1 define void @caller(i32 %0, i32 %1) #0 { ; CHECK-LABEL: caller: ; CHECK: # %bb.0: ; CHECK-NEXT: pushq %r11 ; CHECK-NEXT: pushq %r10 ; CHECK-NEXT: pushq %r9 ; CHECK-NEXT: pushq %r8 ; CHECK-NEXT: pushq %rdx ; CHECK-NEXT: pushq %rcx ; CHECK-NEXT: pushq %rax ; CHECK-NEXT: movl %esi, %edx ; CHECK-NEXT: movl %edi, %esi ; CHECK-NEXT: movl $.L.str, %edi ; CHECK-NEXT: callq printf@PLT ; CHECK-NEXT: popq %rax ; CHECK-NEXT: popq %rcx ; CHECK-NEXT: popq %rdx ; CHECK-NEXT: popq %r8 ; CHECK-NEXT: popq %r9 ; CHECK-NEXT: popq %r10 ; CHECK-NEXT: popq %r11 ; CHECK-NEXT: retq %3 = tail call i32 @printf(ptr @.str, i32 %0, i32 %1) ret void } declare i32 @printf(ptr, ...) nounwind attributes #0 = { mustprogress nounwind "no_caller_saved_registers" }