diff --git a/main.c b/main.c index d6e9853..01ece19 100644 --- a/main.c +++ b/main.c @@ -155,10 +155,12 @@ int main() PRINT_ISA_SUPPORT(zfh) PRINT_ISA_SUPPORT(zfhmin) PRINT_ISA_SUPPORT(zicbop) + PRINT_ISA_SUPPORT(zicntr) PRINT_ISA_SUPPORT(zicond) PRINT_ISA_SUPPORT(zicsr) PRINT_ISA_SUPPORT(zifencei) PRINT_ISA_SUPPORT(zihintpause) + PRINT_ISA_SUPPORT(zihpm) PRINT_ISA_SUPPORT(zmmul) PRINT_ISA_SUPPORT(zvbb) PRINT_ISA_SUPPORT(zvbc) diff --git a/ruapu.h b/ruapu.h index 2710d00..9f04ae7 100644 --- a/ruapu.h +++ b/ruapu.h @@ -336,10 +336,12 @@ RUAPU_INSTCODE(zfbfmin, 0x44807053) // fcvt.bf16.s ft0,ft0 RUAPU_INSTCODE(zfh, 0x04007053); // fadd.hs ft0, ft0, ft0 RUAPU_INSTCODE(zfhmin, 0xe4000553) // fmv.x.h a0, ft0 RUAPU_INSTCODE(zicbop, 0x00116013) // prefetch.r 0(sp) +RUAPU_INSTCODE(zicntr, 0xc0002573) // rdcycle a0 RUAPU_INSTCODE(zicond, 0x0ea55533) // czero.eqz a0,a0,a0 RUAPU_INSTCODE(zicsr, 0xc0102573); // csrr a0, time RUAPU_INSTCODE(zifencei, 0x0000100f); // fence.i RUAPU_INSTCODE(zihintpause, 0x0100000f); // pause +RUAPU_INSTCODE(zihpm, 0xc0302573) // csrr a0, hpmcounter3 RUAPU_INSTCODE(zmmul, 0x02a50533) // mul a0,a0,a0 RUAPU_INSTCODE(xtheadba, 0x00a5150b) // th.addsl a0,a0,a0,#0 @@ -556,10 +558,12 @@ RUAPU_ISAENTRY(zfbfmin) RUAPU_ISAENTRY(zfh) RUAPU_ISAENTRY(zfhmin) RUAPU_ISAENTRY(zicbop) +RUAPU_ISAENTRY(zicntr) RUAPU_ISAENTRY(zicond) RUAPU_ISAENTRY(zicsr) RUAPU_ISAENTRY(zifencei) RUAPU_ISAENTRY(zihintpause) +RUAPU_ISAENTRY(zihpm) RUAPU_ISAENTRY(zmmul) RUAPU_ISAENTRY(zvbb) RUAPU_ISAENTRY(zvbc)