Revert r354244 "[DAGCombiner] Eliminate dead stores to stack."
[llvm-complete.git] / test / MC / RISCV / rvi-pseudos.s
blob5b2ac275c9956a02db5be691047a3095c311f669
1 # RUN: llvm-mc %s -triple=riscv32 | FileCheck %s --check-prefixes=CHECK,CHECK-NOPIC
2 # RUN: llvm-mc %s -triple=riscv64 | FileCheck %s --check-prefixes=CHECK,CHECK-NOPIC
3 # RUN: llvm-mc %s -triple=riscv32 -position-independent \
4 # RUN: | FileCheck %s --check-prefixes=CHECK,CHECK-PIC,CHECK-PIC-RV32
5 # RUN: llvm-mc %s -triple=riscv64 -position-independent \
6 # RUN: | FileCheck %s --check-prefixes=CHECK,CHECK-PIC,CHECK-PIC-RV64
8 # CHECK: .Lpcrel_hi0:
9 # CHECK: auipc a0, %pcrel_hi(a_symbol)
10 # CHECK: addi a0, a0, %pcrel_lo(.Lpcrel_hi0)
11 lla a0, a_symbol
13 # CHECK: .Lpcrel_hi1:
14 # CHECK: auipc a1, %pcrel_hi(another_symbol)
15 # CHECK: addi a1, a1, %pcrel_lo(.Lpcrel_hi1)
16 lla a1, another_symbol
18 # Check that we can load the address of symbols that are spelled like a register
19 # CHECK: .Lpcrel_hi2:
20 # CHECK: auipc a2, %pcrel_hi(zero)
21 # CHECK: addi a2, a2, %pcrel_lo(.Lpcrel_hi2)
22 lla a2, zero
24 # CHECK: .Lpcrel_hi3:
25 # CHECK: auipc a3, %pcrel_hi(ra)
26 # CHECK: addi a3, a3, %pcrel_lo(.Lpcrel_hi3)
27 lla a3, ra
29 # CHECK: .Lpcrel_hi4:
30 # CHECK: auipc a4, %pcrel_hi(f1)
31 # CHECK: addi a4, a4, %pcrel_lo(.Lpcrel_hi4)
32 lla a4, f1
34 # CHECK: .Lpcrel_hi5:
35 # CHECK-NOPIC: auipc a0, %pcrel_hi(a_symbol)
36 # CHECK-NOPIC: addi a0, a0, %pcrel_lo(.Lpcrel_hi5)
37 # CHECK-PIC: auipc a0, %got_pcrel_hi(a_symbol)
38 # CHECK-PIC-RV32: lw a0, %pcrel_lo(.Lpcrel_hi5)(a0)
39 # CHECK-PIC-RV64: ld a0, %pcrel_lo(.Lpcrel_hi5)(a0)
40 la a0, a_symbol
42 # CHECK: .Lpcrel_hi6:
43 # CHECK-NOPIC: auipc a1, %pcrel_hi(another_symbol)
44 # CHECK-NOPIC: addi a1, a1, %pcrel_lo(.Lpcrel_hi6)
45 # CHECK-PIC: auipc a1, %got_pcrel_hi(another_symbol)
46 # CHECK-PIC-RV32: lw a1, %pcrel_lo(.Lpcrel_hi6)(a1)
47 # CHECK-PIC-RV64: ld a1, %pcrel_lo(.Lpcrel_hi6)(a1)
48 la a1, another_symbol
50 # Check that we can load the address of symbols that are spelled like a register
51 # CHECK: .Lpcrel_hi7:
52 # CHECK-NOPIC: auipc a2, %pcrel_hi(zero)
53 # CHECK-NOPIC: addi a2, a2, %pcrel_lo(.Lpcrel_hi7)
54 # CHECK-PIC: auipc a2, %got_pcrel_hi(zero)
55 # CHECK-PIC-RV32: lw a2, %pcrel_lo(.Lpcrel_hi7)(a2)
56 # CHECK-PIC-RV64: ld a2, %pcrel_lo(.Lpcrel_hi7)(a2)
57 la a2, zero
59 # CHECK: .Lpcrel_hi8:
60 # CHECK-NOPIC: auipc a3, %pcrel_hi(ra)
61 # CHECK-NOPIC: addi a3, a3, %pcrel_lo(.Lpcrel_hi8)
62 # CHECK-PIC: auipc a3, %got_pcrel_hi(ra)
63 # CHECK-PIC-RV32: lw a3, %pcrel_lo(.Lpcrel_hi8)(a3)
64 # CHECK-PIC-RV64: ld a3, %pcrel_lo(.Lpcrel_hi8)(a3)
65 la a3, ra
67 # CHECK: .Lpcrel_hi9:
68 # CHECK-NOPIC: auipc a4, %pcrel_hi(f1)
69 # CHECK-NOPIC: addi a4, a4, %pcrel_lo(.Lpcrel_hi9)
70 # CHECK-PIC: auipc a4, %got_pcrel_hi(f1)
71 # CHECK-PIC-RV32: lw a4, %pcrel_lo(.Lpcrel_hi9)(a4)
72 # CHECK-PIC-RV64: ld a4, %pcrel_lo(.Lpcrel_hi9)(a4)
73 la a4, f1