221 lines
5.5 KiB
ArmAsm
221 lines
5.5 KiB
ArmAsm
# RUN: llvm-mc %s -triple=riscv32 -riscv-no-aliases -show-encoding \
|
|
# RUN: | FileCheck -check-prefixes=CHECK-INST,CHECK-ENC %s
|
|
# RUN: llvm-mc -filetype=obj -triple riscv32 < %s \
|
|
# RUN: | llvm-objdump -d - \
|
|
# RUN: | FileCheck -check-prefix=CHECK-INST-ALIAS %s
|
|
|
|
##################################
|
|
# Hypervisor Configuration
|
|
##################################
|
|
|
|
# henvcfgh
|
|
# name
|
|
# CHECK-INST: csrrs t1, henvcfgh, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xa0,0x61]
|
|
# CHECK-INST-ALIAS: csrr t1, henvcfgh
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, henvcfgh, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0x61]
|
|
# CHECK-INST-ALIAS: csrr t2, henvcfgh
|
|
# name
|
|
csrrs t1, henvcfgh, zero
|
|
# uimm12
|
|
csrrs t2, 0x61A, zero
|
|
|
|
#####################################################
|
|
# Hypervisor Counter/Timer Virtualization Registers
|
|
#####################################################
|
|
|
|
# htimedeltah
|
|
# name
|
|
# CHECK-INST: csrrs t1, htimedeltah, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x50,0x61]
|
|
# CHECK-INST-ALIAS: csrr t1, htimedeltah
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, htimedeltah, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x61]
|
|
# CHECK-INST-ALIAS: csrr t2, htimedeltah
|
|
# name
|
|
csrrs t1, htimedeltah, zero
|
|
# uimm12
|
|
csrrs t2, 0x615, zero
|
|
|
|
################################
|
|
# Virtual Supervisor Registers
|
|
################################
|
|
|
|
# vstimecmph
|
|
# name
|
|
# CHECK-INST: csrrs t1, vstimecmph, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xd0,0x25]
|
|
# CHECK-INST-ALIAS: csrr t1, vstimecmph
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, vstimecmph, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0x25]
|
|
# CHECK-INST-ALIAS: csrr t2, vstimecmph
|
|
# name
|
|
csrrs t1, vstimecmph, zero
|
|
# uimm12
|
|
csrrs t2, 0x25D, zero
|
|
|
|
#########################################
|
|
# State Enable Extension (Smstateen)
|
|
#########################################
|
|
|
|
# hstateen0h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hstateen0h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xc0,0x61]
|
|
# CHECK-INST-ALIAS: csrr t1, hstateen0h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hstateen0h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0x61]
|
|
# CHECK-INST-ALIAS: csrr t2, hstateen0h
|
|
# name
|
|
csrrs t1, hstateen0h, zero
|
|
# uimm12
|
|
csrrs t2, 0x61C, zero
|
|
|
|
# hstateen1h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hstateen1h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xd0,0x61]
|
|
# CHECK-INST-ALIAS: csrr t1, hstateen1h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hstateen1h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0x61]
|
|
# CHECK-INST-ALIAS: csrr t2, hstateen1h
|
|
# name
|
|
csrrs t1, hstateen1h, zero
|
|
# uimm12
|
|
csrrs t2, 0x61D, zero
|
|
|
|
# hstateen2h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hstateen2h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xe0,0x61]
|
|
# CHECK-INST-ALIAS: csrr t1, hstateen2h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hstateen2h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0x61]
|
|
# CHECK-INST-ALIAS: csrr t2, hstateen2h
|
|
# name
|
|
csrrs t1, hstateen2h, zero
|
|
# uimm12
|
|
csrrs t2, 0x61E, zero
|
|
|
|
# hstateen3h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hstateen3h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xf0,0x61]
|
|
# CHECK-INST-ALIAS: csrr t1, hstateen3h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hstateen3h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0x61]
|
|
# CHECK-INST-ALIAS: csrr t2, hstateen3h
|
|
# name
|
|
csrrs t1, hstateen3h, zero
|
|
# uimm12
|
|
csrrs t2, 0x61F, zero
|
|
|
|
#########################################
|
|
# Advanced Interrupt Architecture (Smaia and Ssaia)
|
|
#########################################
|
|
|
|
# hidelegh
|
|
# name
|
|
# CHECK-INST: csrrs t1, hidelegh, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x30,0x61]
|
|
# CHECK-INST-ALIAS: csrr t1, hidelegh
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hidelegh, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x61]
|
|
# CHECK-INST-ALIAS: csrr t2, hidelegh
|
|
# name
|
|
csrrs t1, hidelegh, zero
|
|
# uimm12
|
|
csrrs t2, 0x613, zero
|
|
|
|
# hvienh
|
|
# name
|
|
# CHECK-INST: csrrs t1, hvienh, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x80,0x61]
|
|
# CHECK-INST-ALIAS: csrr t1, hvienh
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hvienh, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x61]
|
|
# CHECK-INST-ALIAS: csrr t2, hvienh
|
|
# name
|
|
csrrs t1, hvienh, zero
|
|
# uimm12
|
|
csrrs t2, 0x618, zero
|
|
|
|
# hviph
|
|
# name
|
|
# CHECK-INST: csrrs t1, hviph, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x50,0x65]
|
|
# CHECK-INST-ALIAS: csrr t1, hviph
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hviph, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x65]
|
|
# CHECK-INST-ALIAS: csrr t2, hviph
|
|
# name
|
|
csrrs t1, hviph, zero
|
|
# uimm12
|
|
csrrs t2, 0x655, zero
|
|
|
|
# hviprio1h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hviprio1h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x60,0x65]
|
|
# CHECK-INST-ALIAS: csrr t1, hviprio1h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hviprio1h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x60,0x65]
|
|
# CHECK-INST-ALIAS: csrr t2, hviprio1h
|
|
# name
|
|
csrrs t1, hviprio1h, zero
|
|
# uimm12
|
|
csrrs t2, 0x656, zero
|
|
|
|
# hviprio2h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hviprio2h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x70,0x65]
|
|
# CHECK-INST-ALIAS: csrr t1, hviprio2h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hviprio2h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x70,0x65]
|
|
# CHECK-INST-ALIAS: csrr t2, hviprio2h
|
|
# name
|
|
csrrs t1, hviprio2h, zero
|
|
# uimm12
|
|
csrrs t2, 0x657, zero
|
|
|
|
# vsieh
|
|
# name
|
|
# CHECK-INST: csrrs t1, vsieh, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x40,0x21]
|
|
# CHECK-INST-ALIAS: csrr t1, vsieh
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, vsieh, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x21]
|
|
# CHECK-INST-ALIAS: csrr t2, vsieh
|
|
# name
|
|
csrrs t1, vsieh, zero
|
|
# uimm12
|
|
csrrs t2, 0x214, zero
|
|
|
|
# vsiph
|
|
# name
|
|
# CHECK-INST: csrrs t1, vsiph, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x40,0x25]
|
|
# CHECK-INST-ALIAS: csrr t1, vsiph
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, vsiph, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x25]
|
|
# CHECK-INST-ALIAS: csrr t2, vsiph
|
|
# name
|
|
csrrs t1, vsiph, zero
|
|
# uimm12
|
|
csrrs t2, 0x254, zero
|