1 # RUN: llc -o - %s -mtriple=aarch64-windows -start-before=prologepilog \
2 # RUN: -stop-after=prologepilog | FileCheck %s
4 # Check that an unpaired register that is even isn't paired with lr.
6 # CHECK: early-clobber $sp = frame-setup STPXpre killed $x19, killed $x20, $sp, -4
7 # CHECK-NEXT: frame-setup SEH_SaveRegP_X 19, 20, -32
8 # CHECK-NEXT: frame-setup STRXui killed $x22, $sp, 2
9 # CHECK-NEXT: frame-setup SEH_SaveReg 22, 16
10 # CHECK-NEXT: frame-setup STRXui killed $lr, $sp, 3
11 # CHECK-NEXT: frame-setup SEH_SaveReg 30, 24
12 # CHECK-NEXT: frame-setup SEH_PrologEnd
16 define dso_local i32 @func(i32 %a) { ret i32 %a }
17 declare dso_local i32 @other()
23 exposesReturnsTwice: false
25 regBankSelected: false
28 tracksRegLiveness: true
33 isFrameAddressTaken: false
34 isReturnAddressTaken: false
44 cvBytesOfCalleeSavedRegisters: 0
45 hasOpaqueSPAdjustment: false
47 hasMustTailInVarArgFunc: false
55 machineFunctionInfo: {}
58 liveins: $x0, $x22, $x19, $x20
60 BL @other, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $w0, implicit-def $sp, implicit-def $w0
61 $x19 = ADDXrr $x0, $x0
62 $x20 = ADDXrr $x19, $x0
63 $x22 = ADDXrr $x20, killed $x19
64 $x0 = ADDXrr $x0, killed $x22