Add an api to get the name for a CSR.
[riscv-isa-sim.git] / riscv / regnames.cc
1 // See LICENSE for license details.
2
3 #include "disasm.h"
4
5 const char* xpr_name[] = {
6 "zero", "ra", "sp", "gp", "tp", "t0", "t1", "t2",
7 "s0", "s1", "a0", "a1", "a2", "a3", "a4", "a5",
8 "a6", "a7", "s2", "s3", "s4", "s5", "s6", "s7",
9 "s8", "s9", "s10", "s11", "t3", "t4", "t5", "t6"
10 };
11
12 const char* fpr_name[] = {
13 "ft0", "ft1", "ft2", "ft3", "ft4", "ft5", "ft6", "ft7",
14 "fs0", "fs1", "fa0", "fa1", "fa2", "fa3", "fa4", "fa5",
15 "fa6", "fa7", "fs2", "fs3", "fs4", "fs5", "fs6", "fs7",
16 "fs8", "fs9", "fs10", "fs11", "ft8", "ft9", "ft10", "ft11"
17 };
18
19 const char* csr_name(int which) {
20 switch (which) {
21 #define DECLARE_CSR(name, number) case number: return #name;
22 #include "encoding.h"
23 #undef DECLARE_CSR
24 }
25 return "unknown-csr";
26 }