1*9880d681SAndroid Build Coastguard Worker; RUN: llc -verify-machineinstrs -mtriple=x86_64-unknown-unknown -mattr=+avx < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4*9880d681SAndroid Build Coastguard Worker;; Checks that interrupt handler code does not call "vzeroupper" instruction 5*9880d681SAndroid Build Coastguard Worker;; before iret. 6*9880d681SAndroid Build Coastguard Worker;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker; CHECK: vzeroupper 9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: call 10*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: vzeroupper 11*9880d681SAndroid Build Coastguard Worker; CHECK: iret 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerdefine x86_intrcc void @foo(i8* %frame) { 14*9880d681SAndroid Build Coastguard Worker call void @bar() 15*9880d681SAndroid Build Coastguard Worker ret void 16*9880d681SAndroid Build Coastguard Worker} 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Workerdeclare void @bar() 19*9880d681SAndroid Build Coastguard Worker 20