#define CSR_PCER_CYCLES 0 /* Count the number of cycles the core was running */
#define CSR_PCER_INSTR 1 /* Count the number of instructions executed */
#define CSR_PCER_LD_STALL 2 /* Number of load use hazards */
#define CSR_PCER_JMP_STALL 3 /* Number of jump register hazards */
#define CSR_PCER_IMISS 4 /* Cycles waiting for instruction fetches. i.e. the number of instructions wasted due to non-ideal caches */
#define CSR_PCER_LD 5 /* Number of memory loads executed. Misaligned accesses are counted twice */
#define CSR_PCER_ST 6 /* Number of memory stores executed. Misaligned accesses are counted twice */
#define CSR_PCER_JUMP 7 /* Number of jump instructions seen, i.e. j, jr, jal, jalr */
#define CSR_PCER_BRANCH 8 /* Number of branch instructions seen, i.e. bf, bnf */
#define CSR_PCER_TAKEN_BRANCH 9 /* Number of taken branch instructions seen, i.e. bf, bnf */
#define CSR_PCER_RVC 10 /* Number of compressed instructions */
#define CSR_PCER_ELW 11 /* Cycles wasted due to ELW instruction */
#define CSR_PCER_LD_EXT 12 /* Number of memory loads to EXT executed. Misaligned accesses are counted twice. Every non-TCDM access is considered external */
#define CSR_PCER_ST_EXT 13 /* Number of memory stores to EXT executed. Misaligned accesses are counted twice. Every non-TCDM access is considered external */
#define CSR_PCER_LD_EXT_CYC 14 /* Cycles used for memory loads to EXT. Every non-TCDM access is considered external */
#define CSR_PCER_ST_EXT_CYC 15 /* Cycles used for memory stores to EXT. Every non-TCDM access is considered external */
#define CSR_PCER_TCDM_CONT 16 /* Cycles wasted due to TCDM/log-interconnect contention */