RISC-V: Lx/Sx macro insn tests

Make sure these (continue to) work as intended.
This commit is contained in:
Jan Beulich 2023-11-03 10:03:03 +01:00
parent 3aacf044eb
commit 0afb0215bd
2 changed files with 70 additions and 0 deletions

View file

@ -0,0 +1,56 @@
#as: -march=rv64i
#name: Lx/Sx macro insns
#objdump: -dwr
.*:[ ]+file format .*
Disassembly of section .text:
0+ <L>:
[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+bval
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00050503[ ]+lb[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+bval
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00054503[ ]+lbu[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+hval
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00051503[ ]+lh[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+hval
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00055503[ ]+lhu[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+wval
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00052503[ ]+lw[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+wval
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00056503[ ]+lwu[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+dval
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00053503[ ]+ld[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[0-9a-f]+ <S>:
[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+bval
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00a28023[ ]+sb[ ]+a0,0\(t0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.*
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+hval
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00a29023[ ]+sh[ ]+a0,0\(t0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.*
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+wval
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00a2a023[ ]+sw[ ]+a0,0\(t0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.*
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+dval
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
[ ]+[0-9a-f]+:[ ]+00a2b023[ ]+sd[ ]+a0,0\(t0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.*
[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*

View file

@ -0,0 +1,14 @@
L:
lb a0, bval
lbu a0, bval
lh a0, hval
lhu a0, hval
lw a0, wval
lwu a0, wval
ld a0, dval
S:
sb a0, bval, t0
sh a0, hval, t0
sw a0, wval, t0
sd a0, dval, t0