1# RUN: llc -o - %s -mtriple=aarch64-windows -start-before=prologepilog \ 2# RUN: -stop-after=prologepilog | FileCheck %s 3# Check save_reg_x, save_reg 4 5# CHECK: early-clobber $sp = frame-setup STRXpre killed $x22, $sp, -16 6# CHECK-NEXT: frame-setup SEH_SaveReg_X 22, -16 7# CHECK-NEXT: frame-setup STRXui killed $x19, $sp, 1 8# CHECK-NEXT: frame-setup SEH_SaveReg 19, 8 9# CHECK-NEXT: frame-setup SEH_PrologEnd 10# CHECK: frame-destroy SEH_EpilogStart 11# CHECK-NEXT: $x19 = frame-destroy LDRXui $sp, 1 12# CHECK-NEXT: frame-destroy SEH_SaveReg 19, 8 13# CHECK-NEXT: early-clobber $sp, $x22 = frame-destroy LDRXpost $sp, 16 14# CHECK-NEXT: frame-destroy SEH_SaveReg_X 22, -16 15# CHECK-NEXT: frame-destroy SEH_EpilogEnd 16# CHECK-NEXT: RET_ReallyLR implicit $x0 17... 18--- 19name: test 20alignment: 4 21exposesReturnsTwice: false 22legalized: false 23regBankSelected: false 24selected: false 25failedISel: false 26tracksRegLiveness: true 27hasWinCFI: true 28registers: 29liveins: 30 - { reg: '$w0', virtual-reg: '' } 31frameInfo: 32 isFrameAddressTaken: false 33 isReturnAddressTaken: false 34 hasStackMap: false 35 hasPatchPoint: false 36 stackSize: 112 37 offsetAdjustment: 0 38 maxAlignment: 8 39 adjustsStack: false 40 hasCalls: false 41 stackProtector: '' 42 maxCallFrameSize: 0 43 hasOpaqueSPAdjustment: true 44 hasVAStart: false 45 hasMustTailInVarArgFunc: false 46 localFrameSize: 0 47 savePoint: '' 48 restorePoint: '' 49fixedStack: 50stack: 51constants: 52body: | 53 bb.0.entry: 54 liveins: $x0, $x1 55 $x19 = ADDXrr $x0, killed $x1 56 $x22 = ADDXrr killed $x19, $x0 57 $x0 = COPY killed $x22 58 RET_ReallyLR implicit $x0 59... 60