1 ; RUN: llc -verify-machineinstrs -o - %s | FileCheck %s 2 target triple = "x86_64--" 3 4 ; This function gets a AL live-in and at same time saves+restores RAX. We must 5 ; not add a kill flag to the "PUSHQ %rax" or the machine verifier will complain. 6 ; CHECK-LABEL: test: 7 ; CHECK: pushq %rax 8 ; CHECK: testb %al, %al 9 ; CHECK: je .LBB 10 define void @test(i64 %a, i8* %b, ...) { 11 entry: 12 %bar = alloca i8 13 call void @llvm.va_start(i8* %bar) 14 call void @llvm.eh.unwind.init() 15 call void @llvm.eh.return.i64(i64 %a, i8* %b) 16 unreachable 17 } 18 19 declare void @llvm.eh.return.i64(i64, i8*) 20 declare void @llvm.eh.unwind.init() 21 declare void @llvm.va_start(i8*) 22