Skip to content

Commit f375aff

Browse files
authored
1 parent a292344 commit f375aff

File tree

3 files changed

+66
-0
lines changed

3 files changed

+66
-0
lines changed

llvm/docs/ReleaseNotes.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ Changes to the RISC-V Backend
108108
* The experimental Ssnpm, Smnpm, Smmpm, Sspm, and Supm 0.8.1 Pointer Masking extensions are supported.
109109
* The experimental Ssqosid extension is supported.
110110
* Zacas is no longer experimental.
111+
* Added the CSR names from the Resumable Non-Maskable Interrupts (Smrnmi) extension.
111112

112113
Changes to the WebAssembly Backend
113114
----------------------------------

llvm/lib/Target/RISCV/RISCVSystemOperands.td

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,16 @@ def : SysReg<"vsieh", 0x214>;
418418
def : SysReg<"vsiph", 0x254>;
419419
} // isRV32Only
420420

421+
//===-----------------------------------------------
421422
// Jump Vector Table CSR
422423
//===-----------------------------------------------
423424

424425
def : SysReg<"jvt", 0x017>;
426+
427+
//===-----------------------------------------------
428+
// Resumable Non-Maskable Interrupts(Smrnmi) CSRs
429+
//===-----------------------------------------------
430+
def : SysReg<"mnscratch", 0x740>;
431+
def : SysReg<"mnepc", 0x741>;
432+
def : SysReg<"mncause", 0x742>;
433+
def : SysReg<"mnstatus", 0x744>;

llvm/test/MC/RISCV/rv32-machine-csr-names.s

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,3 +1149,59 @@ csrrs t2, 0x319, zero
11491149
csrrs t1, miph, zero
11501150
# uimm12
11511151
csrrs t2, 0x354, zero
1152+
1153+
################################################
1154+
# Resumable Non-Maskable Interrupts(Smrnmi) CSRs
1155+
################################################
1156+
1157+
# mnscratch
1158+
# name
1159+
# CHECK-INST: csrrs t1, mnscratch, zero
1160+
# CHECK-ENC: encoding: [0x73,0x23,0x00,0x74]
1161+
# CHECK-INST-ALIAS: csrr t1, mnscratch
1162+
# uimm12
1163+
# CHECK-INST: csrrs t2, mnscratch, zero
1164+
# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x74]
1165+
# CHECK-INST-ALIAS: csrr t2, mnscratch
1166+
csrrs t1, mnscratch, zero
1167+
# uimm12
1168+
csrrs t2, 0x740, zero
1169+
1170+
# mnepc
1171+
# name
1172+
# CHECK-INST: csrrs t1, mnepc, zero
1173+
# CHECK-ENC: encoding: [0x73,0x23,0x10,0x74]
1174+
# CHECK-INST-ALIAS: csrr t1, mnepc
1175+
# uimm12
1176+
# CHECK-INST: csrrs t2, mnepc, zero
1177+
# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x74]
1178+
# CHECK-INST-ALIAS: csrr t2, mnepc
1179+
csrrs t1, mnepc, zero
1180+
# uimm12
1181+
csrrs t2, 0x741, zero
1182+
1183+
# mncause
1184+
# name
1185+
# CHECK-INST: csrrs t1, mncause, zero
1186+
# CHECK-ENC: encoding: [0x73,0x23,0x20,0x74]
1187+
# CHECK-INST-ALIAS: csrr t1, mncause
1188+
# uimm12
1189+
# CHECK-INST: csrrs t2, mncause, zero
1190+
# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x74]
1191+
# CHECK-INST-ALIAS: csrr t2, mncause
1192+
csrrs t1, mncause, zero
1193+
# uimm12
1194+
csrrs t2, 0x742, zero
1195+
1196+
# mnstatus
1197+
# name
1198+
# CHECK-INST: csrrs t1, mnstatus, zero
1199+
# CHECK-ENC: encoding: [0x73,0x23,0x40,0x74]
1200+
# CHECK-INST-ALIAS: csrr t1, mnstatus
1201+
# uimm12
1202+
# CHECK-INST: csrrs t2, mnstatus, zero
1203+
# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x74]
1204+
# CHECK-INST-ALIAS: csrr t2, mnstatus
1205+
csrrs t1, mnstatus, zero
1206+
# uimm12
1207+
csrrs t2, 0x744, zero

0 commit comments

Comments
 (0)