blob: 24782d1be0da5bd3c8669d77ee3149b942fcf11c [file] [log] [blame]
# RUN: llvm-mc %s -triple=riscv64 -mattr=+xtheadmemidx -show-encoding \
# RUN: | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s
# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+xtheadmemidx < %s \
# RUN: | llvm-objdump --mattr=+xtheadmemidx -d -r - \
# RUN: | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s
# CHECK-ASM-AND-OBJ: th.ldia
# CHECK-ASM: encoding: [0x0b,0xc5,0x05,0x78]
th.ldia a0, (a1), 0, 0
# CHECK-ASM-AND-OBJ: th.ldib
# CHECK-ASM: encoding: [0x0b,0xc5,0xf5,0x6a]
th.ldib a0, (a1), 15, 1
# CHECK-ASM-AND-OBJ: th.lwia
# CHECK-ASM: encoding: [0x0b,0xc5,0x05,0x5c]
th.lwia a0, (a1), 0, 2
# CHECK-ASM-AND-OBJ: th.lwib
# CHECK-ASM: encoding: [0x0b,0xc5,0x05,0x4f]
th.lwib a0, (a1), -16, 3
# CHECK-ASM-AND-OBJ: th.lwuia
# CHECK-ASM: encoding: [0x0b,0xc5,0x05,0xd8]
th.lwuia a0, (a1), 0, 0
# CHECK-ASM-AND-OBJ: th.lwuib
# CHECK-ASM: encoding: [0x0b,0xc5,0xf5,0xca]
th.lwuib a0, (a1), 15, 1
# CHECK-ASM-AND-OBJ: th.lhia
# CHECK-ASM: encoding: [0x0b,0xc5,0x05,0x3c]
th.lhia a0, (a1), 0, 2
# CHECK-ASM-AND-OBJ: th.lhib
# CHECK-ASM: encoding: [0x0b,0xc5,0x05,0x2f]
th.lhib a0, (a1), -16, 3
# CHECK-ASM-AND-OBJ: th.lhuia
# CHECK-ASM: encoding: [0x0b,0xc5,0x05,0xb8]
th.lhuia a0, (a1), 0, 0
# CHECK-ASM-AND-OBJ: th.lhuib
# CHECK-ASM: encoding: [0x0b,0xc5,0xf5,0xaa]
th.lhuib a0, (a1), 15, 1
# CHECK-ASM-AND-OBJ: th.lbia
# CHECK-ASM: encoding: [0x0b,0xc5,0x05,0x1c]
th.lbia a0, (a1), 0, 2
# CHECK-ASM-AND-OBJ: th.lbib
# CHECK-ASM: encoding: [0x0b,0xc5,0x05,0x0f]
th.lbib a0, (a1), -16, 3
# CHECK-ASM-AND-OBJ: th.lbuia
# CHECK-ASM: encoding: [0x0b,0xc5,0x05,0x98]
th.lbuia a0, (a1), 0, 0
# CHECK-ASM-AND-OBJ: th.lbuib
# CHECK-ASM: encoding: [0x0b,0xc5,0xf5,0x8a]
th.lbuib a0, (a1), 15, 1
# CHECK-ASM-AND-OBJ: th.sdia
# CHECK-ASM: encoding: [0x0b,0xd5,0x05,0x79]
th.sdia a0, (a1), -16, 0
# CHECK-ASM-AND-OBJ: th.sdib
# CHECK-ASM: encoding: [0x0b,0xd5,0xf5,0x6b]
th.sdib a0, (a1), -1, 1
# CHECK-ASM-AND-OBJ: th.swia
# CHECK-ASM: encoding: [0x0b,0xd5,0x05,0x5c]
th.swia a0, (a1), 0, 2
# CHECK-ASM-AND-OBJ: th.swib
# CHECK-ASM: encoding: [0x0b,0xd5,0x15,0x4e]
th.swib a0, (a1), 1, 3
# CHECK-ASM-AND-OBJ: th.shia
# CHECK-ASM: encoding: [0x0b,0xd5,0x45,0x38]
th.shia a0, (a1), 4, 0
# CHECK-ASM-AND-OBJ: th.shib
# CHECK-ASM: encoding: [0x0b,0xd5,0xd5,0x2a]
th.shib a0, (a1), 13, 1
# CHECK-ASM-AND-OBJ: th.sbia
# CHECK-ASM: encoding: [0x0b,0xd5,0xe5,0x1c]
th.sbia a0, (a1), 14, 2
# CHECK-ASM-AND-OBJ: th.sbib
# CHECK-ASM: encoding: [0x0b,0xd5,0xf5,0x0e]
th.sbib a0, (a1), 15, 3
# CHECK-ASM-AND-OBJ: th.lrd
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0x60]
th.lrd a0, a1, a2, 0
# CHECK-ASM-AND-OBJ: th.lrw
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0x42]
th.lrw a0, a1, a2, 1
# CHECK-ASM-AND-OBJ: th.lrwu
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0xc4]
th.lrwu a0, a1, a2, 2
# CHECK-ASM-AND-OBJ: th.lrh
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0x26]
th.lrh a0, a1, a2, 3
# CHECK-ASM-AND-OBJ: th.lrhu
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0xa0]
th.lrhu a0, a1, a2, 0
# CHECK-ASM-AND-OBJ: th.lrb
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0x02]
th.lrb a0, a1, a2, 1
# CHECK-ASM-AND-OBJ: th.lrbu
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0x84]
th.lrbu a0, a1, a2, 2
# CHECK-ASM-AND-OBJ: th.srd
# CHECK-ASM: encoding: [0x0b,0xd5,0xc5,0x66]
th.srd a0, a1, a2, 3
# CHECK-ASM-AND-OBJ: th.srw
# CHECK-ASM: encoding: [0x0b,0xd5,0xc5,0x40]
th.srw a0, a1, a2, 0
# CHECK-ASM-AND-OBJ: th.srh
# CHECK-ASM: encoding: [0x0b,0xd5,0xc5,0x22]
th.srh a0, a1, a2, 1
# CHECK-ASM-AND-OBJ: th.srb
# CHECK-ASM: encoding: [0x0b,0xd5,0xc5,0x04]
th.srb a0, a1, a2, 2
# CHECK-ASM-AND-OBJ: th.lurd
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0x70]
th.lurd a0, a1, a2, 0
# CHECK-ASM-AND-OBJ: th.lurw
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0x52]
th.lurw a0, a1, a2, 1
# CHECK-ASM-AND-OBJ: th.lurwu
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0xd4]
th.lurwu a0, a1, a2, 2
# CHECK-ASM-AND-OBJ: th.lurh
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0x36]
th.lurh a0, a1, a2, 3
# CHECK-ASM-AND-OBJ: th.lurhu
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0xb0]
th.lurhu a0, a1, a2, 0
# CHECK-ASM-AND-OBJ: th.lurb
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0x12]
th.lurb a0, a1, a2, 1
# CHECK-ASM-AND-OBJ: th.lurbu
# CHECK-ASM: encoding: [0x0b,0xc5,0xc5,0x94]
th.lurbu a0, a1, a2, 2
# CHECK-ASM-AND-OBJ: th.surd
# CHECK-ASM: encoding: [0x0b,0xd5,0xc5,0x76]
th.surd a0, a1, a2, 3
# CHECK-ASM-AND-OBJ: th.surw
# CHECK-ASM: encoding: [0x0b,0xd5,0xc5,0x50]
th.surw a0, a1, a2, 0
# CHECK-ASM-AND-OBJ: th.surh
# CHECK-ASM: encoding: [0x0b,0xd5,0xc5,0x32]
th.surh a0, a1, a2, 1
# CHECK-ASM-AND-OBJ: th.surb
# CHECK-ASM: encoding: [0x0b,0xd5,0xc5,0x14]
th.surb a0, a1, a2, 2