xref: /llvm-project/llvm/test/CodeGen/RISCV/stack-inst-compress.mir (revision a0b049055df592759e4ac1d8032139f385581c63)
113454a6eSlaichunfeng# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 2
2cc9ba560SVisoiu Mistrih Francis# RUN: llc -mtriple=riscv32  -x mir -run-pass=prologepilog  -verify-machineinstrs < %s \
313454a6eSlaichunfeng# RUN: | FileCheck -check-prefixes=CHECK-RV32-NO-COM %s
4cc9ba560SVisoiu Mistrih Francis# RUN: llc -mtriple=riscv32  -mattr=+c -x mir -run-pass=prologepilog \
513454a6eSlaichunfeng# RUN: -verify-machineinstrs < %s | FileCheck -check-prefixes=CHECK-RV32-COM %s
6cc9ba560SVisoiu Mistrih Francis# RUN: llc -mtriple=riscv64 -x mir -run-pass=prologepilog  -verify-machineinstrs < %s \
713454a6eSlaichunfeng# RUN: | FileCheck -check-prefixes=CHECK-RV64-NO-COM %s
8cc9ba560SVisoiu Mistrih Francis# RUN: llc -mtriple=riscv64 -mattr=+c -x mir -run-pass=prologepilog \
913454a6eSlaichunfeng# RUN: -verify-machineinstrs < %s | FileCheck -check-prefixes=CHECK-RV64-COM %s
1013454a6eSlaichunfeng--- |
1113454a6eSlaichunfeng  define dso_local void @_Z15stack_size_2048v() {
1213454a6eSlaichunfeng  entry:
1313454a6eSlaichunfeng    ret void
1413454a6eSlaichunfeng  }
1513454a6eSlaichunfeng
1613454a6eSlaichunfeng  declare dso_local void @_Z6calleePi(ptr noundef)
1713454a6eSlaichunfeng
1813454a6eSlaichunfeng  define dso_local void @_Z15stack_size_4096v() {
1913454a6eSlaichunfeng  entry:
2013454a6eSlaichunfeng    ret void
2113454a6eSlaichunfeng  }
2213454a6eSlaichunfeng
2313454a6eSlaichunfeng  define dso_local void @_Z15stack_size_8192v() {
2413454a6eSlaichunfeng  entry:
2513454a6eSlaichunfeng    ret void
2613454a6eSlaichunfeng  }
2713454a6eSlaichunfeng
2813454a6eSlaichunfeng...
2913454a6eSlaichunfeng---
3013454a6eSlaichunfengname:            _Z15stack_size_2048v
3113454a6eSlaichunfengalignment:       2
3213454a6eSlaichunfengtracksRegLiveness: true
3313454a6eSlaichunfengframeInfo:
3413454a6eSlaichunfeng  maxAlignment:    4
3509bc6abbSJonas Paulsson  adjustsStack:    true
3613454a6eSlaichunfeng  hasCalls:        true
3713454a6eSlaichunfeng  localFrameSize:  2048
3813454a6eSlaichunfengstack:
3913454a6eSlaichunfeng  - { id: 0, size: 2048, alignment: 4, local-offset: -2048 }
4013454a6eSlaichunfengmachineFunctionInfo:
4113454a6eSlaichunfeng  varArgsFrameIndex: 0
4213454a6eSlaichunfeng  varArgsSaveSize: 0
4313454a6eSlaichunfengbody:             |
4413454a6eSlaichunfeng  bb.0.entry:
4513454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-LABEL: name: _Z15stack_size_2048v
4613454a6eSlaichunfeng    ; CHECK-RV32-NO-COM: liveins: $x1
4713454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: {{  $}}
4813454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
4913454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
50*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV32-NO-COM-NEXT: frame-setup SW killed $x1, $x2, 2028 :: (store (s32) into %stack.1)
5113454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
5213454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -32
5313454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064
5413454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: renamable $x10 = ADDI $x2, 12
5513454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
5613454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 32
5797982a8cSdlav-sc    ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 2032
58*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV32-NO-COM-NEXT: $x1 = frame-destroy LW $x2, 2028 :: (load (s32) from %stack.1)
5997982a8cSdlav-sc    ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1
6013454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
6197982a8cSdlav-sc    ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0
6213454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: PseudoRET
6313454a6eSlaichunfeng    ;
6413454a6eSlaichunfeng    ; CHECK-RV32-COM-LABEL: name: _Z15stack_size_2048v
6513454a6eSlaichunfeng    ; CHECK-RV32-COM: liveins: $x1
6613454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: {{  $}}
6713454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -256
6813454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 256
69*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV32-COM-NEXT: frame-setup SW killed $x1, $x2, 252 :: (store (s32) into %stack.1)
7013454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
7113454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -1808
7213454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064
7313454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: renamable $x10 = ADDI $x2, 12
7413454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
7513454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 1808
7697982a8cSdlav-sc    ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 256
77*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV32-COM-NEXT: $x1 = frame-destroy LW $x2, 252 :: (load (s32) from %stack.1)
7897982a8cSdlav-sc    ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1
7913454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 256
8097982a8cSdlav-sc    ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0
8113454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: PseudoRET
8213454a6eSlaichunfeng    ;
8313454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-LABEL: name: _Z15stack_size_2048v
8413454a6eSlaichunfeng    ; CHECK-RV64-NO-COM: liveins: $x1
8513454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: {{  $}}
8613454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
8713454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
88*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV64-NO-COM-NEXT: frame-setup SD killed $x1, $x2, 2024 :: (store (s64) into %stack.1)
8913454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
9013454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -32
9113454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064
9213454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: renamable $x10 = ADDI $x2, 8
9313454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
9413454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 32
9597982a8cSdlav-sc    ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 2032
96*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV64-NO-COM-NEXT: $x1 = frame-destroy LD $x2, 2024 :: (load (s64) from %stack.1)
9797982a8cSdlav-sc    ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1
9813454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
9997982a8cSdlav-sc    ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0
10013454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: PseudoRET
10113454a6eSlaichunfeng    ;
10213454a6eSlaichunfeng    ; CHECK-RV64-COM-LABEL: name: _Z15stack_size_2048v
10313454a6eSlaichunfeng    ; CHECK-RV64-COM: liveins: $x1
10413454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: {{  $}}
10571b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -496
10671b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 496
107*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV64-COM-NEXT: frame-setup SD killed $x1, $x2, 488 :: (store (s64) into %stack.1)
10813454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
10971b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -1568
11013454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2064
11113454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: renamable $x10 = ADDI $x2, 8
11213454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
11371b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 1568
11497982a8cSdlav-sc    ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 496
115*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV64-COM-NEXT: $x1 = frame-destroy LD $x2, 488 :: (load (s64) from %stack.1)
11697982a8cSdlav-sc    ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1
11771b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 496
11897982a8cSdlav-sc    ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0
11913454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: PseudoRET
12013454a6eSlaichunfeng    ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2
12113454a6eSlaichunfeng    renamable $x10 = ADDI %stack.0, 0
12213454a6eSlaichunfeng    PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
12313454a6eSlaichunfeng    ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2
12413454a6eSlaichunfeng    PseudoRET
12513454a6eSlaichunfeng
12613454a6eSlaichunfeng...
12713454a6eSlaichunfeng---
12813454a6eSlaichunfengname:            _Z15stack_size_4096v
12913454a6eSlaichunfengalignment:       2
13013454a6eSlaichunfengtracksRegLiveness: true
13113454a6eSlaichunfengframeInfo:
13213454a6eSlaichunfeng  maxAlignment:    4
13309bc6abbSJonas Paulsson  adjustsStack:    true
13413454a6eSlaichunfeng  hasCalls:        true
13513454a6eSlaichunfeng  localFrameSize:  4096
13613454a6eSlaichunfengstack:
13713454a6eSlaichunfeng  - { id: 0, size: 4096, alignment: 4, local-offset: -4096 }
13813454a6eSlaichunfengmachineFunctionInfo:
13913454a6eSlaichunfeng  varArgsFrameIndex: 0
14013454a6eSlaichunfeng  varArgsSaveSize: 0
14113454a6eSlaichunfengbody:             |
14213454a6eSlaichunfeng  bb.0.entry:
14313454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-LABEL: name: _Z15stack_size_4096v
14413454a6eSlaichunfeng    ; CHECK-RV32-NO-COM: liveins: $x1
14513454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: {{  $}}
14613454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
14713454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
148*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV32-NO-COM-NEXT: frame-setup SW killed $x1, $x2, 2028 :: (store (s32) into %stack.1)
14913454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
15013454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048
15113454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -32
15213454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112
15313454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: renamable $x10 = ADDI $x2, 12
15413454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
15513454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
15613454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 48
15797982a8cSdlav-sc    ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 2032
158*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV32-NO-COM-NEXT: $x1 = frame-destroy LW $x2, 2028 :: (load (s32) from %stack.1)
15997982a8cSdlav-sc    ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1
16013454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
16197982a8cSdlav-sc    ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0
16213454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: PseudoRET
16313454a6eSlaichunfeng    ;
16413454a6eSlaichunfeng    ; CHECK-RV32-COM-LABEL: name: _Z15stack_size_4096v
16513454a6eSlaichunfeng    ; CHECK-RV32-COM: liveins: $x1
16613454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: {{  $}}
16713454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -256
16813454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 256
169*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV32-COM-NEXT: frame-setup SW killed $x1, $x2, 252 :: (store (s32) into %stack.1)
17013454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
17113454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048
17213454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -1808
17313454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112
17413454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: renamable $x10 = ADDI $x2, 12
17513454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
17613454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
17713454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 1824
17897982a8cSdlav-sc    ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 256
179*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV32-COM-NEXT: $x1 = frame-destroy LW $x2, 252 :: (load (s32) from %stack.1)
18097982a8cSdlav-sc    ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1
18113454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 256
18297982a8cSdlav-sc    ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0
18313454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: PseudoRET
18413454a6eSlaichunfeng    ;
18513454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-LABEL: name: _Z15stack_size_4096v
18613454a6eSlaichunfeng    ; CHECK-RV64-NO-COM: liveins: $x1
18713454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: {{  $}}
18813454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
18913454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
190*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV64-NO-COM-NEXT: frame-setup SD killed $x1, $x2, 2024 :: (store (s64) into %stack.1)
19113454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
19213454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048
19313454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -32
19413454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112
19513454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: renamable $x10 = ADDI $x2, 8
19613454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
19713454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
19813454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 48
19997982a8cSdlav-sc    ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 2032
200*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV64-NO-COM-NEXT: $x1 = frame-destroy LD $x2, 2024 :: (load (s64) from %stack.1)
20197982a8cSdlav-sc    ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1
20213454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
20397982a8cSdlav-sc    ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0
20413454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: PseudoRET
20513454a6eSlaichunfeng    ;
20613454a6eSlaichunfeng    ; CHECK-RV64-COM-LABEL: name: _Z15stack_size_4096v
20713454a6eSlaichunfeng    ; CHECK-RV64-COM: liveins: $x1
20813454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: {{  $}}
20971b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -496
21071b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 496
211*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV64-COM-NEXT: frame-setup SD killed $x1, $x2, 488 :: (store (s64) into %stack.1)
21213454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
21313454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -2048
21471b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI killed $x2, -1568
21513454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 4112
21613454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: renamable $x10 = ADDI $x2, 8
21713454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
21813454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
21971b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI killed $x2, 1584
22097982a8cSdlav-sc    ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 496
221*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV64-COM-NEXT: $x1 = frame-destroy LD $x2, 488 :: (load (s64) from %stack.1)
22297982a8cSdlav-sc    ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1
22371b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 496
22497982a8cSdlav-sc    ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0
22513454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: PseudoRET
22613454a6eSlaichunfeng    ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2
22713454a6eSlaichunfeng    renamable $x10 = ADDI %stack.0, 0
22813454a6eSlaichunfeng    PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
22913454a6eSlaichunfeng    ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2
23013454a6eSlaichunfeng    PseudoRET
23113454a6eSlaichunfeng
23213454a6eSlaichunfeng...
23313454a6eSlaichunfeng---
23413454a6eSlaichunfengname:            _Z15stack_size_8192v
23513454a6eSlaichunfengalignment:       2
23613454a6eSlaichunfengtracksRegLiveness: true
23713454a6eSlaichunfengframeInfo:
23813454a6eSlaichunfeng  maxAlignment:    4
23909bc6abbSJonas Paulsson  adjustsStack:    true
24013454a6eSlaichunfeng  hasCalls:        true
24113454a6eSlaichunfeng  localFrameSize:  8192
24213454a6eSlaichunfengstack:
24313454a6eSlaichunfeng  - { id: 0, size: 8192, alignment: 4, local-offset: -8192 }
24413454a6eSlaichunfengmachineFunctionInfo:
24513454a6eSlaichunfeng  varArgsFrameIndex: 0
24613454a6eSlaichunfeng  varArgsSaveSize: 0
24713454a6eSlaichunfengbody:             |
24813454a6eSlaichunfeng  bb.0.entry:
24913454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-LABEL: name: _Z15stack_size_8192v
25013454a6eSlaichunfeng    ; CHECK-RV32-NO-COM: liveins: $x1
25113454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: {{  $}}
25213454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
25313454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
254*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV32-NO-COM-NEXT: frame-setup SW killed $x1, $x2, 2028 :: (store (s32) into %stack.1)
25513454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
25613454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x10 = frame-setup LUI 2
25713454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x10 = frame-setup ADDI killed $x10, -2016
25813454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10
25913454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208
26013454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: renamable $x10 = ADDI $x2, 12
26113454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
26213454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x10 = frame-destroy LUI 2
26313454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x10 = frame-destroy ADDI killed $x10, -2016
26413454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
26597982a8cSdlav-sc    ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 2032
266*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV32-NO-COM-NEXT: $x1 = frame-destroy LW $x2, 2028 :: (load (s32) from %stack.1)
26797982a8cSdlav-sc    ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1
26813454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
26997982a8cSdlav-sc    ; CHECK-RV32-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0
27013454a6eSlaichunfeng    ; CHECK-RV32-NO-COM-NEXT: PseudoRET
27113454a6eSlaichunfeng    ;
27213454a6eSlaichunfeng    ; CHECK-RV32-COM-LABEL: name: _Z15stack_size_8192v
27313454a6eSlaichunfeng    ; CHECK-RV32-COM: liveins: $x1
27413454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: {{  $}}
27513454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-setup ADDI $x2, -256
27613454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 256
277*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV32-COM-NEXT: frame-setup SW killed $x1, $x2, 252 :: (store (s32) into %stack.1)
27813454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -4
27913454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x10 = frame-setup LUI 2
28013454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x10 = frame-setup ADDI killed $x10, -240
28113454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10
28213454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208
28313454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: renamable $x10 = ADDI $x2, 12
28413454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
28513454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x10 = frame-destroy LUI 2
28613454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x10 = frame-destroy ADDI killed $x10, -240
28713454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
28897982a8cSdlav-sc    ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 256
289*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV32-COM-NEXT: $x1 = frame-destroy LW $x2, 252 :: (load (s32) from %stack.1)
29097982a8cSdlav-sc    ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1
29113454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: $x2 = frame-destroy ADDI $x2, 256
29297982a8cSdlav-sc    ; CHECK-RV32-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0
29313454a6eSlaichunfeng    ; CHECK-RV32-COM-NEXT: PseudoRET
29413454a6eSlaichunfeng    ;
29513454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-LABEL: name: _Z15stack_size_8192v
29613454a6eSlaichunfeng    ; CHECK-RV64-NO-COM: liveins: $x1
29713454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: {{  $}}
29813454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup ADDI $x2, -2032
29913454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 2032
300*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV64-NO-COM-NEXT: frame-setup SD killed $x1, $x2, 2024 :: (store (s64) into %stack.1)
30113454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
30213454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x10 = frame-setup LUI 2
30313454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x10 = frame-setup ADDIW killed $x10, -2016
30413454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10
30513454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208
30613454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: renamable $x10 = ADDI $x2, 8
30713454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
30813454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x10 = frame-destroy LUI 2
30913454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x10 = frame-destroy ADDIW killed $x10, -2016
31013454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
31197982a8cSdlav-sc    ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 2032
312*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV64-NO-COM-NEXT: $x1 = frame-destroy LD $x2, 2024 :: (load (s64) from %stack.1)
31397982a8cSdlav-sc    ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1
31413454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: $x2 = frame-destroy ADDI $x2, 2032
31597982a8cSdlav-sc    ; CHECK-RV64-NO-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0
31613454a6eSlaichunfeng    ; CHECK-RV64-NO-COM-NEXT: PseudoRET
31713454a6eSlaichunfeng    ;
31813454a6eSlaichunfeng    ; CHECK-RV64-COM-LABEL: name: _Z15stack_size_8192v
31913454a6eSlaichunfeng    ; CHECK-RV64-COM: liveins: $x1
32013454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: {{  $}}
32171b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-setup ADDI $x2, -496
32271b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 496
323*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV64-COM-NEXT: frame-setup SD killed $x1, $x2, 488 :: (store (s64) into %stack.1)
32413454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION offset $x1, -8
32513454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x10 = frame-setup LUI 2
32671b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x10 = frame-setup ADDIW killed $x10, -480
32713454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-setup SUB $x2, killed $x10
32813454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8208
32913454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: renamable $x10 = ADDI $x2, 8
33013454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
33113454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x10 = frame-destroy LUI 2
33271b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x10 = frame-destroy ADDIW killed $x10, -480
33313454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
33497982a8cSdlav-sc    ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 496
335*a0b04905SVenkata Ramanaiah Nalamothu    ; CHECK-RV64-COM-NEXT: $x1 = frame-destroy LD $x2, 488 :: (load (s64) from %stack.1)
33697982a8cSdlav-sc    ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION restore $x1
33771b5f57fSlaichunfeng    ; CHECK-RV64-COM-NEXT: $x2 = frame-destroy ADDI $x2, 496
33897982a8cSdlav-sc    ; CHECK-RV64-COM-NEXT: frame-destroy CFI_INSTRUCTION def_cfa_offset 0
33913454a6eSlaichunfeng    ; CHECK-RV64-COM-NEXT: PseudoRET
34013454a6eSlaichunfeng    ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2
34113454a6eSlaichunfeng    renamable $x10 = ADDI %stack.0, 0
34213454a6eSlaichunfeng    PseudoCALL target-flags(riscv-call) @_Z6calleePi, csr_ilp32_lp64, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
34313454a6eSlaichunfeng    ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2
34413454a6eSlaichunfeng    PseudoRET
34513454a6eSlaichunfeng
34613454a6eSlaichunfeng...
347