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