1 # RUN: llc -o - %s -mtriple=aarch64-windows -start-before=prologepilog \
2 # RUN: -stop-after=prologepilog | FileCheck %s
4 # Check that lr isn't paired with a GPR if it's the first pair, as
5 # that can't be described as a SEH opcode if combined with predecrement.
7 # CHECK: early-clobber $sp = frame-setup STRXpre killed $x19, $sp, -16
8 # CHECK-NEXT: frame-setup SEH_SaveReg_X 19, -16
9 # CHECK-NEXT: frame-setup STRXui killed $lr, $sp, 1
10 # CHECK-NEXT: frame-setup SEH_SaveReg 30, 8
11 # CHECK-NEXT: frame-setup SEH_PrologEnd
15 define dso_local i32 @func(i32 %a) { ret i32 %a }
16 declare dso_local i32 @other()
22 exposesReturnsTwice: false
24 regBankSelected: false
27 tracksRegLiveness: true
32 isFrameAddressTaken: false
33 isReturnAddressTaken: false
43 cvBytesOfCalleeSavedRegisters: 0
44 hasOpaqueSPAdjustment: false
46 hasMustTailInVarArgFunc: false
54 machineFunctionInfo: {}
59 BL @other, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $w0, implicit-def $sp, implicit-def $w0
60 $x19 = ADDXrr $x0, $x0
61 $x0 = ADDXrr $x0, killed $x19