# RUN: | llvm-objdump -riscv-no-aliases -d -r - \
# RUN: | FileCheck -check-prefixes=CHECK-OBJ,CHECK-ASM-AND-OBJ %s
+.equ CONST, 30
+
# CHECK-ASM-AND-OBJ: lui a0, 2
# CHECK-ASM: encoding: [0x37,0x25,0x00,0x00]
lui a0, 2
# CHECK-OBJ: lui a0, 0
# CHECK-OBJ: R_RISCV_HI20 foo
lui a0, %hi(foo)
+# CHECK-ASM-AND-OBJ: lui a0, 30
+# CHECK-ASM: encoding: [0x37,0xe5,0x01,0x00]
+lui a0, CONST
+# CHECK-ASM-AND-OBJ: lui a0, 31
+# CHECK-ASM: encoding: [0x37,0xf5,0x01,0x00]
+lui a0, CONST+1
# CHECK-ASM-AND-OBJ: auipc a0, 2
# CHECK-ASM: encoding: [0x17,0x25,0x00,0x00]
# CHECK-OBJ: auipc a0, 0
# CHECK-OBJ: R_RISCV_PCREL_HI20 foo
auipc a0, %pcrel_hi(foo)
+# CHECK-ASM-AND-OBJ: auipc a0, 30
+# CHECK-ASM: encoding: [0x17,0xe5,0x01,0x00]
+auipc a0, CONST
# CHECK-ASM-AND-OBJ: jal a2, 1048574
# CHECK-ASM: encoding: [0x6f,0xf6,0xff,0x7f]
# CHECK-OBJ: jal a0, 0
# CHECK-OBJ: R_RISCV_JAL a0
jal a0, a0
+# CHECK-ASM-AND-OBJ: jal a0, 30
+# CHECK-ASM: encoding: [0x6f,0x05,0xe0,0x01]
+jal a0, CONST
# CHECK-ASM-AND-OBJ: jalr a0, a1, -2048
# CHECK-ASM: encoding: [0x67,0x85,0x05,0x80]
# CHECK-ASM-AND-OBJ: jalr sp, zero, 256
# CHECK-ASM: encoding: [0x67,0x01,0x00,0x10]
jalr sp, zero, 256
+# CHECK-ASM-AND-OBJ: jalr a1, a2, 30
+# CHECK-ASM: encoding: [0xe7,0x05,0xe6,0x01]
+jalr a1, a2, CONST
# CHECK-ASM-AND-OBJ: beq s1, s1, 102
# CHECK-ASM: encoding: [0x63,0x83,0x94,0x06]
# CHECK-ASM-AND-OBJ: bgeu s8, sp, 512
# CHECK-ASM: encoding: [0x63,0x70,0x2c,0x20]
bgeu s8, sp, 512
+# CHECK-ASM-AND-OBJ: bgeu t0, t1, 30
+# CHECK-ASM: encoding: [0x63,0xff,0x62,0x00]
+bgeu t0, t1, CONST
# CHECK-ASM-AND-OBJ: lb s3, 4(ra)
# CHECK-ASM: encoding: [0x83,0x89,0x40,0x00]
# CHECK-OBJ: lhu t3, 0(t3)
# CHECK-OBJ: R_RISCV_PCREL_LO12
lhu t3, %pcrel_lo(foo)(t3)
+# CHECK-ASM-AND-OBJ: lb t0, 30(t1)
+# CHECK-ASM: encoding: [0x83,0x02,0xe3,0x01]
+lb t0, CONST(t1)
# CHECK-ASM-AND-OBJ: sb a0, 2047(a2)
# CHECK-ASM: encoding: [0xa3,0x0f,0xa6,0x7e]
# CHECK-ASM-AND-OBJ: sw ra, 999(zero)
# CHECK-ASM: encoding: [0xa3,0x23,0x10,0x3e]
sw ra, 999(zero)
+# CHECK-ASM-AND-OBJ: sw a0, 30(t0)
+# CHECK-ASM: encoding: [0x23,0xaf,0xa2,0x00]
+sw a0, CONST(t0)
# CHECK-ASM-AND-OBJ: addi ra, sp, 2
# CHECK-ASM: encoding: [0x93,0x00,0x21,0x00]
# CHECK-OBJ: addi ra, sp, 0
# CHECK-OBJ: R_RISCV_LO12
addi ra, sp, %lo(foo)
+# CHECK-ASM-AND-OBJ: addi ra, sp, 30
+# CHECK-ASM: encoding: [0x93,0x00,0xe1,0x01]
+addi ra, sp, CONST
# CHECK-ASM-AND-OBJ: slti a0, a2, -20
# CHECK-ASM: encoding: [0x13,0x25,0xc6,0xfe]
slti a0, a2, -20
# CHECK-ASM-AND-OBJ: srai a2, sp, 15
# CHECK-ASM: encoding: [0x13,0x56,0xf1,0x40]
srai a2, sp, 15
+# CHECK-ASM-AND-OBJ: slli t3, t3, 30
+# CHECK-ASM: encoding: [0x13,0x1e,0xee,0x01]
+slli t3, t3, CONST
# CHECK-ASM-AND-OBJ: add ra, zero, zero
# CHECK-ASM: encoding: [0xb3,0x00,0x00,0x00]
# CHECK-ASM: encoding: [0x73,0x10,0x00,0xc0]
unimp
+.equ CONST, 16
+
# CHECK-ASM-AND-OBJ: csrrw t0, 4095, t1
# CHECK-ASM: encoding: [0xf3,0x12,0xf3,0xff]
csrrw t0, 0xfff, t1
# RUN: | llvm-objdump -riscv-no-aliases -d -r - \
# RUN: | FileCheck -check-prefixes=CHECK-OBJ,CHECK-ASM-AND-OBJ %s
+.equ CONST, 31
+
# CHECK-ASM-AND-OBJ: lwu zero, 4(ra)
# CHECK-ASM: encoding: [0x03,0xe0,0x40,0x00]
lwu x0, 4(x1)
# CHECK-ASM-AND-OBJ: srai s10, s11, 31
# CHECK-ASM: encoding: [0x13,0xdd,0xfd,0x41]
srai x26, x27, 31
+# CHECK-ASM-AND-OBJ: srai s10, s11, 31
+# CHECK-ASM: encoding: [0x13,0xdd,0xfd,0x41]
+srai x26, x27, CONST
# CHECK-ASM-AND-OBJ: addiw t3, t4, -2048
# CHECK-ASM: encoding: [0x1b,0x8e,0x0e,0x80]
# CHECK-ASM-AND-OBJ: sraiw a0, a1, 31
# CHECK-ASM: encoding: [0x1b,0xd5,0xf5,0x41]
sraiw a0, a1, 31
+# CHECK-ASM-AND-OBJ: sraiw a0, a1, 31
+# CHECK-ASM: encoding: [0x1b,0xd5,0xf5,0x41]
+sraiw a0, a1, CONST
# CHECK-ASM-AND-OBJ: addw a2, a3, a4
# CHECK-ASM: encoding: [0x3b,0x86,0xe6,0x00]