mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
c6b3072fd0
Reviewers: asb, mgrang Reviewed By: asb Subscribers: jocewei, mgorny, jfb, PkmX, MartinMosbeck, brucehoult, the_o, rkruppe, rogfer01, rbar, johnrusso, simoncook, jordy.potman.lists, sabuasal, niosHD, kito-cheng, shiva0217, zzheng, edward-jones Differential Revision: https://reviews.llvm.org/D46759 llvm-svn: 343822
458 lines
12 KiB
ArmAsm
458 lines
12 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
|
|
|
|
##################################
|
|
# User Counter and Timers
|
|
##################################
|
|
|
|
# cycleh
|
|
# name
|
|
# CHECK-INST: csrrs t1, cycleh, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x00,0xc8]
|
|
# CHECK-INST-ALIAS: rdcycleh t1
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, cycleh, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x00,0xc8]
|
|
# CHECK-INST-ALIAS: rdcycleh t2
|
|
# name
|
|
csrrs t1, cycleh, zero
|
|
# uimm12
|
|
csrrs t2, 0xC80, zero
|
|
|
|
# timeh
|
|
# name
|
|
# CHECK-INST: csrrs t1, timeh, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x10,0xc8]
|
|
# CHECK-INST-ALIAS: rdtimeh t1
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, timeh, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x10,0xc8]
|
|
# CHECK-INST-ALIAS: rdtimeh t2
|
|
# name
|
|
csrrs t1, timeh, zero
|
|
# uimm12
|
|
csrrs t2, 0xC81, zero
|
|
|
|
# instreth
|
|
# name
|
|
# CHECK-INST: csrrs t1, instreth, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x20,0xc8]
|
|
# CHECK-INST-ALIAS: rdinstreth t1
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, instreth, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x20,0xc8]
|
|
# CHECK-INST-ALIAS: rdinstreth t2
|
|
# name
|
|
csrrs t1, instreth, zero
|
|
# uimm12
|
|
csrrs t2, 0xC82, zero
|
|
|
|
# hpmcounter3h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter3h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x30,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter3h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter3h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x30,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter3h
|
|
# name
|
|
csrrs t1, hpmcounter3h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC83, zero
|
|
|
|
# hpmcounter4h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter4h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x40,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter4h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter4h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x40,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter4h
|
|
# name
|
|
csrrs t1, hpmcounter4h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC84, zero
|
|
|
|
# hpmcounter5h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter5h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x50,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter5h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter5h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x50,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter5h
|
|
# name
|
|
csrrs t1, hpmcounter5h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC85, zero
|
|
|
|
# hpmcounter6h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter6h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x60,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter6h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter6h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x60,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter6h
|
|
# name
|
|
csrrs t1, hpmcounter6h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC86, zero
|
|
|
|
# hpmcounter7h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter7h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x70,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter7h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter7h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x70,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter7h
|
|
# name
|
|
csrrs t1, hpmcounter7h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC87, zero
|
|
|
|
# hpmcounter8h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter8h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x80,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter8h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter8h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x80,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter8h
|
|
# name
|
|
csrrs t1, hpmcounter8h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC88, zero
|
|
|
|
# hpmcounter9h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter9h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x90,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter9h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter9h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x90,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter9h
|
|
# name
|
|
csrrs t1, hpmcounter9h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC89, zero
|
|
|
|
# hpmcounter10h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter10h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xa0,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter10h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter10h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter10h
|
|
# name
|
|
csrrs t1, hpmcounter10h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC8A, zero
|
|
|
|
# hpmcounter11h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter11h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xb0,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter11h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter11h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter11h
|
|
# name
|
|
csrrs t1, hpmcounter11h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC8B, zero
|
|
|
|
# hpmcounter12h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter12h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xc0,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter12h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter12h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter12h
|
|
# name
|
|
csrrs t1, hpmcounter12h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC8C, zero
|
|
|
|
# hpmcounter13h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter13h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xd0,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter13h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter13h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter13h
|
|
# name
|
|
csrrs t1, hpmcounter13h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC8D, zero
|
|
|
|
# hpmcounter14h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter14h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xe0,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter14h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter14h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter14h
|
|
# name
|
|
csrrs t1, hpmcounter14h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC8E, zero
|
|
|
|
# hpmcounter15h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter15h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xf0,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter15h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter15h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0xc8]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter15h
|
|
# name
|
|
csrrs t1, hpmcounter15h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC8F, zero
|
|
|
|
# hpmcounter16h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter16h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x00,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter16h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter16h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x00,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter16h
|
|
# name
|
|
csrrs t1, hpmcounter16h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC90, zero
|
|
|
|
# hpmcounter17h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter17h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x10,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter17h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter17h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x10,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter17h
|
|
# name
|
|
csrrs t1, hpmcounter17h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC91, zero
|
|
|
|
# hpmcounter18h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter18h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x20,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter18h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter18h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x20,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter18h
|
|
# name
|
|
csrrs t1, hpmcounter18h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC92, zero
|
|
|
|
# hpmcounter19h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter19h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x30,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter19h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter19h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x30,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter19h
|
|
# name
|
|
csrrs t1, hpmcounter19h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC93, zero
|
|
|
|
# hpmcounter20h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter20h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x40,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter20h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter20h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x40,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter20h
|
|
# name
|
|
csrrs t1, hpmcounter20h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC94, zero
|
|
|
|
# hpmcounter21h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter21h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x50,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter21h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter21h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x50,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter21h
|
|
# name
|
|
csrrs t1, hpmcounter21h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC95, zero
|
|
|
|
# hpmcounter22h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter22h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x60,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter22h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter22h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x60,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter22h
|
|
# name
|
|
csrrs t1, hpmcounter22h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC96, zero
|
|
|
|
# hpmcounter23h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter23h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x70,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter23h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter23h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x70,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter23h
|
|
# name
|
|
csrrs t1, hpmcounter23h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC97, zero
|
|
|
|
# hpmcounter24h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter24h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x80,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter24h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter24h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x80,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter24h
|
|
# name
|
|
csrrs t1, hpmcounter24h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC98, zero
|
|
|
|
# hpmcounter25h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter25h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0x90,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter25h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter25h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0x90,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter25h
|
|
# name
|
|
csrrs t1, hpmcounter25h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC99, zero
|
|
|
|
# hpmcounter26h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter26h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xa0,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter26h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter26h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter26h
|
|
# name
|
|
csrrs t1, hpmcounter26h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC9A, zero
|
|
|
|
# hpmcounter27h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter27h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xb0,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter27h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter27h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter27h
|
|
# name
|
|
csrrs t1, hpmcounter27h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC9B, zero
|
|
|
|
# hpmcounter28h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter28h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xc0,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter28h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter28h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter28h
|
|
# name
|
|
csrrs t1, hpmcounter28h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC9C, zero
|
|
|
|
# hpmcounter29h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter29h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xd0,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter29h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter29h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter29h
|
|
# name
|
|
csrrs t1, hpmcounter29h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC9D, zero
|
|
|
|
# hpmcounter30h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter30h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xe0,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter30h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter30h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter30h
|
|
# name
|
|
csrrs t1, hpmcounter30h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC9E, zero
|
|
|
|
# hpmcounter31h
|
|
# name
|
|
# CHECK-INST: csrrs t1, hpmcounter31h, zero
|
|
# CHECK-ENC: encoding: [0x73,0x23,0xf0,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t1, hpmcounter31h
|
|
# uimm12
|
|
# CHECK-INST: csrrs t2, hpmcounter31h, zero
|
|
# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0xc9]
|
|
# CHECK-INST-ALIAS: csrr t2, hpmcounter31h
|
|
# name
|
|
csrrs t1, hpmcounter31h, zero
|
|
# uimm12
|
|
csrrs t2, 0xC9F, zero
|