From 53c8bd653db708b728458dbdb56251f099212cd5 Mon Sep 17 00:00:00 2001 From: moore Date: Thu, 13 Sep 2018 11:57:30 +0100 Subject: [PATCH] Improved test coverage --- ChangeLog | 6 + doc/README.adoc | 4 +- .../Codasip-simulator/compliance_io.h | 2 +- riscv-target/riscvOVPsim/compliance_io.h | 82 +++++----- .../device/rv32im/Makefile.include | 1 + riscv-target/spike/compliance_io.h | 10 +- riscv-test-env/test_macros.h | 150 ++++++++++++++---- riscv-test-suite/rv32i/src/I-ADD-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-ADDI-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-AND-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-ANDI-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-AUIPC-01.S | 34 ++-- riscv-test-suite/rv32i/src/I-BEQ-01.S | 82 +++++----- riscv-test-suite/rv32i/src/I-BGE-01.S | 82 +++++----- riscv-test-suite/rv32i/src/I-BGEU-01.S | 82 +++++----- riscv-test-suite/rv32i/src/I-BLT-01.S | 82 +++++----- riscv-test-suite/rv32i/src/I-BLTU-01.S | 82 +++++----- riscv-test-suite/rv32i/src/I-BNE-01.S | 82 +++++----- riscv-test-suite/rv32i/src/I-CSRRC-01.S | 50 +++--- riscv-test-suite/rv32i/src/I-CSRRCI-01.S | 34 ++-- riscv-test-suite/rv32i/src/I-CSRRS-01.S | 50 +++--- riscv-test-suite/rv32i/src/I-CSRRSI-01.S | 34 ++-- riscv-test-suite/rv32i/src/I-CSRRW-01.S | 34 ++-- riscv-test-suite/rv32i/src/I-CSRRWI-01.S | 18 +-- riscv-test-suite/rv32i/src/I-DELAY_SLOTS-01.S | 18 +-- riscv-test-suite/rv32i/src/I-EBREAK-01.S | 4 +- riscv-test-suite/rv32i/src/I-ECALL-01.S | 4 +- riscv-test-suite/rv32i/src/I-ENDIANESS-01.S | 18 +-- riscv-test-suite/rv32i/src/I-FENCE.I-01.S | 10 +- riscv-test-suite/rv32i/src/I-IO.S | 90 +++++------ riscv-test-suite/rv32i/src/I-JAL-01.S | 42 ++--- riscv-test-suite/rv32i/src/I-JALR-01.S | 50 +++--- riscv-test-suite/rv32i/src/I-LB-01.S | 74 ++++----- riscv-test-suite/rv32i/src/I-LBU-01.S | 74 ++++----- riscv-test-suite/rv32i/src/I-LH-01.S | 42 ++--- riscv-test-suite/rv32i/src/I-LHU-01.S | 42 ++--- riscv-test-suite/rv32i/src/I-LUI-01.S | 34 ++-- riscv-test-suite/rv32i/src/I-LW-01.S | 26 +-- .../rv32i/src/I-MISALIGN_JMP-01.S | 2 +- .../rv32i/src/I-MISALIGN_LDST-01.S | 8 +- riscv-test-suite/rv32i/src/I-NOP-01.S | 66 ++++---- riscv-test-suite/rv32i/src/I-OR-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-ORI-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-RF_size-01.S | 66 ++++---- riscv-test-suite/rv32i/src/I-RF_width-01.S | 66 ++++---- riscv-test-suite/rv32i/src/I-RF_x0-01.S | 6 +- riscv-test-suite/rv32i/src/I-SB-01.S | 68 ++++---- riscv-test-suite/rv32i/src/I-SH-01.S | 56 +++---- riscv-test-suite/rv32i/src/I-SLL-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-SLLI-01.S | 82 +++++----- riscv-test-suite/rv32i/src/I-SLT-01.S | 98 ++++++------ riscv-test-suite/rv32i/src/I-SLTI-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-SLTIU-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-SLTU-01.S | 98 ++++++------ riscv-test-suite/rv32i/src/I-SRA-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-SRAI-01.S | 82 +++++----- riscv-test-suite/rv32i/src/I-SRL-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-SRLI-01.S | 82 +++++----- riscv-test-suite/rv32i/src/I-SUB-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-SW-01.S | 8 +- riscv-test-suite/rv32i/src/I-XOR-01.S | 90 +++++------ riscv-test-suite/rv32i/src/I-XORI-01.S | 90 +++++------ riscv-test-suite/rv32im/src/DIV.S | 2 +- riscv-test-suite/rv32im/src/DIVU.S | 2 +- riscv-test-suite/rv32im/src/MUL.S | 2 +- riscv-test-suite/rv32im/src/MULH.S | 2 +- riscv-test-suite/rv32im/src/MULHSU.S | 2 +- riscv-test-suite/rv32im/src/MULHU.S | 2 +- riscv-test-suite/rv32im/src/REM.S | 2 +- riscv-test-suite/rv32im/src/REMU.S | 2 +- riscv-test-suite/rv32imc/Makefrag | 19 ++- .../references/C.ADDI.reference_output | 4 +- .../references/C.ADDI16SP.reference_output | 13 ++ .../references/C.ADDI4SPN.reference_output | 13 ++ .../references/C.JALR.reference_output | 13 ++ .../rv32imc/references/C.JR.reference_output | 13 ++ .../rv32imc/references/C.LW.reference_output | 13 ++ .../references/C.SLLI.reference_output | 13 ++ .../references/C.SRAI.reference_output | 13 ++ .../references/C.SRLI.reference_output | 13 ++ riscv-test-suite/rv32imc/src/C.ADD.S | 52 +++--- riscv-test-suite/rv32imc/src/C.ADDI.S | 52 +++--- riscv-test-suite/rv32imc/src/C.ADDI16SP.S | 122 ++++++++++++++ riscv-test-suite/rv32imc/src/C.ADDI4SPN.S | 122 ++++++++++++++ riscv-test-suite/rv32imc/src/C.AND.S | 2 +- riscv-test-suite/rv32imc/src/C.ANDI.S | 12 +- riscv-test-suite/rv32imc/src/C.JALR.S | 122 ++++++++++++++ riscv-test-suite/rv32imc/src/C.JR.S | 122 ++++++++++++++ riscv-test-suite/rv32imc/src/C.LI.S | 52 +++--- riscv-test-suite/rv32imc/src/C.LUI.S | 52 +++--- riscv-test-suite/rv32imc/src/C.LW.S | 122 ++++++++++++++ riscv-test-suite/rv32imc/src/C.MV.S | 52 +++--- riscv-test-suite/rv32imc/src/C.OR.S | 2 +- riscv-test-suite/rv32imc/src/C.SLLI.S | 142 +++++++++++++++++ riscv-test-suite/rv32imc/src/C.SRAI.S | 142 +++++++++++++++++ riscv-test-suite/rv32imc/src/C.SRLI.S | 142 +++++++++++++++++ riscv-test-suite/rv32imc/src/C.SUB.S | 2 +- riscv-test-suite/rv32imc/src/C.XOR.S | 2 +- riscv-test-suite/rv64i/src/ADDIW.S | 2 +- riscv-test-suite/rv64i/src/ADDW.S | 2 +- riscv-test-suite/rv64i/src/SLLIW.S | 2 +- riscv-test-suite/rv64i/src/SLLW.S | 2 +- riscv-test-suite/rv64i/src/SRAIW.S | 2 +- riscv-test-suite/rv64i/src/SRAW.S | 2 +- riscv-test-suite/rv64i/src/SRLIW.S | 2 +- riscv-test-suite/rv64i/src/SRLW.S | 2 +- riscv-test-suite/rv64i/src/SUBW.S | 2 +- riscv-test-suite/rv64im/src/DIVW.S | 2 +- riscv-test-suite/rv64im/src/MULW.S | 2 +- riscv-test-suite/rv64im/src/REMUW.S | 2 +- riscv-test-suite/rv64im/src/REMW.S | 2 +- 111 files changed, 3151 insertions(+), 1911 deletions(-) create mode 100644 riscv-test-suite/rv32imc/references/C.ADDI16SP.reference_output create mode 100644 riscv-test-suite/rv32imc/references/C.ADDI4SPN.reference_output create mode 100644 riscv-test-suite/rv32imc/references/C.JALR.reference_output create mode 100644 riscv-test-suite/rv32imc/references/C.JR.reference_output create mode 100644 riscv-test-suite/rv32imc/references/C.LW.reference_output create mode 100644 riscv-test-suite/rv32imc/references/C.SLLI.reference_output create mode 100644 riscv-test-suite/rv32imc/references/C.SRAI.reference_output create mode 100644 riscv-test-suite/rv32imc/references/C.SRLI.reference_output create mode 100644 riscv-test-suite/rv32imc/src/C.ADDI16SP.S create mode 100644 riscv-test-suite/rv32imc/src/C.ADDI4SPN.S create mode 100644 riscv-test-suite/rv32imc/src/C.JALR.S create mode 100644 riscv-test-suite/rv32imc/src/C.JR.S create mode 100644 riscv-test-suite/rv32imc/src/C.LW.S create mode 100644 riscv-test-suite/rv32imc/src/C.SLLI.S create mode 100644 riscv-test-suite/rv32imc/src/C.SRAI.S create mode 100644 riscv-test-suite/rv32imc/src/C.SRLI.S diff --git a/ChangeLog b/ChangeLog index d11c451..9d0a3c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2018-09-10 Lee Moore + * Added tests to improve coverage, usage of Imperas Mutating Fault Simulator to + identify untested usage cases + * macro renames to support GPR, (S)FPR, (D)FPR + + 2018-06-15 Radek Hajek Modifications to support Codasip simulator. diff --git a/doc/README.adoc b/doc/README.adoc index 0b8596f..52c37ab 100644 --- a/doc/README.adoc +++ b/doc/README.adoc @@ -274,7 +274,7 @@ This description assumes the use of a configurable simulator with good trace and * Ensure that the processor configuration is set appropriately. -* Use the `RVTEST` macros (defined in `compliance_io.h`) to make it easy to see the details of a Test’s execution. There are macros for assertions (`RVTEST_IO_ASSERT_EQ`) and tracing (`RVTEST_IO_WRITE_STR`) which are empty on targets that can not implement them. +* Use the `RVTEST` macros (defined in `compliance_io.h`) to make it easy to see the details of a Test’s execution. There are macros for assertions (`RVTEST_IO_ASSERT_GPR_EQ`) and tracing (`RVTEST_IO_WRITE_STR`) which are empty on targets that can not implement them. * Assuming you are developing the test on a simulator, use the simulator’s tracing capabilities, especially a register change mode to single step your test examining all changing registers etc. to ensure your test is stimulating what is intending. @@ -328,7 +328,7 @@ For tracing the test the following macros are defined in `riscv-target/riscvOVP ---- RVTEST_IO_INIT RVTEST_IO_WRITE_STR(_STR) -RVTEST_IO_ASSERT_EQ(_R, _I) +RVTEST_IO_ASSERT_GPR_EQ(_R, _I) ---- An example of a test that uses the tracing macros is `riscv-test-suite/rv32i/ISA/src/I-IO.S`. diff --git a/riscv-target/Codasip-simulator/compliance_io.h b/riscv-target/Codasip-simulator/compliance_io.h index 6298e85..2b56dab 100644 --- a/riscv-target/Codasip-simulator/compliance_io.h +++ b/riscv-target/Codasip-simulator/compliance_io.h @@ -15,6 +15,6 @@ #define RVTEST_IO_INIT #define RVTEST_IO_PUTC(_R) #define RVTEST_IO_WRITE_STR(_STR) -#define RVTEST_IO_ASSERT_EQ(_R, _I) +#define RVTEST_IO_ASSERT_GPR_EQ(_R, _I) #endif // _COMPLIANCE_IO_H diff --git a/riscv-target/riscvOVPsim/compliance_io.h b/riscv-target/riscvOVPsim/compliance_io.h index b1dec24..49f91fe 100644 --- a/riscv-target/riscvOVPsim/compliance_io.h +++ b/riscv-target/riscvOVPsim/compliance_io.h @@ -28,7 +28,7 @@ #ifndef _COMPLIANCE_IO_H #define _COMPLIANCE_IO_H -//#define RVTEST_IO_QUIET +#define RVTEST_IO_QUIET //----------------------------------------------------------------------- // RV IO Macros (Character transfer by custom instruction) @@ -43,16 +43,35 @@ #define RVTEST_IO_INIT #define RVTEST_IO_WRITE_STR(_STR) #define RVTEST_IO_CHECK() -#define LOCAL_IO_PUTC(_R) -#define RVTEST_IO_ASSERT_EQ(_R, _I) -#define RVTEST_FP_ASSERT_EQ(_F, _C, correctval) -#define RVTEST_FP2_ASSERT_EQ(_F, _C, correctval) -#define RVTEST_FPD_ASSERT_EQ(_F, _C, correctval) +#define RVTEST_IO_ASSERT_GPR_EQ(_R, _I) +#define RVTEST_IO_ASSERT_SFPR_EQ(_F, _R, _I) +#define RVTEST_IO_ASSERT_DFPR_EQ(_D, _R, _I) #else +#define LOCAL_IO_WRITE_GPR(_R) \ + mv a0, _R; \ + jal FN_WriteA0; + +#define LOCAL_IO_WRITE_FPR(_F) \ + fmv.x.s a0, _F; \ + jal FN_WriteA0; + +#define LOCAL_FPD_WRITE_REG(_V1, _V2) \ + mv a0, _V1; \ + jal FN_WriteA0; \ + mv a0, _V2; \ + jal FN_WriteA0; \ + +#define LOCAL_IO_PUTC(_R) \ + .word RVTEST_CUSTOM1; \ + +#define RVTEST_IO_INIT + // Assertion violation: file file.c, line 1234: (expr) -#define RVTEST_IO_ASSERT_EQ(_R, _I) \ +// _R = GPR +// _I = Immediate +#define RVTEST_IO_ASSERT_GPR_EQ(_R, _I) \ li t0, _I; \ beq _R, t0, 20002f; \ RVTEST_IO_WRITE_STR("Assertion violation: file "); \ @@ -62,7 +81,7 @@ RVTEST_IO_WRITE_STR(": "); \ RVTEST_IO_WRITE_STR(# _R); \ RVTEST_IO_WRITE_STR("("); \ - LOCAL_IO_WRITE_REG(_R); \ + LOCAL_IO_WRITE_GPR(_R); \ RVTEST_IO_WRITE_STR(") != "); \ RVTEST_IO_WRITE_STR(# _I); \ RVTEST_IO_WRITE_STR("\n"); \ @@ -70,7 +89,10 @@ RVTEST_FAIL; \ 20002: -#define RVTEST_FP_ASSERT_EQ(_F, _C, correctval) \ +// _F = FPR +// _C = GPR +// _I = Immediate +#define RVTEST_IO_ASSERT_SFPR_EQ(_F, _C, _I) \ fmv.x.s t0, _F; \ beq _C, t0, 20003f; \ RVTEST_IO_WRITE_STR("Assertion violation: file "); \ @@ -80,55 +102,35 @@ RVTEST_IO_WRITE_STR(": "); \ RVTEST_IO_WRITE_STR(# _F); \ RVTEST_IO_WRITE_STR("("); \ - LOCAL_FP_WRITE_REG(_F); \ + LOCAL_IO_WRITE_FPR(_F); \ RVTEST_IO_WRITE_STR(") != "); \ - RVTEST_IO_WRITE_STR(# correctval); \ + RVTEST_IO_WRITE_STR(# _I); \ RVTEST_IO_WRITE_STR("\n"); \ li TESTNUM, 100; \ RVTEST_FAIL; \ 20003: -#define RVTEST_FP2_ASSERT_EQ(_F, _C, correctval) \ - mv t0, _F; \ - beq _C, t0, 20004f; \ - RVTEST_IO_WRITE_STR("Assertion violation: file "); \ - RVTEST_IO_WRITE_STR(__FILE__); \ - RVTEST_IO_WRITE_STR(", line "); \ - RVTEST_IO_WRITE_STR(TOSTRING(__LINE__)); \ - RVTEST_IO_WRITE_STR(": "); \ - RVTEST_IO_WRITE_STR(# _F); \ - RVTEST_IO_WRITE_STR("("); \ - LOCAL_IO_WRITE_REG(_F); \ - RVTEST_IO_WRITE_STR(") != "); \ - RVTEST_IO_WRITE_STR(# correctval); \ - RVTEST_IO_WRITE_STR("\n"); \ - li TESTNUM, 100; \ - RVTEST_FAIL; \ -20004: - -#define RVTEST_FPD_ASSERT_EQ(_F, _C, correctval) \ - fmv.x.d t0, _F; \ - beq _C, t0, 20005f; \ +// _D = DFPR +// _R = GPR +// _I = Immediate +#define RVTEST_IO_ASSERT_DFPR_EQ(_D, _R, _I) \ + fmv.x.d t0, _D; \ + beq _R, t0, 20005f; \ RVTEST_IO_WRITE_STR("Assertion violation: file "); \ RVTEST_IO_WRITE_STR(__FILE__); \ RVTEST_IO_WRITE_STR(", line "); \ RVTEST_IO_WRITE_STR(TOSTRING(__LINE__)); \ RVTEST_IO_WRITE_STR(": "); \ - RVTEST_IO_WRITE_STR(# _F); \ + RVTEST_IO_WRITE_STR(# _D); \ RVTEST_IO_WRITE_STR("("); \ - LOCAL_FPD_WRITE_REG(_F); \ + LOCAL_FPD_WRITE_REG(_D); \ RVTEST_IO_WRITE_STR(") != "); \ - RVTEST_IO_WRITE_STR(# correctval); \ + RVTEST_IO_WRITE_STR(# _I); \ RVTEST_IO_WRITE_STR("\n"); \ li TESTNUM, 100; \ RVTEST_FAIL; \ 20005: -#define LOCAL_IO_PUTC(_R) \ - .word RVTEST_CUSTOM1; \ - -#define RVTEST_IO_INIT - #define RVTEST_IO_WRITE_STR(_STR) \ .section .data.string; \ 20001: \ diff --git a/riscv-target/riscvOVPsim/device/rv32im/Makefile.include b/riscv-target/riscvOVPsim/device/rv32im/Makefile.include index fdf9c71..3ea92ad 100644 --- a/riscv-target/riscvOVPsim/device/rv32im/Makefile.include +++ b/riscv-target/riscvOVPsim/device/rv32im/Makefile.include @@ -16,6 +16,7 @@ RUN_TARGET=\ --override riscvOVPsim/cpu/sigdump/SignatureFile=$(work_dir_isa)/$(*)_signature.output \ --override riscvOVPsim/cpu/sigdump/ResultReg=3 \ --override riscvOVPsim/cpu/simulateexceptions=T \ + --override riscvOVPsim/cpu/defaultsemihost=F \ --logfile $(work_dir_isa)/$@ \ --override riscvOVPsim/cpu/user_version=2.3 \ --override riscvOVPsim/cpu/priv_version=1.11 \ diff --git a/riscv-target/spike/compliance_io.h b/riscv-target/spike/compliance_io.h index 4c67a4c..65e0148 100644 --- a/riscv-target/spike/compliance_io.h +++ b/riscv-target/spike/compliance_io.h @@ -29,10 +29,8 @@ #define RVTEST_IO_INIT #define RVTEST_IO_WRITE_STR(_STR) #define RVTEST_IO_CHECK() -#define LOCAL_IO_PUTC(_R) -#define RVTEST_IO_ASSERT_EQ(_R, _I) -#define RVTEST_FP_ASSERT_EQ(_F, _C, correctval) -#define RVTEST_FP2_ASSERT_EQ(_F, _C, correctval) -#define RVTEST_FPD_ASSERT_EQ(_F, _C, correctval) +#define RVTEST_IO_ASSERT_GPR_EQ(_R, _I) +#define RVTEST_IO_ASSERT_SFPR_EQ(_F, _R, _I) +#define RVTEST_IO_ASSERT_DFPR_EQ(_D, _R, _I) -#endif // _COMPLIANCE_IO_H \ No newline at end of file +#endif // _COMPLIANCE_IO_H diff --git a/riscv-test-env/test_macros.h b/riscv-test-env/test_macros.h index 40a48a8..978c844 100644 --- a/riscv-test-env/test_macros.h +++ b/riscv-test-env/test_macros.h @@ -19,28 +19,6 @@ * */ - -// -// In general the following registers are reserved -// ra, a0, t0, t1 -// Additionally on an assertion violation, t1, t2 are overwritten -// x1, x10, x5, x6, x7 respectively -// Floating registers reserved -// f5 -// - -#define LOCAL_IO_WRITE_REG(_R) \ - mv a0, _R; \ - jal FN_WriteA0; - -#define LOCAL_FP_WRITE_REG(_F) \ - fmv.x.s a0, _F; \ - jal FN_WriteA0; - -#define LOCAL_FPD_WRITE_REG(_F) \ - fmv.x.d a0, _F; \ - jal FN_WriteA0; - #define MASK_XLEN(x) ((x) & ((1 << (__riscv_xlen - 1) << 1) - 1)) #define SEXT_IMM(x) ((x) | (-(((x) >> 11) & 1) << 11)) @@ -49,8 +27,9 @@ #define TEST_CASE(destreg, correctval, swreg, offset, code... ) \ code; \ sw destreg, offset(swreg); \ - RVTEST_IO_ASSERT_EQ(destreg, correctval) \ + RVTEST_IO_ASSERT_GPR_EQ(destreg, correctval) \ +// Base functions for single precision floating point operations #define TEST_CASE_FP(test_num, destreg, reg1, reg2, correctval, val1, val2, swreg, offset, code... ) \ la a0, test_ ## test_num ## _data; \ flw reg1, 0(a0); \ @@ -58,7 +37,7 @@ lw t1, 8(a0); \ code; \ fsw destreg, offset(swreg); \ - RVTEST_FP_ASSERT_EQ(destreg, t1, correctval) \ + RVTEST_IO_ASSERT_SFPR_EQ(destreg, t1, correctval) \ .pushsection .data; \ .align 3; \ test_ ## test_num ## _data: \ @@ -67,15 +46,14 @@ .word correctval; \ .popsection -// Base functions for single precision floating point operations #define TEST_CASE_FP_I(test_num, destreg, reg, correctval, val, swreg, offset, code... ) \ la a0, test_ ## test_num ## _data; \ lw t1, 0(a0); \ code; \ fsw destreg, offset(swreg); \ - RVTEST_FP_ASSERT_EQ(destreg, t1, correctval) \ + RVTEST_IO_ASSERT_SFPR_EQ(destreg, t1, correctval) \ .pushsection .data; \ - .align 2; \ + .align 1; \ test_ ## test_num ## _data: \ .word correctval; \ .popsection @@ -86,7 +64,7 @@ lw t1, 4(a0); \ code; \ sw destreg, offset(swreg); \ - RVTEST_FP2_ASSERT_EQ(destreg, t1, correctval) \ + RVTEST_IO_ASSERT_GPR_EQ(destreg, correctval) \ .pushsection .data; \ .align 2; \ test_ ## test_num ## _data: \ @@ -102,7 +80,7 @@ lw t1, 12(a0); \ code; \ fsw destreg, offset(swreg); \ - RVTEST_FP_ASSERT_EQ(destreg, t1, correctval) \ + RVTEST_IO_ASSERT_SFPR_EQ(destreg, t1, correctval) \ .pushsection .data; \ .align 4; \ test_ ## test_num ## _data: \ @@ -112,21 +90,91 @@ .word correctval; \ .popsection -// Base functions for double precision floating point operations +// Base functions for double precision floating point operations - rv32d #define TEST_CASE_FPD(test_num, destreg, reg1, reg2, correctval, val1, val2, swreg, offset, code... ) \ la a0, test_ ## test_num ## _data; \ fld reg1, 0(a0); \ fld reg2, 8(a0); \ - ld t1, 16(a0); \ code; \ fsd destreg, offset(swreg); \ - RVTEST_FPD_ASSERT_EQ(destreg, t1, correctval) \ + lw t1, 16(a0); \ + lw t2, 20(a0); \ + la a0, store_ ## test_num ## _data; \ + fsd destreg, 0(a0); \ + lw a1, 0(a0); \ + lw a2, 4(a0); \ + RVTEST_FPD_ASSERT_EQ(destreg, t2, t1, a2, a1, correctval) \ + .pushsection .data; \ + .align 3; \ + test_ ## test_num ## _data: \ + .double val1; \ + .double val2; \ + .dword correctval; \ + .popsection; \ + .pushsection .data; \ + store_ ## test_num ## _data: \ + .fill 1, 8, -1; \ + .popsection + +#define TEST_CASE_FPD_I(test_num, destreg, reg, correctval, val, swreg, offset, code... ) \ + la a0, test_ ## test_num ## _data; \ + code; \ + fsd destreg, offset(swreg); \ + lw t1, 0(a0); \ + lw t2, 4(a0); \ + la a0, store_ ## test_num ## _data; \ + fsd destreg, 0(a0); \ + lw a1, 0(a0); \ + lw a2, 4(a0); \ + RVTEST_FPD_ASSERT_EQ(destreg, t2, t1, a2, a1, correctval) \ + .pushsection .data; \ + .align 1; \ + test_ ## test_num ## _data: \ + .dword correctval; \ + .popsection; \ + store_ ## test_num ## _data: \ + .fill 1, 8, -1; \ + .popsection + +#define TEST_CASE_FPD_I2(test_num, destreg, reg, correctval, val, swreg, offset, code... ) \ + la a0, test_ ## test_num ## _data; \ + fld reg, 0(a0); \ + lw t1, 8(a0); \ + code; \ + sw destreg, offset(swreg); \ + RVTEST_IO_ASSERT_GPR_EQ(destreg, correctval) \ + .pushsection .data; \ + .align 2; \ + test_ ## test_num ## _data: \ + .double val; \ + .word correctval; \ + .popsection + +#define TEST_CASE_FPD_4REG(test_num, destreg, reg1, reg2, reg3, correctval, val1, val2, val3, swreg, offset, code... ) \ + la a0, test_ ## test_num ## _data; \ + fld reg1, 0(a0); \ + fld reg2, 8(a0); \ + fld reg3, 16(a0); \ + code; \ + fsd destreg, offset(swreg); \ + lw t1, 24(a0); \ + lw t2, 28(a0); \ + la a0, store_ ## test_num ## _data; \ + fsd destreg, 0(a0); \ + lw a1, 0(a0); \ + lw a2, 4(a0); \ + RVTEST_FPD_ASSERT_EQ(destreg, t2, t1, a2, a1, correctval) \ .pushsection .data; \ .align 4; \ test_ ## test_num ## _data: \ .double val1; \ .double val2; \ + .double val3; \ .dword correctval; \ + .popsection; \ + .pushsection .data; \ + store_ ## test_num ## _data: \ + .fill 1, 8, -1; \ .popsection //Tests for a instructions with register-register operand @@ -232,6 +280,11 @@ inst destreg, SEXT_IMM(imm); \ ) +#define TEST_CI_OP_NOREG(inst, correctval, imm, swreg, offset) \ + TEST_CASE (x0, correctval, swreg, offset, \ + inst SEXT_IMM(imm); \ + ) + //Tests for floating point instructions - single precision #define TEST_FP_OP(test_num, inst, destreg, reg1, reg2, correctval, val1, val2, swreg, offset) \ TEST_CASE_FP(test_num, destreg, reg1, reg2, correctval, val1, val2, swreg, offset, \ @@ -285,3 +338,36 @@ TEST_CASE_FPD_I2(test_num, destreg, reg, correctval, val, swreg, offset, \ inst destreg, reg; \ ) + +//Temporary macros for certain instructions which are not implemented yet +#define TEST_CADDI16SP(correctval, imm, swreg, offset) \ + TEST_CASE(x2, correctval, swreg, offset, \ + addi x2, x2, SEXT_IMM(imm); \ + ) + +#define TEST_CADDI4SPN(destreg, correctval, imm, swreg, offset) \ + TEST_CASE(destreg, correctval, swreg, offset, \ + addi destreg, x2, SEXT_IMM(imm); \ + ) + +#define TEST_CJ(inst, reg, val, swreg, offset) \ + li reg, val; \ + la x10, 1f; \ + inst x10; \ + li reg, 0x123ab; \ +1: \ + sw reg, offset(swreg); \ + RVTEST_IO_ASSERT_GPR_EQ(x0, 0); \ + RVTEST_IO_ASSERT_GPR_EQ(reg, val); \ + +#define TEST_CL(test_num, inst, reg, val, swreg, offset) \ + la x10, test_ ## test_num ## _data; \ + inst reg, 0(x10); \ + sw reg, offset(swreg); \ + RVTEST_IO_ASSERT_GPR_EQ(reg, val); \ + .pushsection .data; \ + .align 1; \ + test_ ## test_num ## _data: \ + .word val; \ + .popsection + diff --git a/riscv-test-suite/rv32i/src/I-ADD-01.S b/riscv-test-suite/rv32i/src/I-ADD-01.S index bb1d13b..947dfd6 100644 --- a/riscv-test-suite/rv32i/src/I-ADD-01.S +++ b/riscv-test-suite/rv32i/src/I-ADD-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -78,12 +78,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x8, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -119,12 +119,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000001) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x80000000) - RVTEST_IO_ASSERT_EQ(x13, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000001) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x80000001) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -160,12 +160,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x15, 0x00000000) - RVTEST_IO_ASSERT_EQ(x16, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x17, 0x7FFFFFFE) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x7FFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -201,12 +201,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x20, 0x80000000) - RVTEST_IO_ASSERT_EQ(x21, 0x7FFFFFFE) - RVTEST_IO_ASSERT_EQ(x22, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x23, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x7FFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -242,12 +242,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x80000000) - RVTEST_IO_ASSERT_EQ(x25, 0x80000001) - RVTEST_IO_ASSERT_EQ(x26, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x27, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x28, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -282,14 +282,14 @@ RV_COMPLIANCE_CODE_BEGIN sw x2, 24(x26) sw x3, 28(x26) - RVTEST_IO_ASSERT_EQ(x27, 0x00000001) - RVTEST_IO_ASSERT_EQ(x28, 0x0000ABCD) - RVTEST_IO_ASSERT_EQ(x29, 0x0000ABCE) - RVTEST_IO_ASSERT_EQ(x30, 0x0000ABCF) - RVTEST_IO_ASSERT_EQ(x31, 0x0000ABD0) - #RVTEST_IO_ASSERT_EQ(x1, 0x80001A18) - RVTEST_IO_ASSERT_EQ(x2, 0x0000ABD2) - RVTEST_IO_ASSERT_EQ(x3, 0x0000ABD3) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x0000ABCD) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x0000ABCE) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x0000ABCF) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000ABD0) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80001A18) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x0000ABD2) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x0000ABD3) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -312,7 +312,7 @@ RV_COMPLIANCE_CODE_BEGIN # store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -338,8 +338,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -369,9 +369,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x26, 4(x2) sw x27, 8(x2) - RVTEST_IO_ASSERT_EQ(x4, 0x36925814) - RVTEST_IO_ASSERT_EQ(x26, 0x36925814) - RVTEST_IO_ASSERT_EQ(x27, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x36925814) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-ADDI-01.S b/riscv-test-suite/rv32i/src/I-ADDI-01.S index 172f417..97db9b8 100644 --- a/riscv-test-suite/rv32i/src/I-ADDI-01.S +++ b/riscv-test-suite/rv32i/src/I-ADDI-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -71,12 +71,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000001) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0xFFFFF800) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0xFFFFF800) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -105,12 +105,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000002) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000001) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFF801) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000002) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFF801) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -139,12 +139,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0x00000000) - RVTEST_IO_ASSERT_EQ(x15, 0x000007FE) - RVTEST_IO_ASSERT_EQ(x16, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x17, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x18, 0xFFFFF7FF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x000007FE) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0xFFFFF7FF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -173,12 +173,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x80000000) - RVTEST_IO_ASSERT_EQ(x20, 0x800007FE) - RVTEST_IO_ASSERT_EQ(x21, 0x7FFFFFFE) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x7FFFF7FF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x800007FE) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x7FFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x7FFFF7FF) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -207,12 +207,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x80000001) - RVTEST_IO_ASSERT_EQ(x25, 0x800007FF) - RVTEST_IO_ASSERT_EQ(x26, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x27, 0x80000000) - RVTEST_IO_ASSERT_EQ(x28, 0x7FFFF800) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x800007FF) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x7FFFF800) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -244,13 +244,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x3, 24(x27) - RVTEST_IO_ASSERT_EQ(x28, 0x0000ABCD) - RVTEST_IO_ASSERT_EQ(x29, 0x0000ABCE) - RVTEST_IO_ASSERT_EQ(x30, 0x0000ABCF) - RVTEST_IO_ASSERT_EQ(x31, 0x0000ABD0) - #RVTEST_IO_ASSERT_EQ(x1, 0x800018F4) - RVTEST_IO_ASSERT_EQ(x2, 0x0000ABD2) - RVTEST_IO_ASSERT_EQ(x3, 0x0000ABD3) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x0000ABCD) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x0000ABCE) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x0000ABCF) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000ABD0) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x800018F4) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x0000ABD2) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x0000ABD3) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -270,7 +270,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -292,8 +292,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 0(x2) sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -324,10 +324,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x26, 8(x2) sw x27, 12(x2) - RVTEST_IO_ASSERT_EQ(x3, 0x36925814) - RVTEST_IO_ASSERT_EQ(x4, 0x36925814) - RVTEST_IO_ASSERT_EQ(x26, 0x36925814) - RVTEST_IO_ASSERT_EQ(x27, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x36925814) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-AND-01.S b/riscv-test-suite/rv32i/src/I-AND-01.S index 3616930..82ece23 100644 --- a/riscv-test-suite/rv32i/src/I-AND-01.S +++ b/riscv-test-suite/rv32i/src/I-AND-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -78,12 +78,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -119,12 +119,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000001) - RVTEST_IO_ASSERT_EQ(x12, 0x00000001) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -160,12 +160,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0x00000000) - RVTEST_IO_ASSERT_EQ(x15, 0x00000001) - RVTEST_IO_ASSERT_EQ(x16, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x17, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x18, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -201,12 +201,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x00000000) - RVTEST_IO_ASSERT_EQ(x20, 0x00000001) - RVTEST_IO_ASSERT_EQ(x21, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -242,12 +242,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x00000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) - RVTEST_IO_ASSERT_EQ(x26, 0x80000000) - RVTEST_IO_ASSERT_EQ(x27, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -287,14 +287,14 @@ RV_COMPLIANCE_CODE_BEGIN sw x2, 24(x26) sw x3, 28(x26) - RVTEST_IO_ASSERT_EQ(x4, 0x0000007F) - RVTEST_IO_ASSERT_EQ(x28, 0xABCDFFFF) - RVTEST_IO_ASSERT_EQ(x29, 0x0000007F) - RVTEST_IO_ASSERT_EQ(x30, 0x0000003F) - RVTEST_IO_ASSERT_EQ(x31, 0x0000001F) - #RVTEST_IO_ASSERT_EQ(x1, 0x80001A08) - RVTEST_IO_ASSERT_EQ(x2, 0x00000007) - RVTEST_IO_ASSERT_EQ(x3, 0x00000003) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x0000007F) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xABCDFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x0000007F) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x0000003F) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000001F) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80001A08) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000007) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000003) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -317,7 +317,7 @@ RV_COMPLIANCE_CODE_BEGIN # store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -343,8 +343,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -377,9 +377,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x26, 4(x2) sw x27, 8(x2) - RVTEST_IO_ASSERT_EQ(x4, 0x36925814) - RVTEST_IO_ASSERT_EQ(x26, 0x36925814) - RVTEST_IO_ASSERT_EQ(x27, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x36925814) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-ANDI-01.S b/riscv-test-suite/rv32i/src/I-ANDI-01.S index 39af540..788fc82 100644 --- a/riscv-test-suite/rv32i/src/I-ANDI-01.S +++ b/riscv-test-suite/rv32i/src/I-ANDI-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -71,12 +71,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -105,12 +105,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000001) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000001) - RVTEST_IO_ASSERT_EQ(x12, 0x00000000) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000001) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -139,12 +139,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0x00000001) - RVTEST_IO_ASSERT_EQ(x15, 0x000007FF) - RVTEST_IO_ASSERT_EQ(x16, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x17, 0x00000000) - RVTEST_IO_ASSERT_EQ(x18, 0xFFFFF800) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x000007FF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0xFFFFF800) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -173,12 +173,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x00000001) - RVTEST_IO_ASSERT_EQ(x20, 0x000007FF) - RVTEST_IO_ASSERT_EQ(x21, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x22, 0x00000000) - RVTEST_IO_ASSERT_EQ(x23, 0x7FFFF800) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x000007FF) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x7FFFF800) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -207,12 +207,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x00000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) - RVTEST_IO_ASSERT_EQ(x26, 0x80000000) - RVTEST_IO_ASSERT_EQ(x27, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -244,13 +244,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x3, 24(x27) - RVTEST_IO_ASSERT_EQ(x28, 0xABCDFFFF) - RVTEST_IO_ASSERT_EQ(x29, 0x0000007F) - RVTEST_IO_ASSERT_EQ(x30, 0x0000003F) - RVTEST_IO_ASSERT_EQ(x31, 0x0000001F) - #RVTEST_IO_ASSERT_EQ(x1, 0x800018D0) - RVTEST_IO_ASSERT_EQ(x2, 0x00000007) - RVTEST_IO_ASSERT_EQ(x3, 0x00000003) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xABCDFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x0000007F) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x0000003F) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000001F) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x800018D0) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000007) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000003) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -270,7 +270,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -292,8 +292,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 0(x2) sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -324,10 +324,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x26, 8(x2) sw x27, 12(x2) - RVTEST_IO_ASSERT_EQ(x3, 0x36925814) - RVTEST_IO_ASSERT_EQ(x4, 0x36925814) - RVTEST_IO_ASSERT_EQ(x26, 0x36925814) - RVTEST_IO_ASSERT_EQ(x27, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x36925814) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-AUIPC-01.S b/riscv-test-suite/rv32i/src/I-AUIPC-01.S index 7b537de..5dc7e08 100644 --- a/riscv-test-suite/rv32i/src/I-AUIPC-01.S +++ b/riscv-test-suite/rv32i/src/I-AUIPC-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -86,11 +86,11 @@ test_A: // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x16, 0x00000000) - RVTEST_IO_ASSERT_EQ(x29, 0x00000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -142,11 +142,11 @@ test_B: sw x28, 12(x16) sw x30, 16(x16) - RVTEST_IO_ASSERT_EQ(x1, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x00000000) - RVTEST_IO_ASSERT_EQ(x15, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0x00000000) - RVTEST_IO_ASSERT_EQ(x30, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x1, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -197,12 +197,12 @@ test_C3: sw x16, 16(x17) sw x31, 20(x17) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x15, 0x00000000) - RVTEST_IO_ASSERT_EQ(x30, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x16, 0x00000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-BEQ-01.S b/riscv-test-suite/rv32i/src/I-BEQ-01.S index a954281..1269427 100644 --- a/riscv-test-suite/rv32i/src/I-BEQ-01.S +++ b/riscv-test-suite/rv32i/src/I-BEQ-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -90,13 +90,13 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x8, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000001E) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000001E) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -144,13 +144,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x11, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x6, 0x00000001) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0xFFFFFFFF) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000001D) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0xFFFFFFFF) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000001D) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -198,13 +198,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x12, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) - RVTEST_IO_ASSERT_EQ(x14, 0x00000001) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x16, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x17, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000001B) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000001B) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -252,13 +252,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x23, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x00000000) - RVTEST_IO_ASSERT_EQ(x20, 0x00000001) - RVTEST_IO_ASSERT_EQ(x21, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000017) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000017) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -306,13 +306,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x29, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x24, 0x80000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) - RVTEST_IO_ASSERT_EQ(x26, 0x00000001) - RVTEST_IO_ASSERT_EQ(x27, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x28, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x29, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000000F) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000000F) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -365,7 +365,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x31, 0(x27) - RVTEST_IO_ASSERT_EQ(x31, 0x000003DE) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x000003DE) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -412,10 +412,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x3, 8(x22) sw x4, 12(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x9ABCDEF0) - RVTEST_IO_ASSERT_EQ(x3, 0x87654321) - RVTEST_IO_ASSERT_EQ(x4, 0x0FEDCBA9) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x0FEDCBA9) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-BGE-01.S b/riscv-test-suite/rv32i/src/I-BGE-01.S index 4a421a0..fc0f915 100644 --- a/riscv-test-suite/rv32i/src/I-BGE-01.S +++ b/riscv-test-suite/rv32i/src/I-BGE-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -90,13 +90,13 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x8, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000000A) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000000A) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -144,13 +144,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x11, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x6, 0x00000001) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0xFFFFFFFF) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000008) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0xFFFFFFFF) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000008) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -198,13 +198,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x12, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) - RVTEST_IO_ASSERT_EQ(x14, 0x00000001) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x16, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x17, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000000B) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000000B) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -252,13 +252,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x23, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x00000000) - RVTEST_IO_ASSERT_EQ(x20, 0x00000001) - RVTEST_IO_ASSERT_EQ(x21, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -306,13 +306,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x29, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x24, 0x80000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) - RVTEST_IO_ASSERT_EQ(x26, 0x00000001) - RVTEST_IO_ASSERT_EQ(x27, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x28, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x29, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000000F) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000000F) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -365,7 +365,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x31, 0(x27) - RVTEST_IO_ASSERT_EQ(x31, 0x000000154) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x000000154) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -412,10 +412,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x3, 8(x22) sw x4, 12(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x9ABCDEF0) - RVTEST_IO_ASSERT_EQ(x3, 0x87654321) - RVTEST_IO_ASSERT_EQ(x4, 0x0FEDCBA9) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x0FEDCBA9) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-BGEU-01.S b/riscv-test-suite/rv32i/src/I-BGEU-01.S index 21ddacb..7586e8a 100644 --- a/riscv-test-suite/rv32i/src/I-BGEU-01.S +++ b/riscv-test-suite/rv32i/src/I-BGEU-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -90,13 +90,13 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x8, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000001E) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000001E) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -144,13 +144,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x11, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x6, 0x00000001) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0xFFFFFFFF) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000001C) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0xFFFFFFFF) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000001C) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -198,13 +198,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x12, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) - RVTEST_IO_ASSERT_EQ(x14, 0x00000001) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x16, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x17, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -252,13 +252,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x23, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x00000000) - RVTEST_IO_ASSERT_EQ(x20, 0x00000001) - RVTEST_IO_ASSERT_EQ(x21, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000014) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000014) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -306,13 +306,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x29, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x24, 0x80000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) - RVTEST_IO_ASSERT_EQ(x26, 0x00000001) - RVTEST_IO_ASSERT_EQ(x27, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x28, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x29, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000004) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000004) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -365,7 +365,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x31, 0(x27) - RVTEST_IO_ASSERT_EQ(x31, 0x000003C0) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x000003C0) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -412,10 +412,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x3, 8(x22) sw x4, 12(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x9ABCDEF0) - RVTEST_IO_ASSERT_EQ(x3, 0x87654321) - RVTEST_IO_ASSERT_EQ(x4, 0x0FEDCBA9) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x0FEDCBA9) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-BLT-01.S b/riscv-test-suite/rv32i/src/I-BLT-01.S index 3b1e45f..0ed2e78 100644 --- a/riscv-test-suite/rv32i/src/I-BLT-01.S +++ b/riscv-test-suite/rv32i/src/I-BLT-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -90,13 +90,13 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x8, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000015) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000015) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -144,13 +144,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x11, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x6, 0x00000001) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0xFFFFFFFF) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000017) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0xFFFFFFFF) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000017) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -198,13 +198,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x12, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) - RVTEST_IO_ASSERT_EQ(x14, 0x00000001) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x16, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x17, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000014) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000014) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -252,13 +252,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x23, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x00000000) - RVTEST_IO_ASSERT_EQ(x20, 0x00000001) - RVTEST_IO_ASSERT_EQ(x21, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000001F) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000001F) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -306,13 +306,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x29, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x24, 0x80000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) - RVTEST_IO_ASSERT_EQ(x26, 0x00000001) - RVTEST_IO_ASSERT_EQ(x27, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x28, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x29, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000010) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000010) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -365,7 +365,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x31, 0(x27) - RVTEST_IO_ASSERT_EQ(x31, 0x000002AB) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x000002AB) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -412,10 +412,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x3, 8(x22) sw x4, 12(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x9ABCDEF0) - RVTEST_IO_ASSERT_EQ(x3, 0x87654321) - RVTEST_IO_ASSERT_EQ(x4, 0x0FEDCBA9) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x0FEDCBA9) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-BLTU-01.S b/riscv-test-suite/rv32i/src/I-BLTU-01.S index 99c538b..a83fcf4 100644 --- a/riscv-test-suite/rv32i/src/I-BLTU-01.S +++ b/riscv-test-suite/rv32i/src/I-BLTU-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -90,13 +90,13 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x8, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000001) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -144,13 +144,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x11, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x6, 0x00000001) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0xFFFFFFFF) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000003) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0xFFFFFFFF) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000003) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -198,13 +198,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x12, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) - RVTEST_IO_ASSERT_EQ(x14, 0x00000001) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x16, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x17, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000001F) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000001F) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -252,13 +252,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x23, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x00000000) - RVTEST_IO_ASSERT_EQ(x20, 0x00000001) - RVTEST_IO_ASSERT_EQ(x21, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000000B) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000000B) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -306,13 +306,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x29, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x24, 0x80000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) - RVTEST_IO_ASSERT_EQ(x26, 0x00000001) - RVTEST_IO_ASSERT_EQ(x27, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x28, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x29, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x0000001B) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000001B) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -365,7 +365,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x31, 0(x27) - RVTEST_IO_ASSERT_EQ(x31, 0x0000003F) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000003F) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -412,10 +412,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x3, 8(x22) sw x4, 12(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x9ABCDEF0) - RVTEST_IO_ASSERT_EQ(x3, 0x87654321) - RVTEST_IO_ASSERT_EQ(x4, 0x0FEDCBA9) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x0FEDCBA9) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-BNE-01.S b/riscv-test-suite/rv32i/src/I-BNE-01.S index 48ac816..62a9178 100644 --- a/riscv-test-suite/rv32i/src/I-BNE-01.S +++ b/riscv-test-suite/rv32i/src/I-BNE-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -90,13 +90,13 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x8, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000001) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -144,13 +144,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x11, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x6, 0x00000001) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0xFFFFFFFF) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000002) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0xFFFFFFFF) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000002) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -198,13 +198,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x12, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) - RVTEST_IO_ASSERT_EQ(x14, 0x00000001) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x16, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x17, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000004) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000004) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -252,13 +252,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x23, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x00000000) - RVTEST_IO_ASSERT_EQ(x20, 0x00000001) - RVTEST_IO_ASSERT_EQ(x21, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000008) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000008) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -306,13 +306,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x29, 20(x2) sw x31, 24(x2) - RVTEST_IO_ASSERT_EQ(x24, 0x80000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) - RVTEST_IO_ASSERT_EQ(x26, 0x00000001) - RVTEST_IO_ASSERT_EQ(x27, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x28, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x29, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x00000010) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000010) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -365,7 +365,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x31, 0(x27) - RVTEST_IO_ASSERT_EQ(x31, 0x00000021) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000021) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -412,10 +412,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x3, 8(x22) sw x4, 12(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x9ABCDEF0) - RVTEST_IO_ASSERT_EQ(x3, 0x87654321) - RVTEST_IO_ASSERT_EQ(x4, 0x0FEDCBA9) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x0FEDCBA9) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-CSRRC-01.S b/riscv-test-suite/rv32i/src/I-CSRRC-01.S index db111a1..6579f20 100644 --- a/riscv-test-suite/rv32i/src/I-CSRRC-01.S +++ b/riscv-test-suite/rv32i/src/I-CSRRC-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -84,12 +84,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x80000324) - RVTEST_IO_ASSERT_EQ(x2, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x3, 0x800F0000) - RVTEST_IO_ASSERT_EQ(x4, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80000324) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x800F0000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -124,12 +124,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x15, 16(x5) sw x16, 20(x5) - RVTEST_IO_ASSERT_EQ(x11, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x12, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x14, 0x800F0000) - RVTEST_IO_ASSERT_EQ(x15, 0x000F0000) - RVTEST_IO_ASSERT_EQ(x16, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x800F0000) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x000F0000) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -158,11 +158,11 @@ RV_COMPLIANCE_CODE_BEGIN sw x24, 12(x26) sw x25, 16(x26) - RVTEST_IO_ASSERT_EQ(x21, 0xEDCBA987) - RVTEST_IO_ASSERT_EQ(x22, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x00000000) - RVTEST_IO_ASSERT_EQ(x24, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x25, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0xEDCBA987) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -184,8 +184,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x30, 4(x1) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x30, 0x42726e6f) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x42726e6f) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -209,8 +209,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x31, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x31, 0xF7FF8818) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0xF7FF8818) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -236,9 +236,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x7, 4(x2) sw x8, 8(x2) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x69C7AD8B) - RVTEST_IO_ASSERT_EQ(x8, 0x49C1A903) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x69C7AD8B) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x49C1A903) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-CSRRCI-01.S b/riscv-test-suite/rv32i/src/I-CSRRCI-01.S index a291f31..a2e6b2c 100644 --- a/riscv-test-suite/rv32i/src/I-CSRRCI-01.S +++ b/riscv-test-suite/rv32i/src/I-CSRRCI-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -82,13 +82,13 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x80000314) - RVTEST_IO_ASSERT_EQ(x2, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x3, 0xFFFFFFE0) - RVTEST_IO_ASSERT_EQ(x4, 0xFFFFFFEF) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80000314) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0xFFFFFFE0) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0xFFFFFFEF) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -120,13 +120,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x16, 20(x5) sw x8, 24(x5) - RVTEST_IO_ASSERT_EQ(x11, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x12, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x14, 0xFFFFFFE0) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFE0) - RVTEST_IO_ASSERT_EQ(x16, 0xFFFFFFE0) - RVTEST_IO_ASSERT_EQ(x8, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0xFFFFFFE0) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFE0) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0xFFFFFFE0) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -149,8 +149,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 0(x1) sw x20, 4(x1) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x20, 0x32165490) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x32165490) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-CSRRS-01.S b/riscv-test-suite/rv32i/src/I-CSRRS-01.S index 22561de..a42b700 100644 --- a/riscv-test-suite/rv32i/src/I-CSRRS-01.S +++ b/riscv-test-suite/rv32i/src/I-CSRRS-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -84,12 +84,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x80000324) - RVTEST_IO_ASSERT_EQ(x2, 0x00000000) - RVTEST_IO_ASSERT_EQ(x3, 0x7FF0FFFF) - RVTEST_IO_ASSERT_EQ(x4, 0x80000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80000324) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x7FF0FFFF) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -124,12 +124,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x15, 16(x5) sw x16, 20(x5) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000001) - RVTEST_IO_ASSERT_EQ(x13, 0x00000001) - RVTEST_IO_ASSERT_EQ(x14, 0x7FF0FFFF) - RVTEST_IO_ASSERT_EQ(x15, 0xFFF0FFFF) - RVTEST_IO_ASSERT_EQ(x16, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x7FF0FFFF) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFF0FFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -157,11 +157,11 @@ RV_COMPLIANCE_CODE_BEGIN sw x24, 12(x26) sw x25, 16(x26) - RVTEST_IO_ASSERT_EQ(x21, 0x12345678) - RVTEST_IO_ASSERT_EQ(x22, 0x00000000) - RVTEST_IO_ASSERT_EQ(x23, 0x12345678) - RVTEST_IO_ASSERT_EQ(x24, 0x00000000) - RVTEST_IO_ASSERT_EQ(x25, 0x12345678) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x12345678) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x12345678) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x12345678) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -183,8 +183,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x30, 4(x1) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x30, 0x42726E6F) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x42726E6F) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -208,8 +208,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x31, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x31, 0xF7FF8818) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0xF7FF8818) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -234,9 +234,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x7, 4(x2) sw x8, 8(x2) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x96385274) - RVTEST_IO_ASSERT_EQ(x8, 0xB63E56FC) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x96385274) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0xB63E56FC) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-CSRRSI-01.S b/riscv-test-suite/rv32i/src/I-CSRRSI-01.S index 3b386a1..83fec45 100644 --- a/riscv-test-suite/rv32i/src/I-CSRRSI-01.S +++ b/riscv-test-suite/rv32i/src/I-CSRRSI-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -79,12 +79,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x8000030C) - RVTEST_IO_ASSERT_EQ(x2, 0x00000000) - RVTEST_IO_ASSERT_EQ(x3, 0x0000001F) - RVTEST_IO_ASSERT_EQ(x4, 0x00000010) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x8000030C) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x0000001F) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000010) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -114,13 +114,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x15, 20(x5) sw x16, 24(x5) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000001) - RVTEST_IO_ASSERT_EQ(x13, 0x00000001) - RVTEST_IO_ASSERT_EQ(x14, 0x0000001F) - RVTEST_IO_ASSERT_EQ(x15, 0x0000001F) - RVTEST_IO_ASSERT_EQ(x16, 0x0000001F) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x0000001F) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x0000001F) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x0000001F) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -143,9 +143,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x21, 4(x1) sw x20, 8(x1) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x21, 0x3216549F) - RVTEST_IO_ASSERT_EQ(x20, 0x32165498) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x3216549F) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x32165498) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-CSRRW-01.S b/riscv-test-suite/rv32i/src/I-CSRRW-01.S index b668f4b..4fcc552 100644 --- a/riscv-test-suite/rv32i/src/I-CSRRW-01.S +++ b/riscv-test-suite/rv32i/src/I-CSRRW-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -76,12 +76,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x2, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000001) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x30, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x31, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -108,10 +108,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x5, 8(x26) sw x6, 12(x26) - RVTEST_IO_ASSERT_EQ(x3, 0x12345678) - RVTEST_IO_ASSERT_EQ(x4, 0x9ABCDEF0) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x12345678) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x9ABCDEF0) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -131,7 +131,7 @@ RV_COMPLIANCE_CODE_BEGIN # store results sw x0, 0(x1) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -155,8 +155,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -182,9 +182,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x7, 4(x2) sw x8, 8(x2) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x96385274) - RVTEST_IO_ASSERT_EQ(x8, 0x32165498) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x96385274) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x32165498) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-CSRRWI-01.S b/riscv-test-suite/rv32i/src/I-CSRRWI-01.S index 4f62818..9f8f19a 100644 --- a/riscv-test-suite/rv32i/src/I-CSRRWI-01.S +++ b/riscv-test-suite/rv32i/src/I-CSRRWI-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -72,13 +72,13 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000001) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0x0000001F) - RVTEST_IO_ASSERT_EQ(x30, 0x0000000F) - RVTEST_IO_ASSERT_EQ(x31, 0x00000010) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x0000001F) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x0000000F) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x00000010) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -95,7 +95,7 @@ RV_COMPLIANCE_CODE_BEGIN # store results sw x0, 0(x1) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-DELAY_SLOTS-01.S b/riscv-test-suite/rv32i/src/I-DELAY_SLOTS-01.S index ec306d4..5894c22 100644 --- a/riscv-test-suite/rv32i/src/I-DELAY_SLOTS-01.S +++ b/riscv-test-suite/rv32i/src/I-DELAY_SLOTS-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -61,7 +61,7 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x2, 0x11111111) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x11111111) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -81,7 +81,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x2, 0(x1) - RVTEST_IO_ASSERT_EQ(x2, 0x22222222) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x22222222) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -104,7 +104,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x2, 0(x1) - RVTEST_IO_ASSERT_EQ(x2, 0x33333333) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x33333333) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -127,7 +127,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x2, 0(x1) - RVTEST_IO_ASSERT_EQ(x2, 0x44444444) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x44444444) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -150,7 +150,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x2, 0(x1) - RVTEST_IO_ASSERT_EQ(x2, 0x55555555) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x55555555) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -173,7 +173,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x2, 0(x1) - RVTEST_IO_ASSERT_EQ(x2, 0x66666666) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x66666666) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -196,7 +196,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x2, 0(x1) - RVTEST_IO_ASSERT_EQ(x2, 0x77777777) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x77777777) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -219,7 +219,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x2, 0(x1) - RVTEST_IO_ASSERT_EQ(x2, 0x88888888) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x88888888) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-EBREAK-01.S b/riscv-test-suite/rv32i/src/I-EBREAK-01.S index 2f80e29..69e38ec 100644 --- a/riscv-test-suite/rv32i/src/I-EBREAK-01.S +++ b/riscv-test-suite/rv32i/src/I-EBREAK-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # Save and set trap handler address @@ -61,7 +61,7 @@ RV_COMPLIANCE_CODE_BEGIN ebreak sw x0, 0(x1) - RVTEST_IO_ASSERT_EQ(x0, 0x0000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x0000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-ECALL-01.S b/riscv-test-suite/rv32i/src/I-ECALL-01.S index 58e0763..67e356a 100644 --- a/riscv-test-suite/rv32i/src/I-ECALL-01.S +++ b/riscv-test-suite/rv32i/src/I-ECALL-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # Save and set trap handler address @@ -61,7 +61,7 @@ RV_COMPLIANCE_CODE_BEGIN ecall sw x0, 0(x1) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-ENDIANESS-01.S b/riscv-test-suite/rv32i/src/I-ENDIANESS-01.S index ae9dd3f..6a155df 100644 --- a/riscv-test-suite/rv32i/src/I-ENDIANESS-01.S +++ b/riscv-test-suite/rv32i/src/I-ENDIANESS-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -73,14 +73,14 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - #RVTEST_IO_ASSERT_EQ(x1, 0x80000270) - RVTEST_IO_ASSERT_EQ(x2, 0x00004567) - RVTEST_IO_ASSERT_EQ(x3, 0x00000123) - RVTEST_IO_ASSERT_EQ(x4, 0x00000089) - RVTEST_IO_ASSERT_EQ(x5, 0x00000045) - RVTEST_IO_ASSERT_EQ(x6, 0x00000045) - RVTEST_IO_ASSERT_EQ(x7, 0x00000023) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80000270) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00004567) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000123) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000089) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000045) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000045) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000023) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-FENCE.I-01.S b/riscv-test-suite/rv32i/src/I-FENCE.I-01.S index 1876654..742295d 100644 --- a/riscv-test-suite/rv32i/src/I-FENCE.I-01.S +++ b/riscv-test-suite/rv32i/src/I-FENCE.I-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -75,10 +75,10 @@ instr_A_dst: // Assert // RVTEST_IO_CHECK() - #RVTEST_IO_ASSERT_EQ(x1, 0x8000026C) - RVTEST_IO_ASSERT_EQ(x2, 0x00000012) - RVTEST_IO_ASSERT_EQ(x3, 0x00000042) - RVTEST_IO_ASSERT_EQ(x15, 0x001101B3) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x8000026C) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000012) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000042) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x001101B3) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-IO.S b/riscv-test-suite/rv32i/src/I-IO.S index 279dea0..b9d2cb2 100644 --- a/riscv-test-suite/rv32i/src/I-IO.S +++ b/riscv-test-suite/rv32i/src/I-IO.S @@ -42,7 +42,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -81,12 +81,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x8, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); # --------------------------------------------------------------------------------------------- @@ -121,12 +121,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000001) - //RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x80000000) - RVTEST_IO_ASSERT_EQ(x13, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000001) + //RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x80000001) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); # --------------------------------------------------------------------------------------------- @@ -161,12 +161,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x15, 0x00000000) - RVTEST_IO_ASSERT_EQ(x16, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x17, 0x7FFFFFFE) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x7FFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); # --------------------------------------------------------------------------------------------- @@ -201,12 +201,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x20, 0x80000000) - RVTEST_IO_ASSERT_EQ(x21, 0x7FFFFFFE) - RVTEST_IO_ASSERT_EQ(x22, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x23, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x7FFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); # --------------------------------------------------------------------------------------------- @@ -241,12 +241,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x80000000) - RVTEST_IO_ASSERT_EQ(x25, 0x80000001) - RVTEST_IO_ASSERT_EQ(x26, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x27, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x28, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); # --------------------------------------------------------------------------------------------- @@ -280,14 +280,14 @@ RV_COMPLIANCE_CODE_BEGIN sw x2, 24(x26) sw x3, 28(x26) - RVTEST_IO_ASSERT_EQ(x27, 0x00000001) - RVTEST_IO_ASSERT_EQ(x28, 0x0000ABCD) - RVTEST_IO_ASSERT_EQ(x29, 0x0000ABCE) - RVTEST_IO_ASSERT_EQ(x30, 0x0000ABCF) - RVTEST_IO_ASSERT_EQ(x31, 0x0000ABD0) - RVTEST_IO_ASSERT_EQ(x1, 0x0000ABD1) - RVTEST_IO_ASSERT_EQ(x2, 0x0000ABD2) - RVTEST_IO_ASSERT_EQ(x3, 0x0000ABD3) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x0000ABCD) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x0000ABCE) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x0000ABCF) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000ABD0) + RVTEST_IO_ASSERT_GPR_EQ(x1, 0x0000ABD1) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x0000ABD2) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x0000ABD3) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); # --------------------------------------------------------------------------------------------- @@ -309,7 +309,7 @@ RV_COMPLIANCE_CODE_BEGIN # store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); # --------------------------------------------------------------------------------------------- @@ -333,8 +333,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 0(x2) sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - //RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + //RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); # --------------------------------------------------------------------------------------------- @@ -363,9 +363,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x26, 4(x2) sw x27, 8(x2) - RVTEST_IO_ASSERT_EQ(x4, 0x36925814) - RVTEST_IO_ASSERT_EQ(x26, 0x36925814) - RVTEST_IO_ASSERT_EQ(x27, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x36925814) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); RVTEST_IO_WRITE_STR("# Test End\n") diff --git a/riscv-test-suite/rv32i/src/I-JAL-01.S b/riscv-test-suite/rv32i/src/I-JAL-01.S index 97cdd58..60b94fb 100644 --- a/riscv-test-suite/rv32i/src/I-JAL-01.S +++ b/riscv-test-suite/rv32i/src/I-JAL-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -65,8 +65,8 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x12345678) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x12345678) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -109,10 +109,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x3, 8(x1) sw x4, 12(x1) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x9ABCDEF0) - RVTEST_IO_ASSERT_EQ(x3, 0x87654321) - RVTEST_IO_ASSERT_EQ(x4, 0x0FEDCBA9) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x0FEDCBA9) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -177,13 +177,13 @@ B1b_link: sw x7, 20(x10) sw x8, 24(x10) - RVTEST_IO_ASSERT_EQ(x2, 0x11111111) - RVTEST_IO_ASSERT_EQ(x3, 0x22222222) - RVTEST_IO_ASSERT_EQ(x4, 0x33333333) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x55555555) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x11111111) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x22222222) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x33333333) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x55555555) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -251,13 +251,13 @@ B2c_link: sw x7, 20(x10) sw x8, 24(x10) - RVTEST_IO_ASSERT_EQ(x2, 0x66666666) - RVTEST_IO_ASSERT_EQ(x3, 0x77777777) - RVTEST_IO_ASSERT_EQ(x4, 0x88888888) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xAAAAAAAA) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x66666666) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x77777777) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x88888888) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xAAAAAAAA) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-JALR-01.S b/riscv-test-suite/rv32i/src/I-JALR-01.S index 437e332..f2f72bf 100644 --- a/riscv-test-suite/rv32i/src/I-JALR-01.S +++ b/riscv-test-suite/rv32i/src/I-JALR-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -66,8 +66,8 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x12345678) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x12345678) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -113,10 +113,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x3, 8(x1) sw x4, 12(x1) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x9ABCDEF0) - RVTEST_IO_ASSERT_EQ(x3, 0x87654321) - RVTEST_IO_ASSERT_EQ(x4, 0x0FEDCBA9) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x0FEDCBA9) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -184,13 +184,13 @@ B1b_link: sw x7, 20(x10) sw x8, 24(x10) - RVTEST_IO_ASSERT_EQ(x2, 0x11111111) - RVTEST_IO_ASSERT_EQ(x3, 0x22222222) - RVTEST_IO_ASSERT_EQ(x4, 0x33333333) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x55555555) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x11111111) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x22222222) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x33333333) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x55555555) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -262,13 +262,13 @@ B2c_link: sw x7, 20(x10) sw x8, 24(x10) - RVTEST_IO_ASSERT_EQ(x2, 0x66666666) - RVTEST_IO_ASSERT_EQ(x3, 0x77777777) - RVTEST_IO_ASSERT_EQ(x4, 0x88888888) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xAAAAAAAA) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x66666666) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x77777777) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x88888888) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xAAAAAAAA) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -309,10 +309,10 @@ B2c_link: sw x6, 8(x1) sw x7, 12(x1) - RVTEST_IO_ASSERT_EQ(x4, 0x11111111) - RVTEST_IO_ASSERT_EQ(x5, 0x22222222) - RVTEST_IO_ASSERT_EQ(x6, 0x33333333) - RVTEST_IO_ASSERT_EQ(x7, 0x44444444) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x11111111) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x22222222) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x33333333) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x44444444) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-LB-01.S b/riscv-test-suite/rv32i/src/I-LB-01.S index a049384..e4a2142 100644 --- a/riscv-test-suite/rv32i/src/I-LB-01.S +++ b/riscv-test-suite/rv32i/src/I-LB-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # ------------------0x00000000--------------------------------------------------------------------------- @@ -65,10 +65,10 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000022) - RVTEST_IO_ASSERT_EQ(x4, 0xFFFFFFF2) - RVTEST_IO_ASSERT_EQ(x5, 0x00000011) - RVTEST_IO_ASSERT_EQ(x6, 0x00000011) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000022) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0xFFFFFFF2) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000011) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000011) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -91,10 +91,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 8(x5) sw x28, 12(x5) - RVTEST_IO_ASSERT_EQ(x25, 0xFFFFFFF4) - RVTEST_IO_ASSERT_EQ(x26, 0x00000044) - RVTEST_IO_ASSERT_EQ(x27, 0x00000033) - RVTEST_IO_ASSERT_EQ(x28, 0xFFFFFFF3) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0xFFFFFFF4) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000044) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000033) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xFFFFFFF3) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -117,10 +117,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x1, 8(x8) sw x2, 12(x8) - RVTEST_IO_ASSERT_EQ(x30, 0x00000066) - RVTEST_IO_ASSERT_EQ(x31, 0xFFFFFFF6) - #RVTEST_IO_ASSERT_EQ(x1, 0x80000920) - RVTEST_IO_ASSERT_EQ(x2, 0x00000055) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x00000066) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0xFFFFFFF6) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80000920) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000055) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -143,10 +143,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x14, 8(x11) sw x15, 12(x11) - RVTEST_IO_ASSERT_EQ(x12, 0xFFFFFFF8) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFF88) - RVTEST_IO_ASSERT_EQ(x14, 0x00000077) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFF7) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xFFFFFFF8) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFF88) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000077) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFF7) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -169,10 +169,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 8(x14) sw x18, 12(x14) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFAA) - RVTEST_IO_ASSERT_EQ(x16, 0x0000000A) - RVTEST_IO_ASSERT_EQ(x17, 0x00000009) - RVTEST_IO_ASSERT_EQ(x18, 0xFFFFFF99) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFAA) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x0000000A) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x00000009) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0xFFFFFF99) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -211,18 +211,18 @@ RV_COMPLIANCE_CODE_BEGIN sw x28, 40(x17) sw x29, 44(x17) - RVTEST_IO_ASSERT_EQ(x18, 0x0000000C) - RVTEST_IO_ASSERT_EQ(x19, 0xFFFFFFCC) - RVTEST_IO_ASSERT_EQ(x20, 0xFFFFFFBB) - RVTEST_IO_ASSERT_EQ(x21, 0x0000000B) - RVTEST_IO_ASSERT_EQ(x22, 0xFFFFFFEE) - RVTEST_IO_ASSERT_EQ(x23, 0x0000000E) - RVTEST_IO_ASSERT_EQ(x24, 0x0000000D) - RVTEST_IO_ASSERT_EQ(x25, 0xFFFFFFDD) - RVTEST_IO_ASSERT_EQ(x26, 0xFFFFFFF0) - RVTEST_IO_ASSERT_EQ(x27, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x29, 0x0000000F) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x0000000C) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0xFFFFFFCC) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0xFFFFFFBB) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x0000000B) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0xFFFFFFEE) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x0000000E) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x0000000D) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0xFFFFFFDD) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0xFFFFFFF0) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x0000000F) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -239,7 +239,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -258,7 +258,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x25, 0(x22) - RVTEST_IO_ASSERT_EQ(x25, 0xFFFFFFF0) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0xFFFFFFF0) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -275,7 +275,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x25, 0(x26) - RVTEST_IO_ASSERT_EQ(x25, 0x00000010) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000010) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); @@ -292,7 +292,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x27, 0(x28) - RVTEST_IO_ASSERT_EQ(x27, 0xFFFFFF98) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFFFFFF98) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-LBU-01.S b/riscv-test-suite/rv32i/src/I-LBU-01.S index b0a8b67..790ffca 100644 --- a/riscv-test-suite/rv32i/src/I-LBU-01.S +++ b/riscv-test-suite/rv32i/src/I-LBU-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -65,10 +65,10 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000022) - RVTEST_IO_ASSERT_EQ(x4, 0x000000F2) - RVTEST_IO_ASSERT_EQ(x5, 0x00000011) - RVTEST_IO_ASSERT_EQ(x6, 0x00000011) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000022) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x000000F2) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000011) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000011) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -91,10 +91,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 8(x5) sw x28, 12(x5) - RVTEST_IO_ASSERT_EQ(x25, 0x000000F4) - RVTEST_IO_ASSERT_EQ(x26, 0x00000044) - RVTEST_IO_ASSERT_EQ(x27, 0x00000033) - RVTEST_IO_ASSERT_EQ(x28, 0x000000F3) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x000000F4) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000044) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000033) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x000000F3) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -117,10 +117,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x1, 8(x8) sw x2, 12(x8) - RVTEST_IO_ASSERT_EQ(x30, 0x00000066) - RVTEST_IO_ASSERT_EQ(x31, 0x000000F6) - #RVTEST_IO_ASSERT_EQ(x1, 0x80000920) - RVTEST_IO_ASSERT_EQ(x2, 0x00000055) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x00000066) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x000000F6) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80000920) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000055) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -143,10 +143,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x14, 8(x11) sw x15, 12(x11) - RVTEST_IO_ASSERT_EQ(x12, 0x000000F8) - RVTEST_IO_ASSERT_EQ(x13, 0x00000088) - RVTEST_IO_ASSERT_EQ(x14, 0x00000077) - RVTEST_IO_ASSERT_EQ(x15, 0x000000F7) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x000000F8) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000088) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000077) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x000000F7) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -169,10 +169,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 8(x14) sw x18, 12(x14) - RVTEST_IO_ASSERT_EQ(x15, 0x000000AA) - RVTEST_IO_ASSERT_EQ(x16, 0x0000000A) - RVTEST_IO_ASSERT_EQ(x17, 0x00000009) - RVTEST_IO_ASSERT_EQ(x18, 0x00000099) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x000000AA) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x0000000A) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x00000009) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x00000099) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -211,18 +211,18 @@ RV_COMPLIANCE_CODE_BEGIN sw x28, 40(x17) sw x29, 44(x17) - RVTEST_IO_ASSERT_EQ(x18, 0x0000000C) - RVTEST_IO_ASSERT_EQ(x19, 0x000000CC) - RVTEST_IO_ASSERT_EQ(x20, 0x000000BB) - RVTEST_IO_ASSERT_EQ(x21, 0x0000000B) - RVTEST_IO_ASSERT_EQ(x22, 0x000000EE) - RVTEST_IO_ASSERT_EQ(x23, 0x0000000E) - RVTEST_IO_ASSERT_EQ(x24, 0x0000000D) - RVTEST_IO_ASSERT_EQ(x25, 0x000000DD) - RVTEST_IO_ASSERT_EQ(x26, 0x000000F0) - RVTEST_IO_ASSERT_EQ(x27, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0x000000FF) - RVTEST_IO_ASSERT_EQ(x29, 0x0000000F) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x0000000C) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x000000CC) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x000000BB) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x0000000B) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x000000EE) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x0000000E) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x0000000D) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x000000DD) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x000000F0) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x000000FF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x0000000F) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -239,7 +239,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -258,7 +258,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x25, 0(x22) - RVTEST_IO_ASSERT_EQ(x25, 0x000000F0) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x000000F0) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -275,7 +275,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x25, 0(x26) - RVTEST_IO_ASSERT_EQ(x25, 0x00000010) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000010) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); @@ -292,7 +292,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x27, 0(x28) - RVTEST_IO_ASSERT_EQ(x27, 0x00000098) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000098) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-LH-01.S b/riscv-test-suite/rv32i/src/I-LH-01.S index 7c77ac8..cd12208 100644 --- a/riscv-test-suite/rv32i/src/I-LH-01.S +++ b/riscv-test-suite/rv32i/src/I-LH-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -61,8 +61,8 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0xFFFFF222) - RVTEST_IO_ASSERT_EQ(x4, 0x000011F1) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0xFFFFF222) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x000011F1) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -81,8 +81,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x25, 0(x5) sw x26, 4(x5) - RVTEST_IO_ASSERT_EQ(x25, 0x000044F4) - RVTEST_IO_ASSERT_EQ(x26, 0xFFFFF333) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x000044F4) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0xFFFFF333) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -101,8 +101,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x30, 0(x8) sw x31, 4(x8) - RVTEST_IO_ASSERT_EQ(x30, 0xFFFFF666) - RVTEST_IO_ASSERT_EQ(x31, 0x000055F5) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0xFFFFF666) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x000055F5) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -121,8 +121,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 0(x11) sw x13, 4(x11) - RVTEST_IO_ASSERT_EQ(x12, 0xFFFF88F8) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFF777) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xFFFF88F8) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFF777) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -141,8 +141,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x15, 0(x14) sw x16, 4(x14) - RVTEST_IO_ASSERT_EQ(x15, 0x00000AAA) - RVTEST_IO_ASSERT_EQ(x16, 0xFFFF9909) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000AAA) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0xFFFF9909) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -169,12 +169,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x17) sw x23, 20(x17) - RVTEST_IO_ASSERT_EQ(x18, 0xFFFFCC0C) - RVTEST_IO_ASSERT_EQ(x19, 0x00000BBB) - RVTEST_IO_ASSERT_EQ(x20, 0x00000EEE) - RVTEST_IO_ASSERT_EQ(x21, 0xFFFFDD0D) - RVTEST_IO_ASSERT_EQ(x22, 0x000000F0) - RVTEST_IO_ASSERT_EQ(x23, 0x00000FFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0xFFFFCC0C) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000BBB) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000EEE) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0xFFFFDD0D) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x000000F0) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00000FFF) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -191,7 +191,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -210,7 +210,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x25, 0(x22) - RVTEST_IO_ASSERT_EQ(x25, 0xFFFFDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0xFFFFDEF0) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -227,7 +227,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x25, 0(x26) - RVTEST_IO_ASSERT_EQ(x25, 0x00003210) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00003210) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); @@ -244,7 +244,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x27, 0(x28) - RVTEST_IO_ASSERT_EQ(x27, 0xFFFFBA98) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFFFFBA98) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-LHU-01.S b/riscv-test-suite/rv32i/src/I-LHU-01.S index 3a71a4a..44f1433 100644 --- a/riscv-test-suite/rv32i/src/I-LHU-01.S +++ b/riscv-test-suite/rv32i/src/I-LHU-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -61,8 +61,8 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x0000F222) - RVTEST_IO_ASSERT_EQ(x4, 0x000011F1) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x0000F222) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x000011F1) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -81,8 +81,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x25, 0(x5) sw x26, 4(x5) - RVTEST_IO_ASSERT_EQ(x25, 0x000044F4) - RVTEST_IO_ASSERT_EQ(x26, 0x0000F333) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x000044F4) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x0000F333) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -101,8 +101,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x30, 0(x8) sw x31, 4(x8) - RVTEST_IO_ASSERT_EQ(x30, 0x0000F666) - RVTEST_IO_ASSERT_EQ(x31, 0x000055F5) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x0000F666) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x000055F5) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -121,8 +121,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 0(x11) sw x13, 4(x11) - RVTEST_IO_ASSERT_EQ(x12, 0x000088F8) - RVTEST_IO_ASSERT_EQ(x13, 0x0000F777) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x000088F8) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x0000F777) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -141,8 +141,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x15, 0(x14) sw x16, 4(x14) - RVTEST_IO_ASSERT_EQ(x15, 0x00000AAA) - RVTEST_IO_ASSERT_EQ(x16, 0x00009909) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000AAA) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00009909) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -169,12 +169,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x17) sw x23, 20(x17) - RVTEST_IO_ASSERT_EQ(x18, 0x0000CC0C) - RVTEST_IO_ASSERT_EQ(x19, 0x00000BBB) - RVTEST_IO_ASSERT_EQ(x20, 0x00000EEE) - RVTEST_IO_ASSERT_EQ(x21, 0x0000DD0D) - RVTEST_IO_ASSERT_EQ(x22, 0x000000F0) - RVTEST_IO_ASSERT_EQ(x23, 0x00000FFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x0000CC0C) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000BBB) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000EEE) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x0000DD0D) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x000000F0) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00000FFF) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -191,7 +191,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -210,7 +210,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x25, 0(x22) - RVTEST_IO_ASSERT_EQ(x25, 0x0000DEF0) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x0000DEF0) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -227,7 +227,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x25, 0(x26) - RVTEST_IO_ASSERT_EQ(x25, 0x00003210) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00003210) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); @@ -244,7 +244,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x27, 0(x28) - RVTEST_IO_ASSERT_EQ(x27, 0x0000BA98) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x0000BA98) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-LUI-01.S b/riscv-test-suite/rv32i/src/I-LUI-01.S index 095884a..3f9f421 100644 --- a/riscv-test-suite/rv32i/src/I-LUI-01.S +++ b/riscv-test-suite/rv32i/src/I-LUI-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -66,11 +66,11 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x1, 0x00000000) - RVTEST_IO_ASSERT_EQ(x3, 0x00001000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x29, 0x7FFFF000) - RVTEST_IO_ASSERT_EQ(x31, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x1, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00001000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x7FFFF000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -102,11 +102,11 @@ RV_COMPLIANCE_CODE_BEGIN sw x28, 12(x16) sw x30, 16(x16) - RVTEST_IO_ASSERT_EQ(x2, 0x80000000) - RVTEST_IO_ASSERT_EQ(x4, 0x7FFFF000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0x00001000) - RVTEST_IO_ASSERT_EQ(x30, 0xFFFFF000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x7FFFF000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00001000) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0xFFFFF000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -136,12 +136,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x16, 16(x17) sw x31, 20(x17) - #RVTEST_IO_ASSERT_EQ(x1, 0x8000095C) - RVTEST_IO_ASSERT_EQ(x15, 0x12345678) - RVTEST_IO_ASSERT_EQ(x30, 0x9ABCDEF0) - RVTEST_IO_ASSERT_EQ(x2, 0x42726E6F) - RVTEST_IO_ASSERT_EQ(x16, 0x12345678) - RVTEST_IO_ASSERT_EQ(x31, 0x9ABCDEF0) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x8000095C) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x12345678) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x42726E6F) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x12345678) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x9ABCDEF0) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-LW-01.S b/riscv-test-suite/rv32i/src/I-LW-01.S index 442fbd9..7a7a482 100644 --- a/riscv-test-suite/rv32i/src/I-LW-01.S +++ b/riscv-test-suite/rv32i/src/I-LW-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -59,7 +59,7 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x11F1F222) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x11F1F222) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -76,7 +76,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x25, 0(x5) - RVTEST_IO_ASSERT_EQ(x25, 0xF33344F4) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0xF33344F4) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -93,7 +93,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x31, 0(x8) - RVTEST_IO_ASSERT_EQ(x31, 0x55F5F666) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x55F5F666) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -110,7 +110,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x12, 0(x11) - RVTEST_IO_ASSERT_EQ(x12, 0xF77788F8) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xF77788F8) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -127,7 +127,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x15, 0(x14) - RVTEST_IO_ASSERT_EQ(x15, 0x99090AAA) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x99090AAA) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -148,9 +148,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x19, 4(x17) sw x20, 8(x17) - RVTEST_IO_ASSERT_EQ(x18, 0x0BBBCC0C) - RVTEST_IO_ASSERT_EQ(x19, 0xDD0D0EEE) - RVTEST_IO_ASSERT_EQ(x20, 0x0FFF00F0) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x0BBBCC0C) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0xDD0D0EEE) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x0FFF00F0) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -167,7 +167,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -186,7 +186,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x25, 0(x22) - RVTEST_IO_ASSERT_EQ(x25, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x9ABCDEF0) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -203,7 +203,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x25, 0(x26) - RVTEST_IO_ASSERT_EQ(x25, 0x76543210) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x76543210) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); @@ -220,7 +220,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x27, 0(x28) - RVTEST_IO_ASSERT_EQ(x27, 0xFEDCBA98) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFEDCBA98) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-MISALIGN_JMP-01.S b/riscv-test-suite/rv32i/src/I-MISALIGN_JMP-01.S index 9d3772d..01aef8d 100644 --- a/riscv-test-suite/rv32i/src/I-MISALIGN_JMP-01.S +++ b/riscv-test-suite/rv32i/src/I-MISALIGN_JMP-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # Save and set trap handler address diff --git a/riscv-test-suite/rv32i/src/I-MISALIGN_LDST-01.S b/riscv-test-suite/rv32i/src/I-MISALIGN_LDST-01.S index aeb38de..a959a3f 100644 --- a/riscv-test-suite/rv32i/src/I-MISALIGN_LDST-01.S +++ b/riscv-test-suite/rv32i/src/I-MISALIGN_LDST-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # Save and set trap handler address @@ -75,7 +75,7 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x4, 0x91A1B1C1) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x91A1B1C1) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -116,7 +116,7 @@ RV_COMPLIANCE_CODE_BEGIN lhu x4, 3(x3) sw x4, 28(x2) - RVTEST_IO_ASSERT_EQ(x4, 0x0000D2E2) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x0000D2E2) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -149,7 +149,7 @@ RV_COMPLIANCE_CODE_BEGIN sw x6, 3(x2) - RVTEST_IO_ASSERT_EQ(x2, 0x800035D4) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x800035D4) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-NOP-01.S b/riscv-test-suite/rv32i/src/I-NOP-01.S index 9d6e1bb..27e6833 100644 --- a/riscv-test-suite/rv32i/src/I-NOP-01.S +++ b/riscv-test-suite/rv32i/src/I-NOP-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -125,37 +125,37 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x00000002) - RVTEST_IO_ASSERT_EQ(x3, 0x00000003) - RVTEST_IO_ASSERT_EQ(x4, 0x00000004) - RVTEST_IO_ASSERT_EQ(x5, 0x00000005) - RVTEST_IO_ASSERT_EQ(x6, 0x00000006) - RVTEST_IO_ASSERT_EQ(x7, 0x00000007) - RVTEST_IO_ASSERT_EQ(x8, 0x00000008) - RVTEST_IO_ASSERT_EQ(x9, 0x00000009) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x0000000B) - RVTEST_IO_ASSERT_EQ(x12, 0x0000000C) - RVTEST_IO_ASSERT_EQ(x13, 0x0000000D) - RVTEST_IO_ASSERT_EQ(x14, 0x0000000E) - RVTEST_IO_ASSERT_EQ(x15, 0x0000000F) - RVTEST_IO_ASSERT_EQ(x16, 0x00000010) - RVTEST_IO_ASSERT_EQ(x17, 0x00000011) - RVTEST_IO_ASSERT_EQ(x18, 0x00000012) - RVTEST_IO_ASSERT_EQ(x19, 0x00000013) - RVTEST_IO_ASSERT_EQ(x20, 0x00000014) - RVTEST_IO_ASSERT_EQ(x21, 0x00000015) - RVTEST_IO_ASSERT_EQ(x22, 0x00000016) - RVTEST_IO_ASSERT_EQ(x23, 0x00000017) - RVTEST_IO_ASSERT_EQ(x24, 0x00000018) - RVTEST_IO_ASSERT_EQ(x25, 0x00000019) - RVTEST_IO_ASSERT_EQ(x26, 0x0000001A) - RVTEST_IO_ASSERT_EQ(x27, 0x0000001B) - RVTEST_IO_ASSERT_EQ(x28, 0x0000001C) - RVTEST_IO_ASSERT_EQ(x29, 0x0000001D) - RVTEST_IO_ASSERT_EQ(x30, 0x0000001E) - RVTEST_IO_ASSERT_EQ(x31, 0x0000001F) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000002) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000003) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000004) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000005) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000006) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000007) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000008) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000009) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x0000000B) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x0000000C) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x0000000D) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x0000000E) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x0000000F) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000010) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x00000011) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x00000012) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000013) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000014) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x00000015) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x00000016) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00000017) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x00000018) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000019) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x0000001A) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x0000001B) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x0000001C) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x0000001D) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x0000001E) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000001F) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -182,7 +182,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x9, 0( x3 ) - RVTEST_IO_ASSERT_EQ(x9, 0x00000018) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000018) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-OR-01.S b/riscv-test-suite/rv32i/src/I-OR-01.S index 7ed0e1d..5837886 100644 --- a/riscv-test-suite/rv32i/src/I-OR-01.S +++ b/riscv-test-suite/rv32i/src/I-OR-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -78,12 +78,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x8, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -119,12 +119,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000001) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x12, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x13, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000001) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x80000001) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -160,12 +160,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x16, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x17, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x18, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -201,12 +201,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x20, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x21, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -242,12 +242,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x80000000) - RVTEST_IO_ASSERT_EQ(x25, 0x80000001) - RVTEST_IO_ASSERT_EQ(x26, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x27, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x28, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -287,14 +287,14 @@ RV_COMPLIANCE_CODE_BEGIN sw x2, 24(x26) sw x3, 28(x26) - RVTEST_IO_ASSERT_EQ(x4, 0x00000010) - RVTEST_IO_ASSERT_EQ(x28, 0x0000000D) - RVTEST_IO_ASSERT_EQ(x29, 0x0000001D) - RVTEST_IO_ASSERT_EQ(x30, 0x0000003D) - RVTEST_IO_ASSERT_EQ(x31, 0x0000007D) - #RVTEST_IO_ASSERT_EQ(x1, 0x80001A14) - RVTEST_IO_ASSERT_EQ(x2, 0x000001FD) - RVTEST_IO_ASSERT_EQ(x3, 0xFFFFF9FD) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000010) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x0000000D) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x0000001D) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x0000003D) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000007D) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80001A14) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x000001FD) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0xFFFFF9FD) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -317,7 +317,7 @@ RV_COMPLIANCE_CODE_BEGIN # store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -343,8 +343,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -374,9 +374,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x26, 4(x2) sw x27, 8(x2) - RVTEST_IO_ASSERT_EQ(x4, 0x36925814) - RVTEST_IO_ASSERT_EQ(x26, 0x36925814) - RVTEST_IO_ASSERT_EQ(x27, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x36925814) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-ORI-01.S b/riscv-test-suite/rv32i/src/I-ORI-01.S index 8bc7dd6..11e58d8 100644 --- a/riscv-test-suite/rv32i/src/I-ORI-01.S +++ b/riscv-test-suite/rv32i/src/I-ORI-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -71,12 +71,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000001) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0xFFFFF800) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0xFFFFF800) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -105,12 +105,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000001) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x12, 0x00000001) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFF801) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000001) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFF801) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -139,12 +139,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x16, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x17, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x18, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -173,12 +173,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x20, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x21, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -207,12 +207,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x80000001) - RVTEST_IO_ASSERT_EQ(x25, 0x800007FF) - RVTEST_IO_ASSERT_EQ(x26, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x27, 0x80000000) - RVTEST_IO_ASSERT_EQ(x28, 0xFFFFF800) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x800007FF) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xFFFFF800) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -244,13 +244,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x3, 24(x27) - RVTEST_IO_ASSERT_EQ(x28, 0x0000000D) - RVTEST_IO_ASSERT_EQ(x29, 0x0000001D) - RVTEST_IO_ASSERT_EQ(x30, 0x0000003D) - RVTEST_IO_ASSERT_EQ(x31, 0x0000007D) - #RVTEST_IO_ASSERT_EQ(x1, 0x000018D8) - RVTEST_IO_ASSERT_EQ(x2, 0x000001FD) - RVTEST_IO_ASSERT_EQ(x3, 0xFFFFF9FD) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x0000000D) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x0000001D) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x0000003D) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000007D) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x000018D8) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x000001FD) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0xFFFFF9FD) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -270,7 +270,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -292,8 +292,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 0(x2) sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -324,10 +324,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x26, 8(x2) sw x27, 12(x2) - RVTEST_IO_ASSERT_EQ(x3, 0x36925814) - RVTEST_IO_ASSERT_EQ(x4, 0x36925814) - RVTEST_IO_ASSERT_EQ(x26, 0x36925814) - RVTEST_IO_ASSERT_EQ(x27, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x36925814) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-RF_size-01.S b/riscv-test-suite/rv32i/src/I-RF_size-01.S index 0fd0ce4..15e7478 100644 --- a/riscv-test-suite/rv32i/src/I-RF_size-01.S +++ b/riscv-test-suite/rv32i/src/I-RF_size-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) #RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -88,22 +88,22 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x80000370) - RVTEST_IO_ASSERT_EQ(x2, 0x2D562052) - RVTEST_IO_ASSERT_EQ(x3, 0x52697363) - RVTEST_IO_ASSERT_EQ(x4, 0x736B7920) - RVTEST_IO_ASSERT_EQ(x5, 0x6E204E6F) - RVTEST_IO_ASSERT_EQ(x6, 0x6E204E6F) - RVTEST_IO_ASSERT_EQ(x7, 0x4D696C61) - RVTEST_IO_ASSERT_EQ(x8, 0x6F646173) - RVTEST_IO_ASSERT_EQ(x9, 0x6B794063) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x286E6F73) - RVTEST_IO_ASSERT_EQ(x12, 0x656B2048) - RVTEST_IO_ASSERT_EQ(x13, 0x20526164) - RVTEST_IO_ASSERT_EQ(x14, 0x6F6D292C) - RVTEST_IO_ASSERT_EQ(x15, 0x69702E63) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80000370) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x2D562052) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x52697363) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x736B7920) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x6E204E6F) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x6E204E6F) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x4D696C61) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x6F646173) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x6B794063) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x286E6F73) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x656B2048) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x20526164) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x6F6D292C) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x69702E63) #RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -149,22 +149,22 @@ RV_COMPLIANCE_CODE_BEGIN sw x30, 56(x4) sw x31, 60(x4) - RVTEST_IO_ASSERT_EQ(x16, 0x636F6461) - RVTEST_IO_ASSERT_EQ(x17, 0x6A656B40) - RVTEST_IO_ASSERT_EQ(x18, 0x20286861) - RVTEST_IO_ASSERT_EQ(x19, 0x616A656B) - RVTEST_IO_ASSERT_EQ(x20, 0x61766520) - RVTEST_IO_ASSERT_EQ(x21, 0x2E204C65) - RVTEST_IO_ASSERT_EQ(x22, 0x636F6D29) - RVTEST_IO_ASSERT_EQ(x23, 0x7369702E) - RVTEST_IO_ASSERT_EQ(x24, 0x6620796F) - RVTEST_IO_ASSERT_EQ(x25, 0x67652069) - RVTEST_IO_ASSERT_EQ(x26, 0x65737361) - RVTEST_IO_ASSERT_EQ(x27, 0x7573206D) - RVTEST_IO_ASSERT_EQ(x28, 0x3A290D0A) - RVTEST_IO_ASSERT_EQ(x29, 0x68697320) - RVTEST_IO_ASSERT_EQ(x30, 0x61642074) - RVTEST_IO_ASSERT_EQ(x31, 0x75207265) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x636F6461) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x6A656B40) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x20286861) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x616A656B) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x61766520) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x2E204C65) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x636F6D29) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x7369702E) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x6620796F) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x67652069) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x65737361) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x7573206D) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x3A290D0A) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x68697320) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x61642074) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x75207265) #RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-RF_width-01.S b/riscv-test-suite/rv32i/src/I-RF_width-01.S index 05b3fe6..ad646c8 100644 --- a/riscv-test-suite/rv32i/src/I-RF_width-01.S +++ b/riscv-test-suite/rv32i/src/I-RF_width-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -166,22 +166,22 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x800003FC) - RVTEST_IO_ASSERT_EQ(x2, 0x80000000) - RVTEST_IO_ASSERT_EQ(x3, 0x80000000) - RVTEST_IO_ASSERT_EQ(x4, 0x80000000) - RVTEST_IO_ASSERT_EQ(x5, 0x80000000) - RVTEST_IO_ASSERT_EQ(x6, 0x80000000) - RVTEST_IO_ASSERT_EQ(x7, 0x80000000) - RVTEST_IO_ASSERT_EQ(x8, 0x80000000) - RVTEST_IO_ASSERT_EQ(x9, 0x80000000) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x80000000) - RVTEST_IO_ASSERT_EQ(x12, 0x80000000) - RVTEST_IO_ASSERT_EQ(x13, 0x80000000) - RVTEST_IO_ASSERT_EQ(x14, 0x80000000) - RVTEST_IO_ASSERT_EQ(x15, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x800003FC) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x80000000) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -309,22 +309,22 @@ RV_COMPLIANCE_CODE_BEGIN sw x30, 56(x1) sw x31, 60(x1) - RVTEST_IO_ASSERT_EQ(x16, 0x80000000) - RVTEST_IO_ASSERT_EQ(x17, 0x80000000) - RVTEST_IO_ASSERT_EQ(x18, 0x80000000) - RVTEST_IO_ASSERT_EQ(x19, 0x80000000) - RVTEST_IO_ASSERT_EQ(x20, 0x80000000) - RVTEST_IO_ASSERT_EQ(x21, 0x80000000) - RVTEST_IO_ASSERT_EQ(x22, 0x80000000) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x80000000) - RVTEST_IO_ASSERT_EQ(x25, 0x80000000) - RVTEST_IO_ASSERT_EQ(x26, 0x80000000) - RVTEST_IO_ASSERT_EQ(x27, 0x80000000) - RVTEST_IO_ASSERT_EQ(x28, 0x80000000) - RVTEST_IO_ASSERT_EQ(x29, 0x80000000) - RVTEST_IO_ASSERT_EQ(x30, 0x80000000) - RVTEST_IO_ASSERT_EQ(x31, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-RF_x0-01.S b/riscv-test-suite/rv32i/src/I-RF_x0-01.S index 3fb122f..cbdf828 100644 --- a/riscv-test-suite/rv32i/src/I-RF_x0-01.S +++ b/riscv-test-suite/rv32i/src/I-RF_x0-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -65,7 +65,7 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -99,7 +99,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x31) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SB-01.S b/riscv-test-suite/rv32i/src/I-SB-01.S index b897586..a603d92 100644 --- a/riscv-test-suite/rv32i/src/I-SB-01.S +++ b/riscv-test-suite/rv32i/src/I-SB-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -60,8 +60,8 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x2, 0x11F1F222) - RVTEST_IO_ASSERT_EQ(x31, 0xAAAABBBB) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x11F1F222) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0xAAAABBBB) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -78,8 +78,8 @@ RV_COMPLIANCE_CODE_BEGIN li x25, 0xF33344F4 sb x25, 0xFFFFFFFF(x5) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x25, 0xF33344F4) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0xF33344F4) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -96,8 +96,8 @@ RV_COMPLIANCE_CODE_BEGIN li x31, 0x55F5F666 sb x31, +1(x8) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x31, 0x55F5F666) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x55F5F666) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -114,8 +114,8 @@ RV_COMPLIANCE_CODE_BEGIN li x12, 0xF77788F8 sb x12, 0xFFFFF800(x11) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0xF77788F8) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xF77788F8) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -132,8 +132,8 @@ RV_COMPLIANCE_CODE_BEGIN li x15, 0x99090AAA sb x15, 0x7FF(x14) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x15, 0x99090AAA) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x99090AAA) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -171,18 +171,18 @@ RV_COMPLIANCE_CODE_BEGIN sb x28, 6(x17) sb x29, 7(x17) - RVTEST_IO_ASSERT_EQ(x18, 0x1111110C) - RVTEST_IO_ASSERT_EQ(x19, 0x222222CC) - RVTEST_IO_ASSERT_EQ(x20, 0x333333BB) - RVTEST_IO_ASSERT_EQ(x21, 0x4444440B) - RVTEST_IO_ASSERT_EQ(x22, 0x555555EE) - RVTEST_IO_ASSERT_EQ(x23, 0x6666660E) - RVTEST_IO_ASSERT_EQ(x24, 0x7777770D) - RVTEST_IO_ASSERT_EQ(x25, 0x888888DD) - RVTEST_IO_ASSERT_EQ(x26, 0x999999F0) - RVTEST_IO_ASSERT_EQ(x27, 0xAAAAAA00) - RVTEST_IO_ASSERT_EQ(x28, 0xBBBBBBFF) - RVTEST_IO_ASSERT_EQ(x29, 0xCCCCCC0F) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x1111110C) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x222222CC) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x333333BB) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x4444440B) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x555555EE) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x6666660E) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x7777770D) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x888888DD) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x999999F0) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xAAAAAA00) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xBBBBBBFF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0xCCCCCC0F) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -200,8 +200,8 @@ RV_COMPLIANCE_CODE_BEGIN li x0, 0x12345678 sb x0, 0(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x1, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x1, 0x87654321) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -220,7 +220,7 @@ RV_COMPLIANCE_CODE_BEGIN lw x23, 0(x21) sb x19, 0(x23) - RVTEST_IO_ASSERT_EQ(x19, 0x11223344) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x11223344) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -238,7 +238,7 @@ RV_COMPLIANCE_CODE_BEGIN lw x25, 0(x23) sb x25, 0(x24) - RVTEST_IO_ASSERT_EQ(x25, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x9ABCDEF0) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); @@ -256,7 +256,7 @@ RV_COMPLIANCE_CODE_BEGIN sb x25, 0(x26) mv x25, x0 - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -274,8 +274,8 @@ RV_COMPLIANCE_CODE_BEGIN sb x27, 0(x28) addi x28, x28, -4 - RVTEST_IO_ASSERT_EQ(x27, 0x89ABCDEF) - RVTEST_IO_ASSERT_EQ(x28, 0x8000403C) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x89ABCDEF) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x8000403C) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -295,8 +295,8 @@ RV_COMPLIANCE_CODE_BEGIN lw x30, 0(x29) sb x30, 4(x29) - RVTEST_IO_ASSERT_EQ(x27, 0x14725836) - RVTEST_IO_ASSERT_EQ(x30, 0x00000036) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x14725836) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x00000036) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -315,8 +315,8 @@ RV_COMPLIANCE_CODE_BEGIN sb x2, 0(x1) sb x3, 0(x1) - RVTEST_IO_ASSERT_EQ(x2, 0x96385201) - RVTEST_IO_ASSERT_EQ(x3, 0x25814963) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x96385201) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x25814963) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SH-01.S b/riscv-test-suite/rv32i/src/I-SH-01.S index cf85a1d..236c9be 100644 --- a/riscv-test-suite/rv32i/src/I-SH-01.S +++ b/riscv-test-suite/rv32i/src/I-SH-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -60,8 +60,8 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x2, 0x11F1F222) - RVTEST_IO_ASSERT_EQ(x31, 0xAAAABBBB) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x11F1F222) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0xAAAABBBB) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -78,8 +78,8 @@ RV_COMPLIANCE_CODE_BEGIN li x25, 0xF33344F4 sh x25, 0xFFFFFFFF(x5) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x25, 0xF33344F4) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0xF33344F4) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -96,8 +96,8 @@ RV_COMPLIANCE_CODE_BEGIN li x31, 0x55F5F666 sh x31, +1(x8) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x31, 0x55F5F666) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x55F5F666) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -114,8 +114,8 @@ RV_COMPLIANCE_CODE_BEGIN li x12, 0xF77788F8 sh x12, 0xFFFFF800(x11) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0xF77788F8) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0xF77788F8) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -132,8 +132,8 @@ RV_COMPLIANCE_CODE_BEGIN li x15, 0x99090AAA sh x15, 0x7FF(x14) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x15, 0x99090AAA) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x99090AAA) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -159,12 +159,12 @@ RV_COMPLIANCE_CODE_BEGIN sh x22, 4(x17) sh x23, 6(x17) - RVTEST_IO_ASSERT_EQ(x18, 0x1111CC0C) - RVTEST_IO_ASSERT_EQ(x19, 0x22220BBB) - RVTEST_IO_ASSERT_EQ(x20, 0x33330EEE) - RVTEST_IO_ASSERT_EQ(x21, 0x4444DD0D) - RVTEST_IO_ASSERT_EQ(x22, 0x777700F0) - RVTEST_IO_ASSERT_EQ(x23, 0x66660FFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x1111CC0C) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x22220BBB) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x33330EEE) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x4444DD0D) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x777700F0) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x66660FFF) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -182,8 +182,8 @@ RV_COMPLIANCE_CODE_BEGIN li x0, 0x12345678 sh x0, 0(x22) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x1, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x1, 0x87654321) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -202,7 +202,7 @@ RV_COMPLIANCE_CODE_BEGIN lw x23, 0(x21) sh x19, 0(x23) - RVTEST_IO_ASSERT_EQ(x19, 0x11223344) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x11223344) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -220,7 +220,7 @@ RV_COMPLIANCE_CODE_BEGIN lw x25, 0(x23) sh x25, 0(x24) - RVTEST_IO_ASSERT_EQ(x25, 0x9ABCDEF0) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x9ABCDEF0) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); @@ -238,7 +238,7 @@ RV_COMPLIANCE_CODE_BEGIN sh x25, 0(x26) mv x25, x0 - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -256,8 +256,8 @@ RV_COMPLIANCE_CODE_BEGIN sh x27, 0(x28) addi x28, x28, -4 - RVTEST_IO_ASSERT_EQ(x27, 0x89ABCDEF) - RVTEST_IO_ASSERT_EQ(x28, 0x8000403C) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x89ABCDEF) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x8000403C) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -277,8 +277,8 @@ RV_COMPLIANCE_CODE_BEGIN lw x30, 0(x29) sh x30, 4(x29) - RVTEST_IO_ASSERT_EQ(x27, 0x14725836) - RVTEST_IO_ASSERT_EQ(x30, 0x00005836) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x14725836) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x00005836) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -297,8 +297,8 @@ RV_COMPLIANCE_CODE_BEGIN sh x2, 0(x1) sh x3, 0(x1) - RVTEST_IO_ASSERT_EQ(x2, 0x96385201) - RVTEST_IO_ASSERT_EQ(x3, 0x25814963) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x96385201) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x25814963) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SLL-01.S b/riscv-test-suite/rv32i/src/I-SLL-01.S index 68e12f8..a5bdd8c 100644 --- a/riscv-test-suite/rv32i/src/I-SLL-01.S +++ b/riscv-test-suite/rv32i/src/I-SLL-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -78,12 +78,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -119,12 +119,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000002) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x80000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000001) - RVTEST_IO_ASSERT_EQ(x13, 0x00010000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000002) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00010000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -160,12 +160,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFF8000) - RVTEST_IO_ASSERT_EQ(x16, 0x80000000) - RVTEST_IO_ASSERT_EQ(x17, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x18, 0xFFFF0000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFF8000) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0xFFFF0000) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -201,12 +201,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x13) sw x23, 20(x13) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x20, 0xFFFF8000) - RVTEST_IO_ASSERT_EQ(x21, 0x80000000) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0xFFFF0000) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0xFFFF8000) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0xFFFF0000) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -242,12 +242,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x13) sw x28, 20(x13) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x00000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) - RVTEST_IO_ASSERT_EQ(x26, 0x00000000) - RVTEST_IO_ASSERT_EQ(x27, 0x80000000) - RVTEST_IO_ASSERT_EQ(x28, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -281,13 +281,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x2, 20(x26) sw x3, 24(x26) - RVTEST_IO_ASSERT_EQ(x28, 0xABCDEF10) - RVTEST_IO_ASSERT_EQ(x29, 0x579BDE20) - RVTEST_IO_ASSERT_EQ(x30, 0xAF37BC40) - RVTEST_IO_ASSERT_EQ(x31, 0x5E6F7880) - #RVTEST_IO_ASSERT_EQ(x1, 0x80001940) - RVTEST_IO_ASSERT_EQ(x2, 0x79BDE200) - RVTEST_IO_ASSERT_EQ(x3, 0xF37BC400) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xABCDEF10) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x579BDE20) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0xAF37BC40) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x5E6F7880) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80001940) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x79BDE200) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0xF37BC400) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -310,7 +310,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -335,8 +335,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 0(x2) sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -368,10 +368,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x6, 8(x2) sw x7, 12(x2) - RVTEST_IO_ASSERT_EQ(x4, 0x87654321) - RVTEST_IO_ASSERT_EQ(x5, 0xA1908000) - RVTEST_IO_ASSERT_EQ(x6, 0xA1908000) - RVTEST_IO_ASSERT_EQ(x7, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0xA1908000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xA1908000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x80000000) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SLLI-01.S b/riscv-test-suite/rv32i/src/I-SLLI-01.S index aa41e3e..1bb8da1 100644 --- a/riscv-test-suite/rv32i/src/I-SLLI-01.S +++ b/riscv-test-suite/rv32i/src/I-SLLI-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -71,12 +71,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -105,12 +105,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000002) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x80000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000001) - RVTEST_IO_ASSERT_EQ(x13, 0x00010000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000002) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00010000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -139,12 +139,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFF8000) - RVTEST_IO_ASSERT_EQ(x16, 0x80000000) - RVTEST_IO_ASSERT_EQ(x17, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x18, 0xFFFF0000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFF8000) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0xFFFF0000) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -173,12 +173,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x13) sw x23, 20(x13) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x20, 0xFFFF8000) - RVTEST_IO_ASSERT_EQ(x21, 0x80000000) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0xFFFF0000) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0xFFFF8000) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0xFFFF0000) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -207,12 +207,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x13) sw x28, 20(x13) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x00000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) - RVTEST_IO_ASSERT_EQ(x26, 0x00000000) - RVTEST_IO_ASSERT_EQ(x27, 0x80000000) - RVTEST_IO_ASSERT_EQ(x28, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -243,13 +243,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x2, 20(x27) sw x3, 24(x27) - RVTEST_IO_ASSERT_EQ(x28, 0xABCDEF10) - RVTEST_IO_ASSERT_EQ(x29, 0x579BDE20) - RVTEST_IO_ASSERT_EQ(x30, 0xAF37BC40) - RVTEST_IO_ASSERT_EQ(x31, 0x5E6F7880) - #RVTEST_IO_ASSERT_EQ(x1, 0x80001940) - RVTEST_IO_ASSERT_EQ(x2, 0x79BDE200) - RVTEST_IO_ASSERT_EQ(x3, 0xF37BC400) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xABCDEF10) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x579BDE20) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0xAF37BC40) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x5E6F7880) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80001940) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x79BDE200) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0xF37BC400) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -269,7 +269,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -291,8 +291,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 0(x2) sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SLT-01.S b/riscv-test-suite/rv32i/src/I-SLT-01.S index c46ec64..af116a1 100644 --- a/riscv-test-suite/rv32i/src/I-SLT-01.S +++ b/riscv-test-suite/rv32i/src/I-SLT-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -78,12 +78,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000001) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -119,12 +119,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000000) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -160,12 +160,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0x00000001) - RVTEST_IO_ASSERT_EQ(x15, 0x00000001) - RVTEST_IO_ASSERT_EQ(x16, 0x00000000) - RVTEST_IO_ASSERT_EQ(x17, 0x00000001) - RVTEST_IO_ASSERT_EQ(x18, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -201,12 +201,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x00000000) - RVTEST_IO_ASSERT_EQ(x20, 0x00000000) - RVTEST_IO_ASSERT_EQ(x21, 0x00000000) - RVTEST_IO_ASSERT_EQ(x22, 0x00000000) - RVTEST_IO_ASSERT_EQ(x23, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -242,12 +242,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x00000001) - RVTEST_IO_ASSERT_EQ(x25, 0x00000001) - RVTEST_IO_ASSERT_EQ(x26, 0x00000001) - RVTEST_IO_ASSERT_EQ(x27, 0x00000001) - RVTEST_IO_ASSERT_EQ(x28, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -272,9 +272,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x1, 4(x27) sw x2, 8(x27) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x8000173C) - RVTEST_IO_ASSERT_EQ(x2, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x8000173C) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000001) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -315,16 +315,16 @@ RV_COMPLIANCE_CODE_BEGIN sw x14, 32(x31) sw x15, 36(x31) - RVTEST_IO_ASSERT_EQ(x6, 0x00000001) - RVTEST_IO_ASSERT_EQ(x7, 0x00000001) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) - RVTEST_IO_ASSERT_EQ(x9, 0x00000000) - RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000000) - RVTEST_IO_ASSERT_EQ(x13, 0x00000001) - RVTEST_IO_ASSERT_EQ(x14, 0x00000000) - RVTEST_IO_ASSERT_EQ(x15, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000001) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -351,11 +351,11 @@ RV_COMPLIANCE_CODE_BEGIN sw x29, 12(x31) sw x30, 16(x31) - #RVTEST_IO_ASSERT_EQ(x1, 0x80001EEC) - RVTEST_IO_ASSERT_EQ(x2, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0x00000001) - RVTEST_IO_ASSERT_EQ(x29, 0x00000000) - RVTEST_IO_ASSERT_EQ(x30, 0x00000001) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80001EEC) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x00000001) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SLTI-01.S b/riscv-test-suite/rv32i/src/I-SLTI-01.S index 3935117..bd371b4 100644 --- a/riscv-test-suite/rv32i/src/I-SLTI-01.S +++ b/riscv-test-suite/rv32i/src/I-SLTI-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -71,12 +71,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000001) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -105,12 +105,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000000) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -139,12 +139,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0x00000001) - RVTEST_IO_ASSERT_EQ(x15, 0x00000001) - RVTEST_IO_ASSERT_EQ(x16, 0x00000000) - RVTEST_IO_ASSERT_EQ(x17, 0x00000001) - RVTEST_IO_ASSERT_EQ(x18, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -173,12 +173,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x00000000) - RVTEST_IO_ASSERT_EQ(x20, 0x00000000) - RVTEST_IO_ASSERT_EQ(x21, 0x00000000) - RVTEST_IO_ASSERT_EQ(x22, 0x00000000) - RVTEST_IO_ASSERT_EQ(x23, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -207,12 +207,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x00000001) - RVTEST_IO_ASSERT_EQ(x25, 0x00000001) - RVTEST_IO_ASSERT_EQ(x26, 0x00000001) - RVTEST_IO_ASSERT_EQ(x27, 0x00000001) - RVTEST_IO_ASSERT_EQ(x28, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000001) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -234,8 +234,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 4(x27) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x8000173C) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x8000173C) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -260,12 +260,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x4, 16(x31) sw x5, 20(x31) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x800017A8) - RVTEST_IO_ASSERT_EQ(x2, 0x00000001) - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x800017A8) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -290,12 +290,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x29, 16(x31) sw x30, 20(x31) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0x00000001) - RVTEST_IO_ASSERT_EQ(x29, 0x00000000) - RVTEST_IO_ASSERT_EQ(x30, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x00000001) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SLTIU-01.S b/riscv-test-suite/rv32i/src/I-SLTIU-01.S index 96e6ab4..3e490b3 100644 --- a/riscv-test-suite/rv32i/src/I-SLTIU-01.S +++ b/riscv-test-suite/rv32i/src/I-SLTIU-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -71,12 +71,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000001) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000001) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -105,12 +105,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000001) - RVTEST_IO_ASSERT_EQ(x12, 0x00000000) - RVTEST_IO_ASSERT_EQ(x13, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000001) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -139,12 +139,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0x00000000) - RVTEST_IO_ASSERT_EQ(x15, 0x00000000) - RVTEST_IO_ASSERT_EQ(x16, 0x00000000) - RVTEST_IO_ASSERT_EQ(x17, 0x00000000) - RVTEST_IO_ASSERT_EQ(x18, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -173,12 +173,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x00000000) - RVTEST_IO_ASSERT_EQ(x20, 0x00000000) - RVTEST_IO_ASSERT_EQ(x21, 0x00000001) - RVTEST_IO_ASSERT_EQ(x22, 0x00000000) - RVTEST_IO_ASSERT_EQ(x23, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00000001) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -207,12 +207,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x00000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) - RVTEST_IO_ASSERT_EQ(x26, 0x00000001) - RVTEST_IO_ASSERT_EQ(x27, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000001) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -234,8 +234,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 4(x27) - #RVTEST_IO_ASSERT_EQ(x1, 0x8000161C) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x8000161C) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -260,12 +260,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x4, 16(x31) sw x5, 20(x31) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x800017A8) - RVTEST_IO_ASSERT_EQ(x2, 0x00000001) - RVTEST_IO_ASSERT_EQ(x3, 0x00000001) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x800017A8) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -290,12 +290,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x29, 16(x31) sw x30, 20(x31) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0x00000001) - RVTEST_IO_ASSERT_EQ(x29, 0x00000000) - RVTEST_IO_ASSERT_EQ(x30, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x00000001) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SLTU-01.S b/riscv-test-suite/rv32i/src/I-SLTU-01.S index 2af1c6e..ac7705e 100644 --- a/riscv-test-suite/rv32i/src/I-SLTU-01.S +++ b/riscv-test-suite/rv32i/src/I-SLTU-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -78,12 +78,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000001) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000001) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -119,12 +119,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000001) - RVTEST_IO_ASSERT_EQ(x12, 0x00000000) - RVTEST_IO_ASSERT_EQ(x13, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000001) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -160,12 +160,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0x00000000) - RVTEST_IO_ASSERT_EQ(x15, 0x00000000) - RVTEST_IO_ASSERT_EQ(x16, 0x00000000) - RVTEST_IO_ASSERT_EQ(x17, 0x00000000) - RVTEST_IO_ASSERT_EQ(x18, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -201,12 +201,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x00000000) - RVTEST_IO_ASSERT_EQ(x20, 0x00000000) - RVTEST_IO_ASSERT_EQ(x21, 0x00000001) - RVTEST_IO_ASSERT_EQ(x22, 0x00000000) - RVTEST_IO_ASSERT_EQ(x23, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00000001) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -242,12 +242,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x00000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00000000) - RVTEST_IO_ASSERT_EQ(x26, 0x00000001) - RVTEST_IO_ASSERT_EQ(x27, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -272,9 +272,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x1, 4(x27) sw x2, 8(x27) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x1, 0x00000000) - RVTEST_IO_ASSERT_EQ(x2, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -315,16 +315,16 @@ RV_COMPLIANCE_CODE_BEGIN sw x14, 32(x31) sw x15, 36(x31) - RVTEST_IO_ASSERT_EQ(x6, 0x00000001) - RVTEST_IO_ASSERT_EQ(x7, 0x00000001) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000000) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) - RVTEST_IO_ASSERT_EQ(x14, 0x00000000) - RVTEST_IO_ASSERT_EQ(x15, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -351,11 +351,11 @@ RV_COMPLIANCE_CODE_BEGIN sw x29, 12(x31) sw x30, 16(x31) - #RVTEST_IO_ASSERT_EQ(x1, 0x80001E50) - RVTEST_IO_ASSERT_EQ(x2, 0x00000000) - RVTEST_IO_ASSERT_EQ(x28, 0x00000001) - RVTEST_IO_ASSERT_EQ(x29, 0x00000000) - RVTEST_IO_ASSERT_EQ(x30, 0x00000001) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80001E50) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x00000001) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SRA-01.S b/riscv-test-suite/rv32i/src/I-SRA-01.S index faf327a..1be5453 100644 --- a/riscv-test-suite/rv32i/src/I-SRA-01.S +++ b/riscv-test-suite/rv32i/src/I-SRA-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -78,12 +78,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -119,12 +119,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000000) - RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000001) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -160,12 +160,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x16, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x17, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x18, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -201,12 +201,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x13) sw x23, 20(x13) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x3FFFFFFF) - RVTEST_IO_ASSERT_EQ(x20, 0x0000FFFF) - RVTEST_IO_ASSERT_EQ(x21, 0x00000000) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x00007FFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x3FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x0000FFFF) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00007FFF) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -242,12 +242,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x13) sw x28, 20(x13) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0xC0000000) - RVTEST_IO_ASSERT_EQ(x25, 0xFFFF0000) - RVTEST_IO_ASSERT_EQ(x26, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x27, 0x80000000) - RVTEST_IO_ASSERT_EQ(x28, 0xFFFF8000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0xC0000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0xFFFF0000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xFFFF8000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -281,13 +281,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x2, 20(x26) sw x3, 24(x26) - RVTEST_IO_ASSERT_EQ(x28, 0xABCDEF10) - RVTEST_IO_ASSERT_EQ(x29, 0xD5E6F788) - RVTEST_IO_ASSERT_EQ(x30, 0xEAF37BC4) - RVTEST_IO_ASSERT_EQ(x31, 0xF579BDE2) - #RVTEST_IO_ASSERT_EQ(x1, 0x800019EC) - RVTEST_IO_ASSERT_EQ(x2, 0xFD5E6F78) - RVTEST_IO_ASSERT_EQ(x3, 0xFEAF37BC) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xABCDEF10) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0xD5E6F788) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0xEAF37BC4) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0xF579BDE2) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x800019EC) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0xFD5E6F78) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0xFEAF37BC) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -310,7 +310,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -335,8 +335,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 0(x2) sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -368,10 +368,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x6, 8(x2) sw x7, 12(x2) - RVTEST_IO_ASSERT_EQ(x4, 0x87654321) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFF0ECA) - RVTEST_IO_ASSERT_EQ(x7, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFF0ECA) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SRAI-01.S b/riscv-test-suite/rv32i/src/I-SRAI-01.S index 956dfb7..0ac4c7d 100644 --- a/riscv-test-suite/rv32i/src/I-SRAI-01.S +++ b/riscv-test-suite/rv32i/src/I-SRAI-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -71,12 +71,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -105,12 +105,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000000) - RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000001) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -139,12 +139,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x16, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x17, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x18, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -173,12 +173,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x13) sw x23, 20(x13) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x3FFFFFFF) - RVTEST_IO_ASSERT_EQ(x20, 0x0000FFFF) - RVTEST_IO_ASSERT_EQ(x21, 0x00000000) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x00007FFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x3FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x0000FFFF) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00007FFF) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -207,12 +207,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x13) sw x28, 20(x13) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0xC0000000) - RVTEST_IO_ASSERT_EQ(x25, 0xFFFF0000) - RVTEST_IO_ASSERT_EQ(x26, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x27, 0x80000000) - RVTEST_IO_ASSERT_EQ(x28, 0xFFFF8000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0xC0000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0xFFFF0000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xFFFF8000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -243,13 +243,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x2, 20(x27) sw x3, 24(x27) - RVTEST_IO_ASSERT_EQ(x28, 0xABCDEF10) - RVTEST_IO_ASSERT_EQ(x29, 0xD5E6F788) - RVTEST_IO_ASSERT_EQ(x30, 0xEAF37BC4) - RVTEST_IO_ASSERT_EQ(x31, 0xF579BDE2) - #RVTEST_IO_ASSERT_EQ(x1, 0x800019EC) - RVTEST_IO_ASSERT_EQ(x2, 0xFD5E6F78) - RVTEST_IO_ASSERT_EQ(x3, 0xFEAF37BC) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xABCDEF10) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0xD5E6F788) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0xEAF37BC4) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0xF579BDE2) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x800019EC) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0xFD5E6F78) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0xFEAF37BC) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -269,7 +269,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -291,8 +291,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 0(x2) sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SRL-01.S b/riscv-test-suite/rv32i/src/I-SRL-01.S index 1177be7..d1df1c1 100644 --- a/riscv-test-suite/rv32i/src/I-SRL-01.S +++ b/riscv-test-suite/rv32i/src/I-SRL-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -78,12 +78,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -119,12 +119,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000000) - RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000001) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -160,12 +160,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x15, 0x0001FFFF) - RVTEST_IO_ASSERT_EQ(x16, 0x00000001) - RVTEST_IO_ASSERT_EQ(x17, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x18, 0x0000FFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x0001FFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x0000FFFF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -201,12 +201,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x13) sw x23, 20(x13) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x3FFFFFFF) - RVTEST_IO_ASSERT_EQ(x20, 0x0000FFFF) - RVTEST_IO_ASSERT_EQ(x21, 0x00000000) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x00007FFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x3FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x0000FFFF) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00007FFF) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -242,12 +242,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x13) sw x28, 20(x13) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x40000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00010000) - RVTEST_IO_ASSERT_EQ(x26, 0x00000001) - RVTEST_IO_ASSERT_EQ(x27, 0x80000000) - RVTEST_IO_ASSERT_EQ(x28, 0x00008000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x40000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00010000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00008000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -281,13 +281,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x2, 20(x26) sw x3, 24(x26) - RVTEST_IO_ASSERT_EQ(x28, 0xABCDEF10) - RVTEST_IO_ASSERT_EQ(x29, 0x55E6F788) - RVTEST_IO_ASSERT_EQ(x30, 0x2AF37BC4) - RVTEST_IO_ASSERT_EQ(x31, 0x1579BDE2) - #RVTEST_IO_ASSERT_EQ(x1, 0x800019EC) - RVTEST_IO_ASSERT_EQ(x2, 0x055E6F78) - RVTEST_IO_ASSERT_EQ(x3, 0x02AF37BC) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xABCDEF10) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x55E6F788) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x2AF37BC4) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x1579BDE2) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x800019EC) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x055E6F78) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x02AF37BC) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -310,7 +310,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -335,8 +335,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 0(x2) sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -368,10 +368,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x6, 8(x2) sw x7, 12(x2) - RVTEST_IO_ASSERT_EQ(x4, 0x87654321) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00010ECA) - RVTEST_IO_ASSERT_EQ(x7, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x87654321) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00010ECA) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000001) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SRLI-01.S b/riscv-test-suite/rv32i/src/I-SRLI-01.S index ffa16cf..3fddf1a 100644 --- a/riscv-test-suite/rv32i/src/I-SRLI-01.S +++ b/riscv-test-suite/rv32i/src/I-SRLI-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -71,12 +71,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000000) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -105,12 +105,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000000) - RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000000) - RVTEST_IO_ASSERT_EQ(x12, 0x00000001) - RVTEST_IO_ASSERT_EQ(x13, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -139,12 +139,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x15, 0x0001FFFF) - RVTEST_IO_ASSERT_EQ(x16, 0x00000001) - RVTEST_IO_ASSERT_EQ(x17, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x18, 0x0000FFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0x0001FFFF) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x0000FFFF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -173,12 +173,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x13) sw x23, 20(x13) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x3FFFFFFF) - RVTEST_IO_ASSERT_EQ(x20, 0x0000FFFF) - RVTEST_IO_ASSERT_EQ(x21, 0x00000000) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x00007FFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x3FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x0000FFFF) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x00007FFF) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -207,12 +207,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x13) sw x28, 20(x13) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x40000000) - RVTEST_IO_ASSERT_EQ(x25, 0x00010000) - RVTEST_IO_ASSERT_EQ(x26, 0x00000001) - RVTEST_IO_ASSERT_EQ(x27, 0x80000000) - RVTEST_IO_ASSERT_EQ(x28, 0x00008000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x40000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x00010000) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00008000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -243,13 +243,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x2, 20(x27) sw x3, 24(x27) - RVTEST_IO_ASSERT_EQ(x28, 0xABCDEF10) - RVTEST_IO_ASSERT_EQ(x29, 0x55E6F788) - RVTEST_IO_ASSERT_EQ(x30, 0x2AF37BC4) - RVTEST_IO_ASSERT_EQ(x31, 0x1579BDE2) - #RVTEST_IO_ASSERT_EQ(x1, 0x800019EC) - RVTEST_IO_ASSERT_EQ(x2, 0x055E6F78) - RVTEST_IO_ASSERT_EQ(x3, 0x02AF37BC) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xABCDEF10) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x55E6F788) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x2AF37BC4) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x1579BDE2) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x800019EC) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x055E6F78) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x02AF37BC) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -269,7 +269,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -291,8 +291,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 0(x2) sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SUB-01.S b/riscv-test-suite/rv32i/src/I-SUB-01.S index 4a0d87e..f9cde2b 100644 --- a/riscv-test-suite/rv32i/src/I-SUB-01.S +++ b/riscv-test-suite/rv32i/src/I-SUB-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -78,12 +78,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0x00000001) - RVTEST_IO_ASSERT_EQ(x7, 0x80000001) - RVTEST_IO_ASSERT_EQ(x8, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -119,12 +119,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000001) - RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0x00000002) - RVTEST_IO_ASSERT_EQ(x12, 0x80000002) - RVTEST_IO_ASSERT_EQ(x13, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0x00000002) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x80000002) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x80000001) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -160,12 +160,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x16, 0x00000000) - RVTEST_IO_ASSERT_EQ(x17, 0x80000000) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -201,12 +201,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x20, 0x7FFFFFFE) - RVTEST_IO_ASSERT_EQ(x21, 0x80000000) - RVTEST_IO_ASSERT_EQ(x22, 0x00000000) - RVTEST_IO_ASSERT_EQ(x23, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x7FFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -242,12 +242,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x80000000) - RVTEST_IO_ASSERT_EQ(x25, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x26, 0x80000001) - RVTEST_IO_ASSERT_EQ(x27, 0x00000001) - RVTEST_IO_ASSERT_EQ(x28, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -282,14 +282,14 @@ RV_COMPLIANCE_CODE_BEGIN sw x2, 24(x26) sw x3, 28(x26) - RVTEST_IO_ASSERT_EQ(x27, 0x00000001) - RVTEST_IO_ASSERT_EQ(x28, 0x0000ABCD) - RVTEST_IO_ASSERT_EQ(x29, 0x0000ABCC) - RVTEST_IO_ASSERT_EQ(x30, 0x0000ABCB) - RVTEST_IO_ASSERT_EQ(x31, 0x0000ABCA) - #RVTEST_IO_ASSERT_EQ(x1, 0x00001AB4) - RVTEST_IO_ASSERT_EQ(x2, 0x0000ABC8) - RVTEST_IO_ASSERT_EQ(x3, 0x0000ABC7) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x0000ABCD) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0x0000ABCC) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0x0000ABCB) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0x0000ABCA) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x00001AB4) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0x0000ABC8) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x0000ABC7) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -312,7 +312,7 @@ RV_COMPLIANCE_CODE_BEGIN # store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -338,8 +338,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -369,9 +369,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x26, 4(x2) sw x27, 8(x2) - RVTEST_IO_ASSERT_EQ(x4, 0x36925814) - RVTEST_IO_ASSERT_EQ(x26, 0xC96DA7EC) - RVTEST_IO_ASSERT_EQ(x27, 0xC96DA7EC) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0xC96DA7EC) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xC96DA7EC) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-SW-01.S b/riscv-test-suite/rv32i/src/I-SW-01.S index 3496380..4170917 100644 --- a/riscv-test-suite/rv32i/src/I-SW-01.S +++ b/riscv-test-suite/rv32i/src/I-SW-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -122,9 +122,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x19, 0(x17) sw x20, 4(x17) - RVTEST_IO_ASSERT_EQ(x18, 0x0BBBCC0C) - RVTEST_IO_ASSERT_EQ(x19, 0xDD0D0EEE) - RVTEST_IO_ASSERT_EQ(x20, 0x0FFF00F0) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x0BBBCC0C) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0xDD0D0EEE) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x0FFF00F0) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-XOR-01.S b/riscv-test-suite/rv32i/src/I-XOR-01.S index 26cd7f2..f3b8d34 100644 --- a/riscv-test-suite/rv32i/src/I-XOR-01.S +++ b/riscv-test-suite/rv32i/src/I-XOR-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -78,12 +78,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x8, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x80000000) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -119,12 +119,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000001) - RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x12, 0x7FFFFFFE) - RVTEST_IO_ASSERT_EQ(x13, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x7FFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0x80000001) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -160,12 +160,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x16, 0x00000000) - RVTEST_IO_ASSERT_EQ(x17, 0x80000000) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -201,12 +201,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x20, 0x7FFFFFFE) - RVTEST_IO_ASSERT_EQ(x21, 0x80000000) - RVTEST_IO_ASSERT_EQ(x22, 0x00000000) - RVTEST_IO_ASSERT_EQ(x23, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x7FFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0xFFFFFFFF) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -242,12 +242,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x80000000) - RVTEST_IO_ASSERT_EQ(x25, 0x80000001) - RVTEST_IO_ASSERT_EQ(x26, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x27, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x28, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x00000000) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -287,14 +287,14 @@ RV_COMPLIANCE_CODE_BEGIN sw x2, 24(x26) sw x3, 28(x26) - RVTEST_IO_ASSERT_EQ(x4, 0x0000007F) - RVTEST_IO_ASSERT_EQ(x28, 0xABCDFFFF) - RVTEST_IO_ASSERT_EQ(x29, 0xABCDFF80) - RVTEST_IO_ASSERT_EQ(x30, 0xABCDFFBF) - RVTEST_IO_ASSERT_EQ(x31, 0xABCDFFA0) - #RVTEST_IO_ASSERT_EQ(x1, 0x80001AC8) - RVTEST_IO_ASSERT_EQ(x2, 0xABCDFFA8) - RVTEST_IO_ASSERT_EQ(x3, 0xABCDFFAB) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x0000007F) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xABCDFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0xABCDFF80) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0xABCDFFBF) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0xABCDFFA0) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x80001AC8) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0xABCDFFA8) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0xABCDFFAB) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -317,7 +317,7 @@ RV_COMPLIANCE_CODE_BEGIN # store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -343,8 +343,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -374,9 +374,9 @@ RV_COMPLIANCE_CODE_BEGIN sw x26, 4(x2) sw x27, 8(x2) - RVTEST_IO_ASSERT_EQ(x4, 0x36925814) - RVTEST_IO_ASSERT_EQ(x26, 0x36925814) - RVTEST_IO_ASSERT_EQ(x27, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x36925814) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); diff --git a/riscv-test-suite/rv32i/src/I-XORI-01.S b/riscv-test-suite/rv32i/src/I-XORI-01.S index 92764f3..b56797d 100644 --- a/riscv-test-suite/rv32i/src/I-XORI-01.S +++ b/riscv-test-suite/rv32i/src/I-XORI-01.S @@ -39,7 +39,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -71,12 +71,12 @@ RV_COMPLIANCE_CODE_BEGIN // Assert // RVTEST_IO_CHECK() - RVTEST_IO_ASSERT_EQ(x3, 0x00000000) - RVTEST_IO_ASSERT_EQ(x4, 0x00000001) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) - RVTEST_IO_ASSERT_EQ(x6, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x7, 0x00000000) - RVTEST_IO_ASSERT_EQ(x8, 0xFFFFF800) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x6, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x7, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0xFFFFF800) RVTEST_IO_WRITE_STR("# Test part A1 - Complete\n"); @@ -105,12 +105,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x12, 16(x2) sw x13, 20(x2) - RVTEST_IO_ASSERT_EQ(x8, 0x00000001) - RVTEST_IO_ASSERT_EQ(x9, 0x00000000) - #RVTEST_IO_ASSERT_EQ(x10, 0x00000000) - RVTEST_IO_ASSERT_EQ(x11, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x12, 0x00000001) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFF801) + RVTEST_IO_ASSERT_GPR_EQ(x8, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x9, 0x00000000) + #RVTEST_IO_ASSERT_GPR_EQ(x10, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x11, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x12, 0x00000001) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFF801) RVTEST_IO_WRITE_STR("# Test part A2 - Complete\n"); @@ -139,12 +139,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x17, 16(x2) sw x18, 20(x2) - RVTEST_IO_ASSERT_EQ(x13, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x14, 0xFFFFFFFE) - RVTEST_IO_ASSERT_EQ(x15, 0xFFFFF800) - RVTEST_IO_ASSERT_EQ(x16, 0x00000000) - RVTEST_IO_ASSERT_EQ(x17, 0xFFFFFFFF) - RVTEST_IO_ASSERT_EQ(x18, 0x000007FF) + RVTEST_IO_ASSERT_GPR_EQ(x13, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x14, 0xFFFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x15, 0xFFFFF800) + RVTEST_IO_ASSERT_GPR_EQ(x16, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x17, 0xFFFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x000007FF) RVTEST_IO_WRITE_STR("# Test part A3 - Complete\n"); @@ -173,12 +173,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x22, 16(x2) sw x23, 20(x2) - RVTEST_IO_ASSERT_EQ(x18, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x19, 0x7FFFFFFE) - RVTEST_IO_ASSERT_EQ(x20, 0x7FFFF800) - RVTEST_IO_ASSERT_EQ(x21, 0x80000000) - RVTEST_IO_ASSERT_EQ(x22, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x23, 0x800007FF) + RVTEST_IO_ASSERT_GPR_EQ(x18, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x19, 0x7FFFFFFE) + RVTEST_IO_ASSERT_GPR_EQ(x20, 0x7FFFF800) + RVTEST_IO_ASSERT_GPR_EQ(x21, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x22, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x800007FF) RVTEST_IO_WRITE_STR("# Test part A4 - Complete\n"); @@ -207,12 +207,12 @@ RV_COMPLIANCE_CODE_BEGIN sw x27, 16(x2) sw x28, 20(x2) - RVTEST_IO_ASSERT_EQ(x23, 0x80000000) - RVTEST_IO_ASSERT_EQ(x24, 0x80000001) - RVTEST_IO_ASSERT_EQ(x25, 0x800007FF) - RVTEST_IO_ASSERT_EQ(x26, 0x7FFFFFFF) - RVTEST_IO_ASSERT_EQ(x27, 0x80000000) - RVTEST_IO_ASSERT_EQ(x28, 0x7FFFF800) + RVTEST_IO_ASSERT_GPR_EQ(x23, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x24, 0x80000001) + RVTEST_IO_ASSERT_GPR_EQ(x25, 0x800007FF) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x7FFFFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x80000000) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0x7FFFF800) RVTEST_IO_WRITE_STR("# Test part A5 - Complete\n"); @@ -244,13 +244,13 @@ RV_COMPLIANCE_CODE_BEGIN sw x3, 24(x27) - RVTEST_IO_ASSERT_EQ(x28, 0xABCDFFFF) - RVTEST_IO_ASSERT_EQ(x29, 0xABCDFF80) - RVTEST_IO_ASSERT_EQ(x30, 0xABCDFFBF) - RVTEST_IO_ASSERT_EQ(x31, 0xABCDFFA0) - #RVTEST_IO_ASSERT_EQ(x1, 0x800018F4) - RVTEST_IO_ASSERT_EQ(x2, 0xABCDFFA8) - RVTEST_IO_ASSERT_EQ(x3, 0xABCDFFAB) + RVTEST_IO_ASSERT_GPR_EQ(x28, 0xABCDFFFF) + RVTEST_IO_ASSERT_GPR_EQ(x29, 0xABCDFF80) + RVTEST_IO_ASSERT_GPR_EQ(x30, 0xABCDFFBF) + RVTEST_IO_ASSERT_GPR_EQ(x31, 0xABCDFFA0) + #RVTEST_IO_ASSERT_GPR_EQ(x1, 0x800018F4) + RVTEST_IO_ASSERT_GPR_EQ(x2, 0xABCDFFA8) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0xABCDFFAB) RVTEST_IO_WRITE_STR("# Test part B - Complete\n"); @@ -270,7 +270,7 @@ RV_COMPLIANCE_CODE_BEGIN # Store results sw x0, 0(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("# Test part C - Complete\n"); @@ -292,8 +292,8 @@ RV_COMPLIANCE_CODE_BEGIN sw x0, 0(x2) sw x5, 4(x2) - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) - RVTEST_IO_ASSERT_EQ(x5, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x5, 0x00000000) RVTEST_IO_WRITE_STR("# Test part D - Complete\n"); @@ -324,10 +324,10 @@ RV_COMPLIANCE_CODE_BEGIN sw x26, 8(x2) sw x27, 12(x2) - RVTEST_IO_ASSERT_EQ(x3, 0x36925814) - RVTEST_IO_ASSERT_EQ(x4, 0x36925814) - RVTEST_IO_ASSERT_EQ(x26, 0x36925814) - RVTEST_IO_ASSERT_EQ(x27, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x3, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x4, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x26, 0x36925814) + RVTEST_IO_ASSERT_GPR_EQ(x27, 0x36925814) RVTEST_IO_WRITE_STR("# Test part E - Complete\n"); diff --git a/riscv-test-suite/rv32im/src/DIV.S b/riscv-test-suite/rv32im/src/DIV.S index d284b7b..42f136f 100644 --- a/riscv-test-suite/rv32im/src/DIV.S +++ b/riscv-test-suite/rv32im/src/DIV.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv32im/src/DIVU.S b/riscv-test-suite/rv32im/src/DIVU.S index 2690b75..5e96e33 100644 --- a/riscv-test-suite/rv32im/src/DIVU.S +++ b/riscv-test-suite/rv32im/src/DIVU.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv32im/src/MUL.S b/riscv-test-suite/rv32im/src/MUL.S index 2dd91b8..b6db1c9 100644 --- a/riscv-test-suite/rv32im/src/MUL.S +++ b/riscv-test-suite/rv32im/src/MUL.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv32im/src/MULH.S b/riscv-test-suite/rv32im/src/MULH.S index 990f142..542b882 100644 --- a/riscv-test-suite/rv32im/src/MULH.S +++ b/riscv-test-suite/rv32im/src/MULH.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv32im/src/MULHSU.S b/riscv-test-suite/rv32im/src/MULHSU.S index e34e200..20f50f9 100644 --- a/riscv-test-suite/rv32im/src/MULHSU.S +++ b/riscv-test-suite/rv32im/src/MULHSU.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv32im/src/MULHU.S b/riscv-test-suite/rv32im/src/MULHU.S index 5c98891..9577f42 100644 --- a/riscv-test-suite/rv32im/src/MULHU.S +++ b/riscv-test-suite/rv32im/src/MULHU.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv32im/src/REM.S b/riscv-test-suite/rv32im/src/REM.S index ba8990d..2e6be27 100644 --- a/riscv-test-suite/rv32im/src/REM.S +++ b/riscv-test-suite/rv32im/src/REM.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv32im/src/REMU.S b/riscv-test-suite/rv32im/src/REMU.S index 7dddb50..4f6ebf9 100644 --- a/riscv-test-suite/rv32im/src/REMU.S +++ b/riscv-test-suite/rv32im/src/REMU.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv32imc/Makefrag b/riscv-test-suite/rv32imc/Makefrag index 1f49c5d..c0208ba 100644 --- a/riscv-test-suite/rv32imc/Makefrag +++ b/riscv-test-suite/rv32imc/Makefrag @@ -28,17 +28,24 @@ # Description: Makefrag for RV32IMC compliance tests rv32imc_sc_tests = \ + C.JR \ C.ADD \ + C.XOR \ C.OR \ - C.SUB \ C.MV \ - C.AND \ - C.XOR \ - C.LI \ + C.SRAI \ + C.ANDI \ + C.LW \ + C.SRLI \ + C.ADDI4SPN \ + C.ADDI16SP \ C.LUI \ + C.LI \ C.ADDI \ - C.ANDI \ - C.XOR \ + C.AND \ + C.SUB \ + C.SLLI \ + C.JALR \ rv32imc_tests = $(addsuffix .elf, $(rv32imc_sc_tests)) diff --git a/riscv-test-suite/rv32imc/references/C.ADDI.reference_output b/riscv-test-suite/rv32imc/references/C.ADDI.reference_output index 9577c3c..d3970e3 100644 --- a/riscv-test-suite/rv32imc/references/C.ADDI.reference_output +++ b/riscv-test-suite/rv32imc/references/C.ADDI.reference_output @@ -3,8 +3,8 @@ 00000001000000000000002000000011 000800000000001e0000000f0000000e 0008001e0008000f0008000e00080001 -000080100000800f0000800200008001 -ffffffffffffffffffffffff0000801f +000800100008000f0008000200080001 +ffffffffffffffffffffffff0008001f ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff diff --git a/riscv-test-suite/rv32imc/references/C.ADDI16SP.reference_output b/riscv-test-suite/rv32imc/references/C.ADDI16SP.reference_output new file mode 100644 index 0000000..a50263f --- /dev/null +++ b/riscv-test-suite/rv32imc/references/C.ADDI16SP.reference_output @@ -0,0 +1,13 @@ +ffffffffffffffffffffffff00000001 +ffffffffffffffff00000000ffffffff +ffffffff0000000fffffffffffffffff +0000001fffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff0000001e +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +0000000000000000ffffffffffffffff diff --git a/riscv-test-suite/rv32imc/references/C.ADDI4SPN.reference_output b/riscv-test-suite/rv32imc/references/C.ADDI4SPN.reference_output new file mode 100644 index 0000000..933bd1e --- /dev/null +++ b/riscv-test-suite/rv32imc/references/C.ADDI4SPN.reference_output @@ -0,0 +1,13 @@ +ffffffffffffffffffffffff00000001 +ffffffffffffffffffffffffffffffff +ffffffff0000000fffffffffffffffff +00000010ffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +0000000000000000ffffffffffffffff diff --git a/riscv-test-suite/rv32imc/references/C.JALR.reference_output b/riscv-test-suite/rv32imc/references/C.JALR.reference_output new file mode 100644 index 0000000..facbdb0 --- /dev/null +++ b/riscv-test-suite/rv32imc/references/C.JALR.reference_output @@ -0,0 +1,13 @@ +ffffffffffffffffffffffff00000000 +ffffffffffffffff00000001ffffffff +ffffffffffffffffffffffffffffffff +00007fffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00008000 +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +0000000000000000ffffffffffffffff diff --git a/riscv-test-suite/rv32imc/references/C.JR.reference_output b/riscv-test-suite/rv32imc/references/C.JR.reference_output new file mode 100644 index 0000000..facbdb0 --- /dev/null +++ b/riscv-test-suite/rv32imc/references/C.JR.reference_output @@ -0,0 +1,13 @@ +ffffffffffffffffffffffff00000000 +ffffffffffffffff00000001ffffffff +ffffffffffffffffffffffffffffffff +00007fffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00008000 +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +0000000000000000ffffffffffffffff diff --git a/riscv-test-suite/rv32imc/references/C.LW.reference_output b/riscv-test-suite/rv32imc/references/C.LW.reference_output new file mode 100644 index 0000000..facbdb0 --- /dev/null +++ b/riscv-test-suite/rv32imc/references/C.LW.reference_output @@ -0,0 +1,13 @@ +ffffffffffffffffffffffff00000000 +ffffffffffffffff00000001ffffffff +ffffffffffffffffffffffffffffffff +00007fffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffff00008000 +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +0000000000000000ffffffffffffffff diff --git a/riscv-test-suite/rv32imc/references/C.SLLI.reference_output b/riscv-test-suite/rv32imc/references/C.SLLI.reference_output new file mode 100644 index 0000000..d215d8d --- /dev/null +++ b/riscv-test-suite/rv32imc/references/C.SLLI.reference_output @@ -0,0 +1,13 @@ +00000000000000000000000000000000 +00008000000000040000000200000000 +fffffffcfffffffe0000800000010000 +000ffffeffff8000ffff0000ffff8000 +ffff8000ffff0000ffff8000001ffffc +00000000000000000020000000100000 +ffffffffffffffffffffffff00000000 +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +0000000000000000ffffffffffffffff diff --git a/riscv-test-suite/rv32imc/references/C.SRAI.reference_output b/riscv-test-suite/rv32imc/references/C.SRAI.reference_output new file mode 100644 index 0000000..9b16d1b --- /dev/null +++ b/riscv-test-suite/rv32imc/references/C.SRAI.reference_output @@ -0,0 +1,13 @@ +00000000000000000000000000000000 +00000000000000000000000000000000 +ffffffffffffffff0000000000000000 +0003ffffffffffffffffffffffffffff +0000000f000000070000000f0001ffff +00000008000000100002000000040000 +ffffffffffffffffffffffff00000010 +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +0000000000000000ffffffffffffffff diff --git a/riscv-test-suite/rv32imc/references/C.SRLI.reference_output b/riscv-test-suite/rv32imc/references/C.SRLI.reference_output new file mode 100644 index 0000000..4fe4ba4 --- /dev/null +++ b/riscv-test-suite/rv32imc/references/C.SRLI.reference_output @@ -0,0 +1,13 @@ +00000000000000000000000000000000 +00000000000000000000000000000000 +3fffffff7fffffff0000000000000000 +0003ffff0001ffff0000ffff0001ffff +0000000f000000070000000f0001ffff +00000008000000100002000000040000 +ffffffffffffffffffffffff00000010 +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff +0000000000000000ffffffffffffffff diff --git a/riscv-test-suite/rv32imc/src/C.ADD.S b/riscv-test-suite/rv32imc/src/C.ADD.S index 85f2188..0e346bb 100644 --- a/riscv-test-suite/rv32imc/src/C.ADD.S +++ b/riscv-test-suite/rv32imc/src/C.ADD.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -47,11 +47,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_1_res - TEST_CR_OP(c.add, x17, x18, 0, 0x0, 0x0, x2, 0) - TEST_CR_OP(c.add, x19, x20, 0x1, 0x0, 0x1, x2, 4) - TEST_CR_OP(c.add, x21, x22, 0xffffffff, 0x0, -0x1, x2, 8) - TEST_CR_OP(c.add, x23, x24, 0x7fff, 0x0, 0x7fff, x2, 12) - TEST_CR_OP(c.add, x25, x26, 0x8000, 0x0, 0x8000, x2, 16) + TEST_CR_OP(c.add, x3, x4, 0, 0x0, 0x0, x2, 0) + TEST_CR_OP(c.add, x8, x9, 0x1, 0x0, 0x1, x2, 4) + TEST_CR_OP(c.add, x11, x12, 0xffffffff, 0x0, -0x1, x2, 8) + TEST_CR_OP(c.add, x13, x14, 0x7fff, 0x0, 0x7fff, x2, 12) + TEST_CR_OP(c.add, x15, x16, 0x8000, 0x0, 0x8000, x2, 16) # --------------------------------------------------------------------------------------------- @@ -60,11 +60,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_2_res - TEST_CR_OP(c.add, x27, x28, 0x1, 0x1, 0x0, x2, 0) - TEST_CR_OP(c.add, x29, x30, 0x2, 0x1, 0x1, x2, 4) - TEST_CR_OP(c.add, x31, x3, 0, 0x1, -0x1, x2, 8) - TEST_CR_OP(c.add, x4, x8, 0x8000, 0x1, 0x7fff, x2, 12) - TEST_CR_OP(c.add, x9, x11, 0x8001, 0x1, 0x8000, x2, 16) + TEST_CR_OP(c.add, x17, x18, 0x1, 0x1, 0x0, x2, 0) + TEST_CR_OP(c.add, x19, x20, 0x2, 0x1, 0x1, x2, 4) + TEST_CR_OP(c.add, x21, x22, 0, 0x1, -0x1, x2, 8) + TEST_CR_OP(c.add, x23, x24, 0x8000, 0x1, 0x7fff, x2, 12) + TEST_CR_OP(c.add, x25, x26, 0x8001, 0x1, 0x8000, x2, 16) # --------------------------------------------------------------------------------------------- @@ -73,11 +73,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_3_res - TEST_CR_OP(c.add, x12, x13, 0xffffffff, -0x1, 0x0, x2, 0) - TEST_CR_OP(c.add, x14, x15, 0, -0x1, 0x1, x2, 4) - TEST_CR_OP(c.add, x16, x17, 0xfffffffe, -0x1, -0x1, x2, 8) - TEST_CR_OP(c.add, x18, x19, 0x7ffe, -0x1, 0x7fff, x2, 12) - TEST_CR_OP(c.add, x20, x21, 0x7fff, -0x1, 0x8000, x2, 16) + TEST_CR_OP(c.add, x27, x28, 0xffffffff, -0x1, 0x0, x2, 0) + TEST_CR_OP(c.add, x29, x30, 0, -0x1, 0x1, x2, 4) + TEST_CR_OP(c.add, x31, x3, 0xfffffffe, -0x1, -0x1, x2, 8) + TEST_CR_OP(c.add, x4, x8, 0x7ffe, -0x1, 0x7fff, x2, 12) + TEST_CR_OP(c.add, x9, x11, 0x7fff, -0x1, 0x8000, x2, 16) # --------------------------------------------------------------------------------------------- @@ -86,11 +86,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_4_res - TEST_CR_OP(c.add, x22, x23, 0x7fff, 0x7fff, 0x0, x2, 0) - TEST_CR_OP(c.add, x24, x25, 0x8000, 0x7fff, 0x1, x2, 4) - TEST_CR_OP(c.add, x26, x27, 0x7ffe, 0x7fff, -0x1, x2, 8) - TEST_CR_OP(c.add, x28, x29, 0xfffe, 0x7fff, 0x7fff, x2, 12) - TEST_CR_OP(c.add, x30, x31, 0xffff, 0x7fff, 0x8000, x2, 16) + TEST_CR_OP(c.add, x12, x13, 0x7fff, 0x7fff, 0x0, x2, 0) + TEST_CR_OP(c.add, x14, x15, 0x8000, 0x7fff, 0x1, x2, 4) + TEST_CR_OP(c.add, x16, x17, 0x7ffe, 0x7fff, -0x1, x2, 8) + TEST_CR_OP(c.add, x18, x19, 0xfffe, 0x7fff, 0x7fff, x2, 12) + TEST_CR_OP(c.add, x20, x21, 0xffff, 0x7fff, 0x8000, x2, 16) # --------------------------------------------------------------------------------------------- @@ -99,11 +99,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_5_res - TEST_CR_OP(c.add, x3, x4, 0x8000, 0x8000, 0x0, x2, 0) - TEST_CR_OP(c.add, x8, x9, 0x8001, 0x8000, 0x1, x2, 4) - TEST_CR_OP(c.add, x11, x12, 0x7fff, 0x8000, -0x1, x2, 8) - TEST_CR_OP(c.add, x13, x14, 0xffff, 0x8000, 0x7fff, x2, 12) - TEST_CR_OP(c.add, x15, x16, 0x10000, 0x8000, 0x8000, x2, 16) + TEST_CR_OP(c.add, x22, x23, 0x8000, 0x8000, 0x0, x2, 0) + TEST_CR_OP(c.add, x24, x25, 0x8001, 0x8000, 0x1, x2, 4) + TEST_CR_OP(c.add, x26, x27, 0x7fff, 0x8000, -0x1, x2, 8) + TEST_CR_OP(c.add, x28, x29, 0xffff, 0x8000, 0x7fff, x2, 12) + TEST_CR_OP(c.add, x30, x31, 0x10000, 0x8000, 0x8000, x2, 16) RVTEST_IO_WRITE_STR("Test End\n") diff --git a/riscv-test-suite/rv32imc/src/C.ADDI.S b/riscv-test-suite/rv32imc/src/C.ADDI.S index 1fd8717..58ab9ab 100644 --- a/riscv-test-suite/rv32imc/src/C.ADDI.S +++ b/riscv-test-suite/rv32imc/src/C.ADDI.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -47,11 +47,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_1_res - TEST_CI_OP(c.addi, x17, 0x1, 0x0, 0x1, x2, 0) - TEST_CI_OP(c.addi, x18, 0x2, 0x0, 0x2, x2, 4) - TEST_CI_OP(c.addi, x19, 0xf, 0x0, 0xf, x2, 8) - TEST_CI_OP(c.addi, x20, 0x10, 0x0, 0x10, x2, 12) - TEST_CI_OP(c.addi, x21, 0x1f, 0x0, 0x1f, x2, 16) + TEST_CI_OP(c.addi, x3, 0x1, 0x0, 0x1, x2, 0) + TEST_CI_OP(c.addi, x4, 0x2, 0x0, 0x2, x2, 4) + TEST_CI_OP(c.addi, x8, 0xf, 0x0, 0xf, x2, 8) + TEST_CI_OP(c.addi, x9, 0x10, 0x0, 0x10, x2, 12) + TEST_CI_OP(c.addi, x11, 0x1f, 0x0, 0x1f, x2, 16) # --------------------------------------------------------------------------------------------- @@ -60,11 +60,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_2_res - TEST_CI_OP(c.addi, x22, 0x2, 0x1, 0x1, x2, 0) - TEST_CI_OP(c.addi, x23, 0x3, 0x1, 0x2, x2, 4) - TEST_CI_OP(c.addi, x24, 0x10, 0x1, 0xf, x2, 8) - TEST_CI_OP(c.addi, x25, 0x11, 0x1, 0x10, x2, 12) - TEST_CI_OP(c.addi, x26, 0x20, 0x1, 0x1f, x2, 16) + TEST_CI_OP(c.addi, x12, 0x2, 0x1, 0x1, x2, 0) + TEST_CI_OP(c.addi, x13, 0x3, 0x1, 0x2, x2, 4) + TEST_CI_OP(c.addi, x14, 0x10, 0x1, 0xf, x2, 8) + TEST_CI_OP(c.addi, x15, 0x11, 0x1, 0x10, x2, 12) + TEST_CI_OP(c.addi, x16, 0x20, 0x1, 0x1f, x2, 16) # --------------------------------------------------------------------------------------------- @@ -73,11 +73,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_3_res - TEST_CI_OP(c.addi, x27, 0, -0x1, 0x1, x2, 0) - TEST_CI_OP(c.addi, x28, 0x1, -0x1, 0x2, x2, 4) - TEST_CI_OP(c.addi, x29, 0xe, -0x1, 0xf, x2, 8) - TEST_CI_OP(c.addi, x30, 0xf, -0x1, 0x10, x2, 12) - TEST_CI_OP(c.addi, x31, 0x1e, -0x1, 0x1f, x2, 16) + TEST_CI_OP(c.addi, x17, 0, -0x1, 0x1, x2, 0) + TEST_CI_OP(c.addi, x18, 0x1, -0x1, 0x2, x2, 4) + TEST_CI_OP(c.addi, x19, 0xe, -0x1, 0xf, x2, 8) + TEST_CI_OP(c.addi, x20, 0xf, -0x1, 0x10, x2, 12) + TEST_CI_OP(c.addi, x21, 0x1e, -0x1, 0x1f, x2, 16) # --------------------------------------------------------------------------------------------- @@ -86,11 +86,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_4_res - TEST_CI_OP(c.addi, x3, 0x80000, 0x7ffff, 0x1, x2, 0) - TEST_CI_OP(c.addi, x4, 0x80001, 0x7ffff, 0x2, x2, 4) - TEST_CI_OP(c.addi, x8, 0x8000e, 0x7ffff, 0xf, x2, 8) - TEST_CI_OP(c.addi, x9, 0x8000f, 0x7ffff, 0x10, x2, 12) - TEST_CI_OP(c.addi, x11, 0x8001e, 0x7ffff, 0x1f, x2, 16) + TEST_CI_OP(c.addi, x22, 0x80000, 0x7ffff, 0x1, x2, 0) + TEST_CI_OP(c.addi, x23, 0x80001, 0x7ffff, 0x2, x2, 4) + TEST_CI_OP(c.addi, x24, 0x8000e, 0x7ffff, 0xf, x2, 8) + TEST_CI_OP(c.addi, x25, 0x8000f, 0x7ffff, 0x10, x2, 12) + TEST_CI_OP(c.addi, x26, 0x8001e, 0x7ffff, 0x1f, x2, 16) # --------------------------------------------------------------------------------------------- @@ -99,11 +99,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_5_res - TEST_CI_OP(c.addi, x12, 0x8001, 0x8000, 0x1, x2, 0) - TEST_CI_OP(c.addi, x13, 0x8002, 0x8000, 0x2, x2, 4) - TEST_CI_OP(c.addi, x14, 0x800f, 0x8000, 0xf, x2, 8) - TEST_CI_OP(c.addi, x15, 0x8010, 0x8000, 0x10, x2, 12) - TEST_CI_OP(c.addi, x16, 0x801f, 0x8000, 0x1f, x2, 16) + TEST_CI_OP(c.addi, x27, 0x80001, 0x80000, 0x1, x2, 0) + TEST_CI_OP(c.addi, x28, 0x80002, 0x80000, 0x2, x2, 4) + TEST_CI_OP(c.addi, x29, 0x8000f, 0x80000, 0xf, x2, 8) + TEST_CI_OP(c.addi, x30, 0x80010, 0x80000, 0x10, x2, 12) + TEST_CI_OP(c.addi, x31, 0x8001f, 0x80000, 0x1f, x2, 16) RVTEST_IO_WRITE_STR("Test End\n") diff --git a/riscv-test-suite/rv32imc/src/C.ADDI16SP.S b/riscv-test-suite/rv32imc/src/C.ADDI16SP.S new file mode 100644 index 0000000..f3fd0ae --- /dev/null +++ b/riscv-test-suite/rv32imc/src/C.ADDI16SP.S @@ -0,0 +1,122 @@ +# RISC-V Compliance Test RV32IMC-C.ADDI16SP-01 +# +# Copyright (c) 2018, Imperas Software Ltd. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the Imperas Software Ltd. nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Imperas Software Ltd. BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Specification: RV32IMC Base Integer Instruction Set, Version 2.0 +# Description: Testing instruction C.ADDI16SP. + +#include "test_macros.h" +#include "compliance_test.h" +#include "compliance_io.h" + +RV_COMPLIANCE_RV32M + +RV_COMPLIANCE_CODE_BEGIN + + RVTEST_IO_INIT + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 1 - corner cases\n") + + # address for test results + la x1, test_1_res + + TEST_CADDI16SP( 0x1, 0x1, x1, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 2 - corner cases\n") + + # address for test results + la x1, test_2_res + + TEST_CADDI16SP( 0, -0x1, x1, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 3 - corner cases\n") + + # address for test results + la x1, test_3_res + + TEST_CADDI16SP( 0xf, 0xf, x1, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 4 - corner cases\n") + + # address for test results + la x1, test_4_res + + TEST_CADDI16SP( 0x1f, 0x10, x1, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 5 - corner cases\n") + + # address for test results + la x1, test_5_res + + TEST_CADDI16SP( 0x1e, 0x7ffff, x1, 0) + + RVTEST_IO_WRITE_STR("Test End\n") + + # --------------------------------------------------------------------------------------------- + + RV_COMPLIANCE_HALT + +RV_COMPLIANCE_CODE_END + +# Input data section. + .data + +# Output data section. +RV_COMPLIANCE_DATA_BEGIN +test_1_res: + .fill 5, 4, -1 +test_2_res: + .fill 5, 4, -1 +test_3_res: + .fill 5, 4, -1 +test_4_res: + .fill 5, 4, -1 +test_5_res: + .fill 5, 4, -1 +test_6_res: + .fill 5, 4, -1 +test_7_res: + .fill 5, 4, -1 +test_8_res: + .fill 5, 4, -1 +test_9_res: + .fill 5, 4, -1 +test_10_res: + .fill 5, 4, -1 + +RV_COMPLIANCE_DATA_END \ No newline at end of file diff --git a/riscv-test-suite/rv32imc/src/C.ADDI4SPN.S b/riscv-test-suite/rv32imc/src/C.ADDI4SPN.S new file mode 100644 index 0000000..5203c88 --- /dev/null +++ b/riscv-test-suite/rv32imc/src/C.ADDI4SPN.S @@ -0,0 +1,122 @@ +# RISC-V Compliance Test RV32IMC-C.ADDI4SPN-01 +# +# Copyright (c) 2018, Imperas Software Ltd. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the Imperas Software Ltd. nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Imperas Software Ltd. BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Specification: RV32IMC Base Integer Instruction Set, Version 2.0 +# Description: Testing instruction C.ADDI4SPN. + +#include "test_macros.h" +#include "compliance_test.h" +#include "compliance_io.h" + +RV_COMPLIANCE_RV32M + +RV_COMPLIANCE_CODE_BEGIN + + RVTEST_IO_INIT + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 1 - corner cases\n") + + # address for test results + la x1, test_1_res + + TEST_CADDI4SPN(x3, 0x1, 0x1, x1, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 2 - corner cases\n") + + # address for test results + la x1, test_2_res + + TEST_CADDI4SPN(x4, 0xffffffff, -0x1, x1, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 3 - corner cases\n") + + # address for test results + la x1, test_3_res + + TEST_CADDI4SPN(x8, 0xf, 0xf, x1, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 4 - corner cases\n") + + # address for test results + la x1, test_4_res + + TEST_CADDI4SPN(x9, 0x10, 0x10, x1, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 5 - corner cases\n") + + # address for test results + la x1, test_5_res + + TEST_CADDI4SPN(x11, 0xffffffff, 0x7ffff, x1, 0) + + RVTEST_IO_WRITE_STR("Test End\n") + + # --------------------------------------------------------------------------------------------- + + RV_COMPLIANCE_HALT + +RV_COMPLIANCE_CODE_END + +# Input data section. + .data + +# Output data section. +RV_COMPLIANCE_DATA_BEGIN +test_1_res: + .fill 5, 4, -1 +test_2_res: + .fill 5, 4, -1 +test_3_res: + .fill 5, 4, -1 +test_4_res: + .fill 5, 4, -1 +test_5_res: + .fill 5, 4, -1 +test_6_res: + .fill 5, 4, -1 +test_7_res: + .fill 5, 4, -1 +test_8_res: + .fill 5, 4, -1 +test_9_res: + .fill 5, 4, -1 +test_10_res: + .fill 5, 4, -1 + +RV_COMPLIANCE_DATA_END \ No newline at end of file diff --git a/riscv-test-suite/rv32imc/src/C.AND.S b/riscv-test-suite/rv32imc/src/C.AND.S index d52a6f3..c950f4f 100644 --- a/riscv-test-suite/rv32imc/src/C.AND.S +++ b/riscv-test-suite/rv32imc/src/C.AND.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv32imc/src/C.ANDI.S b/riscv-test-suite/rv32imc/src/C.ANDI.S index de26186..cfed1dd 100644 --- a/riscv-test-suite/rv32imc/src/C.ANDI.S +++ b/riscv-test-suite/rv32imc/src/C.ANDI.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -99,11 +99,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_5_res - TEST_CI_OP(c.andi, x9, 0, 0x8000, 0x0, x2, 0) - TEST_CI_OP(c.andi, x11, 0, 0x8000, 0x1, x2, 4) - TEST_CI_OP(c.andi, x12, 0, 0x8000, 0xf, x2, 8) - TEST_CI_OP(c.andi, x13, 0, 0x8000, 0x10, x2, 12) - TEST_CI_OP(c.andi, x14, 0, 0x8000, 0x1f, x2, 16) + TEST_CI_OP(c.andi, x9, 0, 0x80000, 0x0, x2, 0) + TEST_CI_OP(c.andi, x11, 0, 0x80000, 0x1, x2, 4) + TEST_CI_OP(c.andi, x12, 0, 0x80000, 0xf, x2, 8) + TEST_CI_OP(c.andi, x13, 0, 0x80000, 0x10, x2, 12) + TEST_CI_OP(c.andi, x14, 0, 0x80000, 0x1f, x2, 16) RVTEST_IO_WRITE_STR("Test End\n") diff --git a/riscv-test-suite/rv32imc/src/C.JALR.S b/riscv-test-suite/rv32imc/src/C.JALR.S new file mode 100644 index 0000000..7c63176 --- /dev/null +++ b/riscv-test-suite/rv32imc/src/C.JALR.S @@ -0,0 +1,122 @@ +# RISC-V Compliance Test RV32IMC-C.JALR-01 +# +# Copyright (c) 2018, Imperas Software Ltd. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the Imperas Software Ltd. nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Imperas Software Ltd. BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Specification: RV32IMC Base Integer Instruction Set, Version 2.0 +# Description: Testing instruction C.JALR. + +#include "test_macros.h" +#include "compliance_test.h" +#include "compliance_io.h" + +RV_COMPLIANCE_RV32M + +RV_COMPLIANCE_CODE_BEGIN + + RVTEST_IO_INIT + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 1 - corner cases\n") + + # address for test results + la x2, test_1_res + + TEST_CJ(c.jalr, x12, 0x0, x2, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 2 - corner cases\n") + + # address for test results + la x2, test_2_res + + TEST_CJ(c.jalr, x13, 0x1, x2, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 3 - corner cases\n") + + # address for test results + la x2, test_3_res + + TEST_CJ(c.jalr, x14, -0x1, x2, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 4 - corner cases\n") + + # address for test results + la x2, test_4_res + + TEST_CJ(c.jalr, x15, 0x7fff, x2, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 5 - corner cases\n") + + # address for test results + la x2, test_5_res + + TEST_CJ(c.jalr, x16, 0x8000, x2, 0) + + RVTEST_IO_WRITE_STR("Test End\n") + + # --------------------------------------------------------------------------------------------- + + RV_COMPLIANCE_HALT + +RV_COMPLIANCE_CODE_END + +# Input data section. + .data + +# Output data section. +RV_COMPLIANCE_DATA_BEGIN +test_1_res: + .fill 5, 4, -1 +test_2_res: + .fill 5, 4, -1 +test_3_res: + .fill 5, 4, -1 +test_4_res: + .fill 5, 4, -1 +test_5_res: + .fill 5, 4, -1 +test_6_res: + .fill 5, 4, -1 +test_7_res: + .fill 5, 4, -1 +test_8_res: + .fill 5, 4, -1 +test_9_res: + .fill 5, 4, -1 +test_10_res: + .fill 5, 4, -1 + +RV_COMPLIANCE_DATA_END \ No newline at end of file diff --git a/riscv-test-suite/rv32imc/src/C.JR.S b/riscv-test-suite/rv32imc/src/C.JR.S new file mode 100644 index 0000000..17e63a5 --- /dev/null +++ b/riscv-test-suite/rv32imc/src/C.JR.S @@ -0,0 +1,122 @@ +# RISC-V Compliance Test RV32IMC-C.JR-01 +# +# Copyright (c) 2018, Imperas Software Ltd. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the Imperas Software Ltd. nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Imperas Software Ltd. BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Specification: RV32IMC Base Integer Instruction Set, Version 2.0 +# Description: Testing instruction C.JR. + +#include "test_macros.h" +#include "compliance_test.h" +#include "compliance_io.h" + +RV_COMPLIANCE_RV32M + +RV_COMPLIANCE_CODE_BEGIN + + RVTEST_IO_INIT + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 1 - corner cases\n") + + # address for test results + la x2, test_1_res + + TEST_CJ(c.jr, x3, 0x0, x2, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 2 - corner cases\n") + + # address for test results + la x2, test_2_res + + TEST_CJ(c.jr, x4, 0x1, x2, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 3 - corner cases\n") + + # address for test results + la x2, test_3_res + + TEST_CJ(c.jr, x8, -0x1, x2, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 4 - corner cases\n") + + # address for test results + la x2, test_4_res + + TEST_CJ(c.jr, x9, 0x7fff, x2, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 5 - corner cases\n") + + # address for test results + la x2, test_5_res + + TEST_CJ(c.jr, x11, 0x8000, x2, 0) + + RVTEST_IO_WRITE_STR("Test End\n") + + # --------------------------------------------------------------------------------------------- + + RV_COMPLIANCE_HALT + +RV_COMPLIANCE_CODE_END + +# Input data section. + .data + +# Output data section. +RV_COMPLIANCE_DATA_BEGIN +test_1_res: + .fill 5, 4, -1 +test_2_res: + .fill 5, 4, -1 +test_3_res: + .fill 5, 4, -1 +test_4_res: + .fill 5, 4, -1 +test_5_res: + .fill 5, 4, -1 +test_6_res: + .fill 5, 4, -1 +test_7_res: + .fill 5, 4, -1 +test_8_res: + .fill 5, 4, -1 +test_9_res: + .fill 5, 4, -1 +test_10_res: + .fill 5, 4, -1 + +RV_COMPLIANCE_DATA_END \ No newline at end of file diff --git a/riscv-test-suite/rv32imc/src/C.LI.S b/riscv-test-suite/rv32imc/src/C.LI.S index 6364d21..8b352dd 100644 --- a/riscv-test-suite/rv32imc/src/C.LI.S +++ b/riscv-test-suite/rv32imc/src/C.LI.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -47,11 +47,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_1_res - TEST_CI_OP(c.li, x17, 0, 0x0, 0x0, x2, 0) - TEST_CI_OP(c.li, x18, 0x1, 0x0, 0x1, x2, 4) - TEST_CI_OP(c.li, x19, 0xf, 0x0, 0xf, x2, 8) - TEST_CI_OP(c.li, x20, 0x10, 0x0, 0x10, x2, 12) - TEST_CI_OP(c.li, x21, 0x1f, 0x0, 0x1f, x2, 16) + TEST_CI_OP(c.li, x3, 0, 0x0, 0x0, x2, 0) + TEST_CI_OP(c.li, x4, 0x1, 0x0, 0x1, x2, 4) + TEST_CI_OP(c.li, x8, 0xf, 0x0, 0xf, x2, 8) + TEST_CI_OP(c.li, x9, 0x10, 0x0, 0x10, x2, 12) + TEST_CI_OP(c.li, x11, 0x1f, 0x0, 0x1f, x2, 16) # --------------------------------------------------------------------------------------------- @@ -60,11 +60,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_2_res - TEST_CI_OP(c.li, x22, 0, 0x1, 0x0, x2, 0) - TEST_CI_OP(c.li, x23, 0x1, 0x1, 0x1, x2, 4) - TEST_CI_OP(c.li, x24, 0xf, 0x1, 0xf, x2, 8) - TEST_CI_OP(c.li, x25, 0x10, 0x1, 0x10, x2, 12) - TEST_CI_OP(c.li, x26, 0x1f, 0x1, 0x1f, x2, 16) + TEST_CI_OP(c.li, x12, 0, 0x1, 0x0, x2, 0) + TEST_CI_OP(c.li, x13, 0x1, 0x1, 0x1, x2, 4) + TEST_CI_OP(c.li, x14, 0xf, 0x1, 0xf, x2, 8) + TEST_CI_OP(c.li, x15, 0x10, 0x1, 0x10, x2, 12) + TEST_CI_OP(c.li, x16, 0x1f, 0x1, 0x1f, x2, 16) # --------------------------------------------------------------------------------------------- @@ -73,11 +73,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_3_res - TEST_CI_OP(c.li, x27, 0, -0x1, 0x0, x2, 0) - TEST_CI_OP(c.li, x28, 0x1, -0x1, 0x1, x2, 4) - TEST_CI_OP(c.li, x29, 0xf, -0x1, 0xf, x2, 8) - TEST_CI_OP(c.li, x30, 0x10, -0x1, 0x10, x2, 12) - TEST_CI_OP(c.li, x31, 0x1f, -0x1, 0x1f, x2, 16) + TEST_CI_OP(c.li, x17, 0, -0x1, 0x0, x2, 0) + TEST_CI_OP(c.li, x18, 0x1, -0x1, 0x1, x2, 4) + TEST_CI_OP(c.li, x19, 0xf, -0x1, 0xf, x2, 8) + TEST_CI_OP(c.li, x20, 0x10, -0x1, 0x10, x2, 12) + TEST_CI_OP(c.li, x21, 0x1f, -0x1, 0x1f, x2, 16) # --------------------------------------------------------------------------------------------- @@ -86,11 +86,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_4_res - TEST_CI_OP(c.li, x3, 0, 0x7ffff, 0x0, x2, 0) - TEST_CI_OP(c.li, x4, 0x1, 0x7ffff, 0x1, x2, 4) - TEST_CI_OP(c.li, x8, 0xf, 0x7ffff, 0xf, x2, 8) - TEST_CI_OP(c.li, x9, 0x10, 0x7ffff, 0x10, x2, 12) - TEST_CI_OP(c.li, x11, 0x1f, 0x7ffff, 0x1f, x2, 16) + TEST_CI_OP(c.li, x22, 0, 0x7ffff, 0x0, x2, 0) + TEST_CI_OP(c.li, x23, 0x1, 0x7ffff, 0x1, x2, 4) + TEST_CI_OP(c.li, x24, 0xf, 0x7ffff, 0xf, x2, 8) + TEST_CI_OP(c.li, x25, 0x10, 0x7ffff, 0x10, x2, 12) + TEST_CI_OP(c.li, x26, 0x1f, 0x7ffff, 0x1f, x2, 16) # --------------------------------------------------------------------------------------------- @@ -99,11 +99,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_5_res - TEST_CI_OP(c.li, x12, 0, 0x8000, 0x0, x2, 0) - TEST_CI_OP(c.li, x13, 0x1, 0x8000, 0x1, x2, 4) - TEST_CI_OP(c.li, x14, 0xf, 0x8000, 0xf, x2, 8) - TEST_CI_OP(c.li, x15, 0x10, 0x8000, 0x10, x2, 12) - TEST_CI_OP(c.li, x16, 0x1f, 0x8000, 0x1f, x2, 16) + TEST_CI_OP(c.li, x27, 0, 0x80000, 0x0, x2, 0) + TEST_CI_OP(c.li, x28, 0x1, 0x80000, 0x1, x2, 4) + TEST_CI_OP(c.li, x29, 0xf, 0x80000, 0xf, x2, 8) + TEST_CI_OP(c.li, x30, 0x10, 0x80000, 0x10, x2, 12) + TEST_CI_OP(c.li, x31, 0x1f, 0x80000, 0x1f, x2, 16) RVTEST_IO_WRITE_STR("Test End\n") diff --git a/riscv-test-suite/rv32imc/src/C.LUI.S b/riscv-test-suite/rv32imc/src/C.LUI.S index 36d74fb..2ac6eda 100644 --- a/riscv-test-suite/rv32imc/src/C.LUI.S +++ b/riscv-test-suite/rv32imc/src/C.LUI.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -47,11 +47,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_1_res - TEST_CI_OP(c.lui, x17, 0x1000, 0x0, 0x1, x2, 0) - TEST_CI_OP(c.lui, x18, 0x2000, 0x0, 0x2, x2, 4) - TEST_CI_OP(c.lui, x19, 0xf000, 0x0, 0xf, x2, 8) - TEST_CI_OP(c.lui, x20, 0x10000, 0x0, 0x10, x2, 12) - TEST_CI_OP(c.lui, x21, 0xf000, 0x0, 0xf, x2, 16) + TEST_CI_OP(c.lui, x3, 0x1000, 0x0, 0x1, x2, 0) + TEST_CI_OP(c.lui, x4, 0x2000, 0x0, 0x2, x2, 4) + TEST_CI_OP(c.lui, x8, 0xf000, 0x0, 0xf, x2, 8) + TEST_CI_OP(c.lui, x9, 0x10000, 0x0, 0x10, x2, 12) + TEST_CI_OP(c.lui, x11, 0xf000, 0x0, 0xf, x2, 16) # --------------------------------------------------------------------------------------------- @@ -60,11 +60,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_2_res - TEST_CI_OP(c.lui, x22, 0x1000, 0x1, 0x1, x2, 0) - TEST_CI_OP(c.lui, x23, 0x2000, 0x1, 0x2, x2, 4) - TEST_CI_OP(c.lui, x24, 0xf000, 0x1, 0xf, x2, 8) - TEST_CI_OP(c.lui, x25, 0x10000, 0x1, 0x10, x2, 12) - TEST_CI_OP(c.lui, x26, 0xf000, 0x1, 0xf, x2, 16) + TEST_CI_OP(c.lui, x12, 0x1000, 0x1, 0x1, x2, 0) + TEST_CI_OP(c.lui, x13, 0x2000, 0x1, 0x2, x2, 4) + TEST_CI_OP(c.lui, x14, 0xf000, 0x1, 0xf, x2, 8) + TEST_CI_OP(c.lui, x15, 0x10000, 0x1, 0x10, x2, 12) + TEST_CI_OP(c.lui, x16, 0xf000, 0x1, 0xf, x2, 16) # --------------------------------------------------------------------------------------------- @@ -73,11 +73,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_3_res - TEST_CI_OP(c.lui, x27, 0x1000, -0x1, 0x1, x2, 0) - TEST_CI_OP(c.lui, x28, 0x2000, -0x1, 0x2, x2, 4) - TEST_CI_OP(c.lui, x29, 0xf000, -0x1, 0xf, x2, 8) - TEST_CI_OP(c.lui, x30, 0x10000, -0x1, 0x10, x2, 12) - TEST_CI_OP(c.lui, x31, 0xf000, -0x1, 0xf, x2, 16) + TEST_CI_OP(c.lui, x17, 0x1000, -0x1, 0x1, x2, 0) + TEST_CI_OP(c.lui, x18, 0x2000, -0x1, 0x2, x2, 4) + TEST_CI_OP(c.lui, x19, 0xf000, -0x1, 0xf, x2, 8) + TEST_CI_OP(c.lui, x20, 0x10000, -0x1, 0x10, x2, 12) + TEST_CI_OP(c.lui, x21, 0xf000, -0x1, 0xf, x2, 16) # --------------------------------------------------------------------------------------------- @@ -86,11 +86,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_4_res - TEST_CI_OP(c.lui, x3, 0x1000, 0x7ffff, 0x1, x2, 0) - TEST_CI_OP(c.lui, x4, 0x2000, 0x7ffff, 0x2, x2, 4) - TEST_CI_OP(c.lui, x8, 0xf000, 0x7ffff, 0xf, x2, 8) - TEST_CI_OP(c.lui, x9, 0x10000, 0x7ffff, 0x10, x2, 12) - TEST_CI_OP(c.lui, x11, 0xf000, 0x7ffff, 0xf, x2, 16) + TEST_CI_OP(c.lui, x22, 0x1000, 0x7ffff, 0x1, x2, 0) + TEST_CI_OP(c.lui, x23, 0x2000, 0x7ffff, 0x2, x2, 4) + TEST_CI_OP(c.lui, x24, 0xf000, 0x7ffff, 0xf, x2, 8) + TEST_CI_OP(c.lui, x25, 0x10000, 0x7ffff, 0x10, x2, 12) + TEST_CI_OP(c.lui, x26, 0xf000, 0x7ffff, 0xf, x2, 16) # --------------------------------------------------------------------------------------------- @@ -99,11 +99,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_5_res - TEST_CI_OP(c.lui, x12, 0x1000, 0x8000, 0x1, x2, 0) - TEST_CI_OP(c.lui, x13, 0x2000, 0x8000, 0x2, x2, 4) - TEST_CI_OP(c.lui, x14, 0xf000, 0x8000, 0xf, x2, 8) - TEST_CI_OP(c.lui, x15, 0x10000, 0x8000, 0x10, x2, 12) - TEST_CI_OP(c.lui, x16, 0xf000, 0x8000, 0xf, x2, 16) + TEST_CI_OP(c.lui, x27, 0x1000, 0x80000, 0x1, x2, 0) + TEST_CI_OP(c.lui, x28, 0x2000, 0x80000, 0x2, x2, 4) + TEST_CI_OP(c.lui, x29, 0xf000, 0x80000, 0xf, x2, 8) + TEST_CI_OP(c.lui, x30, 0x10000, 0x80000, 0x10, x2, 12) + TEST_CI_OP(c.lui, x31, 0xf000, 0x80000, 0xf, x2, 16) RVTEST_IO_WRITE_STR("Test End\n") diff --git a/riscv-test-suite/rv32imc/src/C.LW.S b/riscv-test-suite/rv32imc/src/C.LW.S new file mode 100644 index 0000000..9a27667 --- /dev/null +++ b/riscv-test-suite/rv32imc/src/C.LW.S @@ -0,0 +1,122 @@ +# RISC-V Compliance Test RV32IMC-C.LW-01 +# +# Copyright (c) 2018, Imperas Software Ltd. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the Imperas Software Ltd. nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Imperas Software Ltd. BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Specification: RV32IMC Base Integer Instruction Set, Version 2.0 +# Description: Testing instruction C.LW. + +#include "test_macros.h" +#include "compliance_test.h" +#include "compliance_io.h" + +RV_COMPLIANCE_RV32M + +RV_COMPLIANCE_CODE_BEGIN + + RVTEST_IO_INIT + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 1 - corner cases\n") + + # address for test results + la x2, test_1_res + + TEST_CL(0, c.lw, x8, 0x0, x2, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 2 - corner cases\n") + + # address for test results + la x2, test_2_res + + TEST_CL(1, c.lw, x9, 0x1, x2, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 3 - corner cases\n") + + # address for test results + la x2, test_3_res + + TEST_CL(2, c.lw, x11, -0x1, x2, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 4 - corner cases\n") + + # address for test results + la x2, test_4_res + + TEST_CL(3, c.lw, x12, 0x7fff, x2, 0) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 5 - corner cases\n") + + # address for test results + la x2, test_5_res + + TEST_CL(4, c.lw, x13, 0x8000, x2, 0) + + RVTEST_IO_WRITE_STR("Test End\n") + + # --------------------------------------------------------------------------------------------- + + RV_COMPLIANCE_HALT + +RV_COMPLIANCE_CODE_END + +# Input data section. + .data + +# Output data section. +RV_COMPLIANCE_DATA_BEGIN +test_1_res: + .fill 5, 4, -1 +test_2_res: + .fill 5, 4, -1 +test_3_res: + .fill 5, 4, -1 +test_4_res: + .fill 5, 4, -1 +test_5_res: + .fill 5, 4, -1 +test_6_res: + .fill 5, 4, -1 +test_7_res: + .fill 5, 4, -1 +test_8_res: + .fill 5, 4, -1 +test_9_res: + .fill 5, 4, -1 +test_10_res: + .fill 5, 4, -1 + +RV_COMPLIANCE_DATA_END \ No newline at end of file diff --git a/riscv-test-suite/rv32imc/src/C.MV.S b/riscv-test-suite/rv32imc/src/C.MV.S index 13d75d2..809ec9d 100644 --- a/riscv-test-suite/rv32imc/src/C.MV.S +++ b/riscv-test-suite/rv32imc/src/C.MV.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- @@ -47,11 +47,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_1_res - TEST_CR_OP(c.mv, x17, x18, 0, 0x0, 0x0, x2, 0) - TEST_CR_OP(c.mv, x19, x20, 0, 0x0, 0x1, x2, 4) - TEST_CR_OP(c.mv, x21, x22, 0, 0x0, -0x1, x2, 8) - TEST_CR_OP(c.mv, x23, x24, 0, 0x0, 0x7fff, x2, 12) - TEST_CR_OP(c.mv, x25, x26, 0, 0x0, 0x8000, x2, 16) + TEST_CR_OP(c.mv, x3, x4, 0, 0x0, 0x0, x2, 0) + TEST_CR_OP(c.mv, x8, x9, 0, 0x0, 0x1, x2, 4) + TEST_CR_OP(c.mv, x11, x12, 0, 0x0, -0x1, x2, 8) + TEST_CR_OP(c.mv, x13, x14, 0, 0x0, 0x7fff, x2, 12) + TEST_CR_OP(c.mv, x15, x16, 0, 0x0, 0x8000, x2, 16) # --------------------------------------------------------------------------------------------- @@ -60,11 +60,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_2_res - TEST_CR_OP(c.mv, x27, x28, 0x1, 0x1, 0x0, x2, 0) - TEST_CR_OP(c.mv, x29, x30, 0x1, 0x1, 0x1, x2, 4) - TEST_CR_OP(c.mv, x31, x3, 0x1, 0x1, -0x1, x2, 8) - TEST_CR_OP(c.mv, x4, x8, 0x1, 0x1, 0x7fff, x2, 12) - TEST_CR_OP(c.mv, x9, x11, 0x1, 0x1, 0x8000, x2, 16) + TEST_CR_OP(c.mv, x17, x18, 0x1, 0x1, 0x0, x2, 0) + TEST_CR_OP(c.mv, x19, x20, 0x1, 0x1, 0x1, x2, 4) + TEST_CR_OP(c.mv, x21, x22, 0x1, 0x1, -0x1, x2, 8) + TEST_CR_OP(c.mv, x23, x24, 0x1, 0x1, 0x7fff, x2, 12) + TEST_CR_OP(c.mv, x25, x26, 0x1, 0x1, 0x8000, x2, 16) # --------------------------------------------------------------------------------------------- @@ -73,11 +73,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_3_res - TEST_CR_OP(c.mv, x12, x13, 0xffffffff, -0x1, 0x0, x2, 0) - TEST_CR_OP(c.mv, x14, x15, 0xffffffff, -0x1, 0x1, x2, 4) - TEST_CR_OP(c.mv, x16, x17, 0xffffffff, -0x1, -0x1, x2, 8) - TEST_CR_OP(c.mv, x18, x19, 0xffffffff, -0x1, 0x7fff, x2, 12) - TEST_CR_OP(c.mv, x20, x21, 0xffffffff, -0x1, 0x8000, x2, 16) + TEST_CR_OP(c.mv, x27, x28, 0xffffffff, -0x1, 0x0, x2, 0) + TEST_CR_OP(c.mv, x29, x30, 0xffffffff, -0x1, 0x1, x2, 4) + TEST_CR_OP(c.mv, x31, x3, 0xffffffff, -0x1, -0x1, x2, 8) + TEST_CR_OP(c.mv, x4, x8, 0xffffffff, -0x1, 0x7fff, x2, 12) + TEST_CR_OP(c.mv, x9, x11, 0xffffffff, -0x1, 0x8000, x2, 16) # --------------------------------------------------------------------------------------------- @@ -86,11 +86,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_4_res - TEST_CR_OP(c.mv, x22, x23, 0x7fff, 0x7fff, 0x0, x2, 0) - TEST_CR_OP(c.mv, x24, x25, 0x7fff, 0x7fff, 0x1, x2, 4) - TEST_CR_OP(c.mv, x26, x27, 0x7fff, 0x7fff, -0x1, x2, 8) - TEST_CR_OP(c.mv, x28, x29, 0x7fff, 0x7fff, 0x7fff, x2, 12) - TEST_CR_OP(c.mv, x30, x31, 0x7fff, 0x7fff, 0x8000, x2, 16) + TEST_CR_OP(c.mv, x12, x13, 0x7fff, 0x7fff, 0x0, x2, 0) + TEST_CR_OP(c.mv, x14, x15, 0x7fff, 0x7fff, 0x1, x2, 4) + TEST_CR_OP(c.mv, x16, x17, 0x7fff, 0x7fff, -0x1, x2, 8) + TEST_CR_OP(c.mv, x18, x19, 0x7fff, 0x7fff, 0x7fff, x2, 12) + TEST_CR_OP(c.mv, x20, x21, 0x7fff, 0x7fff, 0x8000, x2, 16) # --------------------------------------------------------------------------------------------- @@ -99,11 +99,11 @@ RV_COMPLIANCE_CODE_BEGIN # address for test results la x2, test_5_res - TEST_CR_OP(c.mv, x3, x4, 0x8000, 0x8000, 0x0, x2, 0) - TEST_CR_OP(c.mv, x8, x9, 0x8000, 0x8000, 0x1, x2, 4) - TEST_CR_OP(c.mv, x11, x12, 0x8000, 0x8000, -0x1, x2, 8) - TEST_CR_OP(c.mv, x13, x14, 0x8000, 0x8000, 0x7fff, x2, 12) - TEST_CR_OP(c.mv, x15, x16, 0x8000, 0x8000, 0x8000, x2, 16) + TEST_CR_OP(c.mv, x22, x23, 0x8000, 0x8000, 0x0, x2, 0) + TEST_CR_OP(c.mv, x24, x25, 0x8000, 0x8000, 0x1, x2, 4) + TEST_CR_OP(c.mv, x26, x27, 0x8000, 0x8000, -0x1, x2, 8) + TEST_CR_OP(c.mv, x28, x29, 0x8000, 0x8000, 0x7fff, x2, 12) + TEST_CR_OP(c.mv, x30, x31, 0x8000, 0x8000, 0x8000, x2, 16) RVTEST_IO_WRITE_STR("Test End\n") diff --git a/riscv-test-suite/rv32imc/src/C.OR.S b/riscv-test-suite/rv32imc/src/C.OR.S index 89ff362..4f64e76 100644 --- a/riscv-test-suite/rv32imc/src/C.OR.S +++ b/riscv-test-suite/rv32imc/src/C.OR.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv32imc/src/C.SLLI.S b/riscv-test-suite/rv32imc/src/C.SLLI.S new file mode 100644 index 0000000..4e40c07 --- /dev/null +++ b/riscv-test-suite/rv32imc/src/C.SLLI.S @@ -0,0 +1,142 @@ +# RISC-V Compliance Test RV32IMC-C.SLLI-01 +# +# Copyright (c) 2018, Imperas Software Ltd. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the Imperas Software Ltd. nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Imperas Software Ltd. BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Specification: RV32IMC Base Integer Instruction Set, Version 2.0 +# Description: Testing instruction C.SLLI. + +#include "test_macros.h" +#include "compliance_test.h" +#include "compliance_io.h" + +RV_COMPLIANCE_RV32M + +RV_COMPLIANCE_CODE_BEGIN + + RVTEST_IO_INIT + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 1 - corner cases\n") + + # address for test results + la x2, test_1_res + + TEST_CI_OP(c.slli, x12, 0, 0x0, 0x1, x2, 0) + TEST_CI_OP(c.slli, x13, 0, 0x0, 0x2, x2, 4) + TEST_CI_OP(c.slli, x14, 0, 0x0, 0xf, x2, 8) + TEST_CI_OP(c.slli, x15, 0, 0x0, 0x10, x2, 12) + TEST_CI_OP(c.slli, x16, 0, 0x0, 0xf, x2, 16) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 2 - corner cases\n") + + # address for test results + la x2, test_2_res + + TEST_CI_OP(c.slli, x17, 0x2, 0x1, 0x1, x2, 0) + TEST_CI_OP(c.slli, x18, 0x4, 0x1, 0x2, x2, 4) + TEST_CI_OP(c.slli, x19, 0x8000, 0x1, 0xf, x2, 8) + TEST_CI_OP(c.slli, x20, 0x10000, 0x1, 0x10, x2, 12) + TEST_CI_OP(c.slli, x21, 0x8000, 0x1, 0xf, x2, 16) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 3 - corner cases\n") + + # address for test results + la x2, test_3_res + + TEST_CI_OP(c.slli, x22, 0xfffffffe, -0x1, 0x1, x2, 0) + TEST_CI_OP(c.slli, x23, 0xfffffffc, -0x1, 0x2, x2, 4) + TEST_CI_OP(c.slli, x24, 0xffff8000, -0x1, 0xf, x2, 8) + TEST_CI_OP(c.slli, x25, 0xffff0000, -0x1, 0x10, x2, 12) + TEST_CI_OP(c.slli, x26, 0xffff8000, -0x1, 0xf, x2, 16) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 4 - corner cases\n") + + # address for test results + la x2, test_4_res + + TEST_CI_OP(c.slli, x27, 0xffffe, 0x7ffff, 0x1, x2, 0) + TEST_CI_OP(c.slli, x28, 0x1ffffc, 0x7ffff, 0x2, x2, 4) + TEST_CI_OP(c.slli, x29, 0xffff8000, 0x7ffff, 0xf, x2, 8) + TEST_CI_OP(c.slli, x30, 0xffff0000, 0x7ffff, 0x10, x2, 12) + TEST_CI_OP(c.slli, x31, 0xffff8000, 0x7ffff, 0xf, x2, 16) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 5 - corner cases\n") + + # address for test results + la x2, test_5_res + + TEST_CI_OP(c.slli, x3, 0x100000, 0x80000, 0x1, x2, 0) + TEST_CI_OP(c.slli, x4, 0x200000, 0x80000, 0x2, x2, 4) + TEST_CI_OP(c.slli, x8, 0, 0x80000, 0xf, x2, 8) + TEST_CI_OP(c.slli, x9, 0, 0x80000, 0x10, x2, 12) + TEST_CI_OP(c.slli, x11, 0, 0x80000, 0xf, x2, 16) + + RVTEST_IO_WRITE_STR("Test End\n") + + # --------------------------------------------------------------------------------------------- + + RV_COMPLIANCE_HALT + +RV_COMPLIANCE_CODE_END + +# Input data section. + .data + +# Output data section. +RV_COMPLIANCE_DATA_BEGIN +test_1_res: + .fill 5, 4, -1 +test_2_res: + .fill 5, 4, -1 +test_3_res: + .fill 5, 4, -1 +test_4_res: + .fill 5, 4, -1 +test_5_res: + .fill 5, 4, -1 +test_6_res: + .fill 5, 4, -1 +test_7_res: + .fill 5, 4, -1 +test_8_res: + .fill 5, 4, -1 +test_9_res: + .fill 5, 4, -1 +test_10_res: + .fill 5, 4, -1 + +RV_COMPLIANCE_DATA_END \ No newline at end of file diff --git a/riscv-test-suite/rv32imc/src/C.SRAI.S b/riscv-test-suite/rv32imc/src/C.SRAI.S new file mode 100644 index 0000000..fb78633 --- /dev/null +++ b/riscv-test-suite/rv32imc/src/C.SRAI.S @@ -0,0 +1,142 @@ +# RISC-V Compliance Test RV32IMC-C.SRAI-01 +# +# Copyright (c) 2018, Imperas Software Ltd. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the Imperas Software Ltd. nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Imperas Software Ltd. BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Specification: RV32IMC Base Integer Instruction Set, Version 2.0 +# Description: Testing instruction C.SRAI. + +#include "test_macros.h" +#include "compliance_test.h" +#include "compliance_io.h" + +RV_COMPLIANCE_RV32M + +RV_COMPLIANCE_CODE_BEGIN + + RVTEST_IO_INIT + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 1 - corner cases\n") + + # address for test results + la x2, test_1_res + + TEST_CI_OP(c.srai, x9, 0, 0x0, 0x1, x2, 0) + TEST_CI_OP(c.srai, x11, 0, 0x0, 0x2, x2, 4) + TEST_CI_OP(c.srai, x12, 0, 0x0, 0xf, x2, 8) + TEST_CI_OP(c.srai, x13, 0, 0x0, 0x10, x2, 12) + TEST_CI_OP(c.srai, x14, 0, 0x0, 0xf, x2, 16) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 2 - corner cases\n") + + # address for test results + la x2, test_2_res + + TEST_CI_OP(c.srai, x15, 0, 0x1, 0x1, x2, 0) + TEST_CI_OP(c.srai, x8, 0, 0x1, 0x2, x2, 4) + TEST_CI_OP(c.srai, x9, 0, 0x1, 0xf, x2, 8) + TEST_CI_OP(c.srai, x11, 0, 0x1, 0x10, x2, 12) + TEST_CI_OP(c.srai, x12, 0, 0x1, 0xf, x2, 16) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 3 - corner cases\n") + + # address for test results + la x2, test_3_res + + TEST_CI_OP(c.srai, x13, 0xffffffff, -0x1, 0x1, x2, 0) + TEST_CI_OP(c.srai, x14, 0xffffffff, -0x1, 0x2, x2, 4) + TEST_CI_OP(c.srai, x15, 0xffffffff, -0x1, 0xf, x2, 8) + TEST_CI_OP(c.srai, x8, 0xffffffff, -0x1, 0x10, x2, 12) + TEST_CI_OP(c.srai, x9, 0xffffffff, -0x1, 0xf, x2, 16) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 4 - corner cases\n") + + # address for test results + la x2, test_4_res + + TEST_CI_OP(c.srai, x11, 0x3ffff, 0x7ffff, 0x1, x2, 0) + TEST_CI_OP(c.srai, x12, 0x1ffff, 0x7ffff, 0x2, x2, 4) + TEST_CI_OP(c.srai, x13, 0xf, 0x7ffff, 0xf, x2, 8) + TEST_CI_OP(c.srai, x14, 0x7, 0x7ffff, 0x10, x2, 12) + TEST_CI_OP(c.srai, x15, 0xf, 0x7ffff, 0xf, x2, 16) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 5 - corner cases\n") + + # address for test results + la x2, test_5_res + + TEST_CI_OP(c.srai, x8, 0x40000, 0x80000, 0x1, x2, 0) + TEST_CI_OP(c.srai, x9, 0x20000, 0x80000, 0x2, x2, 4) + TEST_CI_OP(c.srai, x11, 0x10, 0x80000, 0xf, x2, 8) + TEST_CI_OP(c.srai, x12, 0x8, 0x80000, 0x10, x2, 12) + TEST_CI_OP(c.srai, x13, 0x10, 0x80000, 0xf, x2, 16) + + RVTEST_IO_WRITE_STR("Test End\n") + + # --------------------------------------------------------------------------------------------- + + RV_COMPLIANCE_HALT + +RV_COMPLIANCE_CODE_END + +# Input data section. + .data + +# Output data section. +RV_COMPLIANCE_DATA_BEGIN +test_1_res: + .fill 5, 4, -1 +test_2_res: + .fill 5, 4, -1 +test_3_res: + .fill 5, 4, -1 +test_4_res: + .fill 5, 4, -1 +test_5_res: + .fill 5, 4, -1 +test_6_res: + .fill 5, 4, -1 +test_7_res: + .fill 5, 4, -1 +test_8_res: + .fill 5, 4, -1 +test_9_res: + .fill 5, 4, -1 +test_10_res: + .fill 5, 4, -1 + +RV_COMPLIANCE_DATA_END \ No newline at end of file diff --git a/riscv-test-suite/rv32imc/src/C.SRLI.S b/riscv-test-suite/rv32imc/src/C.SRLI.S new file mode 100644 index 0000000..b270181 --- /dev/null +++ b/riscv-test-suite/rv32imc/src/C.SRLI.S @@ -0,0 +1,142 @@ +# RISC-V Compliance Test RV32IMC-C.SRLI-01 +# +# Copyright (c) 2018, Imperas Software Ltd. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the Imperas Software Ltd. nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Imperas Software Ltd. BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Specification: RV32IMC Base Integer Instruction Set, Version 2.0 +# Description: Testing instruction C.SRLI. + +#include "test_macros.h" +#include "compliance_test.h" +#include "compliance_io.h" + +RV_COMPLIANCE_RV32M + +RV_COMPLIANCE_CODE_BEGIN + + RVTEST_IO_INIT + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) + RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 1 - corner cases\n") + + # address for test results + la x2, test_1_res + + TEST_CI_OP(c.srli, x14, 0, 0x0, 0x1, x2, 0) + TEST_CI_OP(c.srli, x15, 0, 0x0, 0x2, x2, 4) + TEST_CI_OP(c.srli, x8, 0, 0x0, 0xf, x2, 8) + TEST_CI_OP(c.srli, x9, 0, 0x0, 0x10, x2, 12) + TEST_CI_OP(c.srli, x11, 0, 0x0, 0xf, x2, 16) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 2 - corner cases\n") + + # address for test results + la x2, test_2_res + + TEST_CI_OP(c.srli, x12, 0, 0x1, 0x1, x2, 0) + TEST_CI_OP(c.srli, x13, 0, 0x1, 0x2, x2, 4) + TEST_CI_OP(c.srli, x14, 0, 0x1, 0xf, x2, 8) + TEST_CI_OP(c.srli, x15, 0, 0x1, 0x10, x2, 12) + TEST_CI_OP(c.srli, x8, 0, 0x1, 0xf, x2, 16) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 3 - corner cases\n") + + # address for test results + la x2, test_3_res + + TEST_CI_OP(c.srli, x9, 0x7fffffff, -0x1, 0x1, x2, 0) + TEST_CI_OP(c.srli, x11, 0x3fffffff, -0x1, 0x2, x2, 4) + TEST_CI_OP(c.srli, x12, 0x1ffff, -0x1, 0xf, x2, 8) + TEST_CI_OP(c.srli, x13, 0xffff, -0x1, 0x10, x2, 12) + TEST_CI_OP(c.srli, x14, 0x1ffff, -0x1, 0xf, x2, 16) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 4 - corner cases\n") + + # address for test results + la x2, test_4_res + + TEST_CI_OP(c.srli, x15, 0x3ffff, 0x7ffff, 0x1, x2, 0) + TEST_CI_OP(c.srli, x8, 0x1ffff, 0x7ffff, 0x2, x2, 4) + TEST_CI_OP(c.srli, x9, 0xf, 0x7ffff, 0xf, x2, 8) + TEST_CI_OP(c.srli, x11, 0x7, 0x7ffff, 0x10, x2, 12) + TEST_CI_OP(c.srli, x12, 0xf, 0x7ffff, 0xf, x2, 16) + + # --------------------------------------------------------------------------------------------- + + RVTEST_IO_WRITE_STR("# Test number 5 - corner cases\n") + + # address for test results + la x2, test_5_res + + TEST_CI_OP(c.srli, x13, 0x40000, 0x80000, 0x1, x2, 0) + TEST_CI_OP(c.srli, x14, 0x20000, 0x80000, 0x2, x2, 4) + TEST_CI_OP(c.srli, x15, 0x10, 0x80000, 0xf, x2, 8) + TEST_CI_OP(c.srli, x8, 0x8, 0x80000, 0x10, x2, 12) + TEST_CI_OP(c.srli, x9, 0x10, 0x80000, 0xf, x2, 16) + + RVTEST_IO_WRITE_STR("Test End\n") + + # --------------------------------------------------------------------------------------------- + + RV_COMPLIANCE_HALT + +RV_COMPLIANCE_CODE_END + +# Input data section. + .data + +# Output data section. +RV_COMPLIANCE_DATA_BEGIN +test_1_res: + .fill 5, 4, -1 +test_2_res: + .fill 5, 4, -1 +test_3_res: + .fill 5, 4, -1 +test_4_res: + .fill 5, 4, -1 +test_5_res: + .fill 5, 4, -1 +test_6_res: + .fill 5, 4, -1 +test_7_res: + .fill 5, 4, -1 +test_8_res: + .fill 5, 4, -1 +test_9_res: + .fill 5, 4, -1 +test_10_res: + .fill 5, 4, -1 + +RV_COMPLIANCE_DATA_END \ No newline at end of file diff --git a/riscv-test-suite/rv32imc/src/C.SUB.S b/riscv-test-suite/rv32imc/src/C.SUB.S index 442262a..8e0fff6 100644 --- a/riscv-test-suite/rv32imc/src/C.SUB.S +++ b/riscv-test-suite/rv32imc/src/C.SUB.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv32imc/src/C.XOR.S b/riscv-test-suite/rv32imc/src/C.XOR.S index eb724fe..5c761ad 100644 --- a/riscv-test-suite/rv32imc/src/C.XOR.S +++ b/riscv-test-suite/rv32imc/src/C.XOR.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64i/src/ADDIW.S b/riscv-test-suite/rv64i/src/ADDIW.S index bb2803c..98953a2 100644 --- a/riscv-test-suite/rv64i/src/ADDIW.S +++ b/riscv-test-suite/rv64i/src/ADDIW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64i/src/ADDW.S b/riscv-test-suite/rv64i/src/ADDW.S index af4a0c5..bd9b03e 100644 --- a/riscv-test-suite/rv64i/src/ADDW.S +++ b/riscv-test-suite/rv64i/src/ADDW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64i/src/SLLIW.S b/riscv-test-suite/rv64i/src/SLLIW.S index 91122ef..92a7dd6 100644 --- a/riscv-test-suite/rv64i/src/SLLIW.S +++ b/riscv-test-suite/rv64i/src/SLLIW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64i/src/SLLW.S b/riscv-test-suite/rv64i/src/SLLW.S index caa5eed..06288a4 100644 --- a/riscv-test-suite/rv64i/src/SLLW.S +++ b/riscv-test-suite/rv64i/src/SLLW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64i/src/SRAIW.S b/riscv-test-suite/rv64i/src/SRAIW.S index 27e73a2..a224545 100644 --- a/riscv-test-suite/rv64i/src/SRAIW.S +++ b/riscv-test-suite/rv64i/src/SRAIW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64i/src/SRAW.S b/riscv-test-suite/rv64i/src/SRAW.S index 3a20a26..8b1b204 100644 --- a/riscv-test-suite/rv64i/src/SRAW.S +++ b/riscv-test-suite/rv64i/src/SRAW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64i/src/SRLIW.S b/riscv-test-suite/rv64i/src/SRLIW.S index 5882042..792342e 100644 --- a/riscv-test-suite/rv64i/src/SRLIW.S +++ b/riscv-test-suite/rv64i/src/SRLIW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64i/src/SRLW.S b/riscv-test-suite/rv64i/src/SRLW.S index ecde5e2..7c6bb90 100644 --- a/riscv-test-suite/rv64i/src/SRLW.S +++ b/riscv-test-suite/rv64i/src/SRLW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64i/src/SUBW.S b/riscv-test-suite/rv64i/src/SUBW.S index 2d0d5e8..8c323cb 100644 --- a/riscv-test-suite/rv64i/src/SUBW.S +++ b/riscv-test-suite/rv64i/src/SUBW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64im/src/DIVW.S b/riscv-test-suite/rv64im/src/DIVW.S index cd9b2c9..5d98eef 100644 --- a/riscv-test-suite/rv64im/src/DIVW.S +++ b/riscv-test-suite/rv64im/src/DIVW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64im/src/MULW.S b/riscv-test-suite/rv64im/src/MULW.S index e7b3d65..794744f 100644 --- a/riscv-test-suite/rv64im/src/MULW.S +++ b/riscv-test-suite/rv64im/src/MULW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64im/src/REMUW.S b/riscv-test-suite/rv64im/src/REMUW.S index c5bfb01..01584c5 100644 --- a/riscv-test-suite/rv64im/src/REMUW.S +++ b/riscv-test-suite/rv64im/src/REMUW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # --------------------------------------------------------------------------------------------- diff --git a/riscv-test-suite/rv64im/src/REMW.S b/riscv-test-suite/rv64im/src/REMW.S index 8b70df0..50ecdcc 100644 --- a/riscv-test-suite/rv64im/src/REMW.S +++ b/riscv-test-suite/rv64im/src/REMW.S @@ -37,7 +37,7 @@ RV_COMPLIANCE_RV32M RV_COMPLIANCE_CODE_BEGIN RVTEST_IO_INIT - RVTEST_IO_ASSERT_EQ(x0, 0x00000000) + RVTEST_IO_ASSERT_GPR_EQ(x0, 0x00000000) RVTEST_IO_WRITE_STR("Test Begin Reserved regs ra(x1) a0(x10) t0(x5)\n") # ---------------------------------------------------------------------------------------------