konkitoman / riscv-man

0 stars 0 forks source link

Test Suite #4

Open konkitoman opened 1 month ago

konkitoman commented 1 month ago

Official Test suite

RISC-V Tests

How to setup Linux only

Prerequisites

Setup command:

scripts/setup_official_tests.zig

How to run Linux only

RV32/RV64 is the CPU that will run on and rv32ui/rv64ui is the filter

For RV32 User mode

scripts/run_official_tests.zig RV32 rv32ui

For RV64 User mode

scripts/run_official_tests.zig RV64 rv64ui

Running all the tests

scripts/run_official_tests.zig RV64 ""
scripts/run_official_tests.zig RV32 ""
konkitoman commented 1 month ago

Official test suite results

RV32 ```sh $ SIMPLE= scripts/run_official_tests.zig RV32 "" Test: rv32ui-p-blt Pass Test: rv32ui-p-auipc Pass Test: rv32ui-p-beq Pass Test: rv32ui-p-addi Pass Test: rv32ui-p-add Pass Test: rv32ui-p-and Pass Test: rv32ui-p-andi Pass Test: rv32ui-p-bge Pass Test: rv32ui-p-simple Pass Test: rv32ui-p-bltu Pass Test: rv32ui-p-fence_i Pass Test: rv32ui-p-bgeu Pass Test: rv32ui-p-bne Pass Test: rv32ui-p-jal Pass Test: rv32ui-p-lw Pass Test: rv32ui-p-lh Pass Test: rv32ui-p-jalr Pass Test: rv32ui-p-lb Pass Test: rv32ui-p-lbu Pass Test: rv32ui-p-lhu Pass Test: rv32ui-p-ma_data Pass Test: rv32ui-p-lui Pass Test: rv32ui-p-sb Pass Test: rv32ui-p-or Pass Test: rv32ui-p-ori Pass Test: rv32ui-p-slli Pass Test: rv32ui-p-sw Pass Test: rv32ui-p-sh Pass Test: rv32ui-p-slti Pass Test: rv32ui-p-slt Pass Test: rv32ui-p-sll Pass Test: rv32ui-p-sltiu Pass Test: rv32ui-p-sltu Pass Test: rv32ui-p-srl Pass Test: rv32ui-p-srai Pass Test: rv32ui-p-srli Pass Test: rv32ui-p-sub Pass Test: rv32ui-p-sra Pass Test: rv32ui-p-xori Pass Test: rv32ui-p-xor Pass Test: rv32ui-v-addi Pass Test: rv32ui-v-bgeu Pass Test: rv32ui-v-and Pass Test: rv32ui-v-add Pass Test: rv32ui-v-auipc Pass Test: rv32ui-v-bne Pass Test: rv32ui-v-andi Pass Test: rv32ui-v-simple Pass Test: rv32ui-v-bge Pass Test: rv32ui-v-bltu Pass Test: rv32ui-v-beq Pass Test: rv32ui-v-jal Pass Test: rv32ui-v-blt Pass Test: rv32ui-v-jalr Pass Test: rv32ui-v-fence_i Pass Test: rv32ui-v-lbu Pass Test: rv32uc-p-rvc !!!Fail!!! Test: rv32ui-v-lw Pass Test: rv32um-p-div !!!Fail!!! Test: rv32um-p-divu !!!Fail!!! Test: rv32ui-v-lb Pass Test: rv32um-p-mul !!!Fail!!! Test: rv32ui-v-ori Pass Test: rv32um-p-mulhsu !!!Fail!!! Test: rv32ui-v-lui Pass Test: rv32um-p-remu !!!Fail!!! Test: rv32um-p-mulh !!!Fail!!! Test: rv32ui-v-ma_data Pass Test: rv32um-p-mulhu !!!Fail!!! Test: rv32ui-v-lh Pass Test: rv32um-p-rem !!!Fail!!! Test: rv32ui-v-sh Pass Test: rv32ui-v-lhu Pass Test: rv32ui-v-sll Pass Test: rv32ui-v-or Pass Test: rv32ui-v-slli Pass Test: rv32ui-v-sw Pass Test: rv32ui-v-sltiu Pass Test: rv32ua-p-amomax_w !!!Fail!!! Test: rv32ua-p-amoand_w !!!Fail!!! Test: rv32ua-p-amoadd_w !!!Fail!!! Test: rv32ui-v-sb Pass Test: rv32ui-v-slt Pass Test: rv32ua-p-amomin_w !!!Fail!!! Test: rv32ua-p-amoor_w !!!Fail!!! Test: rv32ua-p-lrsc !!!Fail!!! Test: rv32ui-v-sra Pass Test: rv32ua-p-amominu_w !!!Fail!!! Test: rv32ua-p-amomaxu_w !!!Fail!!! Test: rv32ua-p-amoxor_w !!!Fail!!! Test: rv32ua-p-amoswap_w !!!Fail!!! Test: rv32ui-v-slti Pass Test: rv32ui-v-sub Pass Test: rv32ui-v-srli Pass Test: rv32ui-v-srl Pass Test: rv32ui-v-sltu Pass Test: rv32ui-v-srai Pass Test: rv32ui-v-xor Pass Test: rv32uf-p-fdiv !!!Fail!!! Test: rv32uf-p-fadd !!!Fail!!! Test: rv32uf-p-fcvt_w !!!Fail!!! Test: rv32uf-p-fcmp !!!Fail!!! Test: rv32uf-p-fcvt !!!Fail!!! Test: rv32uc-v-rvc Pass Test: rv32uf-p-fclass !!!Fail!!! Test: rv32um-v-div Pass Test: rv32uf-p-fmadd !!!Fail!!! Test: rv32uf-p-fmin !!!Fail!!! Test: rv32uf-p-ldst !!!Fail!!! Test: rv32uf-p-recoding !!!Fail!!! Test: rv32uf-p-move !!!Fail!!! Test: rv32ui-v-xori Pass Test: rv32um-v-mul Pass Test: rv32um-v-mulhu Pass Test: rv32um-v-mulh Pass Test: rv32um-v-divu Pass Test: rv32um-v-mulhsu Pass Test: rv32um-v-rem Pass Test: rv32um-v-remu Pass Test: rv32ua-v-amomax_w Pass Test: rv32ua-v-amoadd_w Pass Test: rv32ua-v-amoand_w Pass Test: rv32ud-p-fdiv !!!Fail!!! Test: rv32ud-p-fadd !!!Fail!!! Test: rv32ud-p-fclass !!!Fail!!! Test: rv32ud-p-fcvt !!!Fail!!! Test: rv32ud-p-fcmp !!!Fail!!! Test: rv32ud-p-fcvt_w !!!Fail!!! Test: rv32ud-p-fmadd !!!Fail!!! Test: rv32ua-v-amomaxu_w Pass Test: rv32ua-v-amoor_w Pass Test: rv32ud-p-ldst !!!Fail!!! Test: rv32ua-v-amominu_w Pass Test: rv32ud-p-fmin !!!Fail!!! Test: rv32ua-v-amomin_w Pass Test: rv32ud-p-recoding !!!Fail!!! Test: rv32ua-v-lrsc Pass Test: rv32ua-v-amoxor_w Pass Test: rv32ua-v-amoswap_w Pass Test: rv32uf-v-fadd Pass Test: rv32uzfh-p-fclass !!!Fail!!! Test: rv32uzfh-p-fdiv !!!Fail!!! Test: rv32uf-v-fdiv Pass Test: rv32uzfh-p-fadd !!!Fail!!! Test: rv32uzfh-p-fcmp !!!Fail!!! Test: rv32uzfh-p-ldst !!!Fail!!! Test: rv32uf-v-fmadd Pass Test: rv32uzfh-p-move !!!Fail!!! Test: rv32uf-v-fclass Pass Test: rv32uzfh-p-fmin !!!Fail!!! Test: rv32uzfh-p-fcvt_w !!!Fail!!! Test: rv32uf-v-fcmp Pass Test: rv32uzfh-p-fmadd !!!Fail!!! Test: rv32uzfh-p-fcvt !!!Fail!!! Test: rv32uzfh-p-recoding !!!Fail!!! Test: rv32uf-v-fmin Pass Test: rv32uf-v-fcvt_w Pass Test: rv32uf-v-fcvt Pass Test: rv32uf-v-move Pass Test: rv32ud-v-fclass Pass Test: rv32uf-v-recoding Pass Test: rv32uf-v-ldst Pass Test: rv32ud-v-fdiv Pass Test: rv32uzba-p-sh2add !!!Fail!!! Test: rv32uzba-p-sh1add !!!Fail!!! Test: rv32uzba-p-sh3add !!!Fail!!! Test: rv32ud-v-fadd Pass Test: rv32ud-v-fcmp Pass Test: rv32uzbb-p-clz !!!Fail!!! Test: rv32ud-v-fmadd Pass Test: rv32uzbb-p-cpop !!!Fail!!! Test: rv32uzbb-p-andn !!!Fail!!! Test: rv32uzbb-p-ctz !!!Fail!!! Test: rv32uzbb-p-minu !!!Fail!!! Test: rv32ud-v-ldst Pass Test: rv32uzbb-p-min !!!Fail!!! Test: rv32uzbb-p-max !!!Fail!!! Test: rv32uzbb-p-maxu !!!Fail!!! Test: rv32uzbb-p-rev8 !!!Fail!!! Test: rv32ud-v-fcvt Pass Test: rv32uzbb-p-orn !!!Fail!!! Test: rv32uzbb-p-orc_b !!!Fail!!! Test: rv32uzbb-p-rol !!!Fail!!! Test: rv32ud-v-recoding Pass Test: rv32ud-v-fmin Pass Test: rv32uzbb-p-sext_b !!!Fail!!! Test: rv32uzbb-p-sext_h !!!Fail!!! Test: rv32uzbb-p-ror !!!Fail!!! Test: rv32uzbb-p-rori !!!Fail!!! Test: rv32uzbb-p-zext_h !!!Fail!!! Test: rv32uzbb-p-xnor !!!Fail!!! Test: rv32uzfh-v-fclass Pass Test: rv32ud-v-fcvt_w Pass Test: rv32uzfh-v-fadd Pass Test: rv32uzfh-v-fcvt_w Pass Test: rv32uzfh-v-fdiv Pass Test: rv32uzfh-v-fcmp Pass Test: rv32uzfh-v-fcvt Pass Test: rv32uzfh-v-fmin Pass Test: rv32uzfh-v-ldst Pass Test: rv32uzba-v-sh2add Pass Test: rv32uzfh-v-fmadd Pass Test: rv32uzfh-v-recoding Pass Test: rv32uzfh-v-move Pass Test: rv32uzbc-p-clmul !!!Fail!!! Test: rv32uzbc-p-clmulr !!!Fail!!! Test: rv32uzba-v-sh1add Pass Test: rv32uzbc-p-clmulh !!!Fail!!! Test: rv32uzba-v-sh3add Pass Test: rv32uzbb-v-clz Pass Test: rv32uzbb-v-ctz Pass Test: rv32uzbs-p-bclri !!!Fail!!! Test: rv32uzbs-p-bclr !!!Fail!!! Test: rv32uzbb-v-cpop Pass Test: rv32uzbs-p-bext !!!Fail!!! Test: rv32uzbs-p-bset !!!Fail!!! Test: rv32uzbs-p-binv !!!Fail!!! Test: rv32uzbs-p-bexti !!!Fail!!! Test: rv32uzbs-p-binvi !!!Fail!!! Test: rv32uzbs-p-bseti !!!Fail!!! Test: rv32uzbb-v-andn Pass Test: rv32uzbb-v-maxu Pass Test: rv32uzbb-v-max Pass Test: rv32uzbb-v-rev8 Pass Test: rv32uzbb-v-orn Pass Test: rv32uzbb-v-orc_b Pass Test: rv32uzbb-v-minu Pass Test: rv32uzbb-v-rol Pass Test: rv32uzbb-v-min Pass Test: rv32si-p-csr !!!Fail!!! Test: rv32si-p-scall !!!Fail!!! Test: rv32si-p-sbreak Pass Test: rv32uzbb-v-rori Pass Test: rv32si-p-ma_fetch !!!Fail!!! Test: rv32mi-p-breakpoint Pass Test: rv32mi-p-ma_fetch !!!Fail!!! Test: rv32si-p-dirty Pass Test: rv32mi-p-csr !!!Fail!!! Test: rv32mi-p-scall !!!Fail!!! Test: rv32si-p-wfi Pass Test: rv32mi-p-sbreak Pass Test: rv32mi-p-illegal !!!Fail!!! Test: rv32mi-p-mcsr !!!Fail!!! Test: rv32mi-p-shamt !!!Fail!!! Test: rv32mi-p-sw-misaligned Pass Test: rv32mi-p-lh-misaligned Pass Test: rv32uzbb-v-ror Pass Test: rv32mi-p-ma_addr Pass Test: rv32uzbb-v-sext_h Pass Test: rv32mi-p-lw-misaligned Pass Test: rv32uzbc-v-clmulh Pass Test: rv32mi-p-sh-misaligned Pass Test: rv32mi-p-zicntr Pass Test: rv32uzbc-v-clmul Pass Test: rv32uzbb-v-sext_b Pass Test: rv32uzbb-v-xnor Pass Test: rv32uzbb-v-zext_h Pass Test: rv32uzbc-v-clmulr Pass Test: rv32uzbs-v-bclri Pass Test: rv32uzbs-v-binv Pass Test: rv32uzbs-v-bclr Pass Test: rv32uzbs-v-bexti Pass Test: rv32uzbs-v-bext Pass Test: rv32uzbs-v-bset Pass Test: rv32uzbs-v-binvi Pass Test: rv32uzbs-v-bseti Pass 266 tests runned! Pass rate: 65.41% Fail rate: 34.59% 92 tests failed! ```
RV32 rv32ui ```sh $ SIMPLE= scripts/run_official_tests.zig RV32 rv32ui Test: rv32ui-p-blt Pass Test: rv32ui-p-auipc Pass Test: rv32ui-p-beq Pass Test: rv32ui-p-addi Pass Test: rv32ui-p-add Pass Test: rv32ui-p-and Pass Test: rv32ui-p-andi Pass Test: rv32ui-p-bge Pass Test: rv32ui-p-simple Pass Test: rv32ui-p-bltu Pass Test: rv32ui-p-fence_i Pass Test: rv32ui-p-bgeu Pass Test: rv32ui-p-bne Pass Test: rv32ui-p-jal Pass Test: rv32ui-p-lw Pass Test: rv32ui-p-lh Pass Test: rv32ui-p-jalr Pass Test: rv32ui-p-lb Pass Test: rv32ui-p-lbu Pass Test: rv32ui-p-lhu Pass Test: rv32ui-p-ma_data Pass Test: rv32ui-p-lui Pass Test: rv32ui-p-sb Pass Test: rv32ui-p-or Pass Test: rv32ui-p-ori Pass Test: rv32ui-p-slli Pass Test: rv32ui-p-sw Pass Test: rv32ui-p-sh Pass Test: rv32ui-p-slti Pass Test: rv32ui-p-slt Pass Test: rv32ui-p-sll Pass Test: rv32ui-p-sltiu Pass Test: rv32ui-p-sltu Pass Test: rv32ui-p-srl Pass Test: rv32ui-p-srai Pass Test: rv32ui-p-srli Pass Test: rv32ui-p-sub Pass Test: rv32ui-p-sra Pass Test: rv32ui-p-xori Pass Test: rv32ui-p-xor Pass Test: rv32ui-v-addi Pass Test: rv32ui-v-bgeu Pass Test: rv32ui-v-and Pass Test: rv32ui-v-add Pass Test: rv32ui-v-auipc Pass Test: rv32ui-v-bne Pass Test: rv32ui-v-andi Pass Test: rv32ui-v-simple Pass Test: rv32ui-v-bge Pass Test: rv32ui-v-bltu Pass Test: rv32ui-v-beq Pass Test: rv32ui-v-jal Pass Test: rv32ui-v-blt Pass Test: rv32ui-v-jalr Pass Test: rv32ui-v-fence_i Pass Test: rv32ui-v-lbu Pass Test: rv32ui-v-lw Pass Test: rv32ui-v-lb Pass Test: rv32ui-v-ori Pass Test: rv32ui-v-lui Pass Test: rv32ui-v-ma_data Pass Test: rv32ui-v-lh Pass Test: rv32ui-v-sh Pass Test: rv32ui-v-lhu Pass Test: rv32ui-v-sll Pass Test: rv32ui-v-or Pass Test: rv32ui-v-slli Pass Test: rv32ui-v-sw Pass Test: rv32ui-v-sltiu Pass Test: rv32ui-v-sb Pass Test: rv32ui-v-slt Pass Test: rv32ui-v-sra Pass Test: rv32ui-v-slti Pass Test: rv32ui-v-sub Pass Test: rv32ui-v-srli Pass Test: rv32ui-v-srl Pass Test: rv32ui-v-sltu Pass Test: rv32ui-v-srai Pass Test: rv32ui-v-xor Pass Test: rv32ui-v-xori Pass 80 tests runned! All tests passed!!! ```
RV64 rv64ui ```sh $ SIMPLE= scripts/run_official_tests.zig RV64 rv64ui Test: rv64ui-p-add Pass Test: rv64ui-p-addw Pass Test: rv64ui-p-addiw Pass Test: rv64ui-p-andi Pass Test: rv64ui-p-bge Pass Test: rv64ui-p-and Pass Test: rv64ui-p-beq Pass Test: rv64ui-p-bgeu Pass Test: rv64ui-p-auipc Pass Test: rv64ui-p-simple Pass Test: rv64ui-p-bltu Pass Test: rv64ui-p-fence_i Pass Test: rv64ui-p-bne Pass Test: rv64ui-p-blt Pass Test: rv64ui-p-jalr Pass Test: rv64ui-p-addi Pass Test: rv64ui-p-lbu Pass Test: rv64ui-p-jal Pass Test: rv64ui-p-lb Pass Test: rv64ui-p-lh Pass Test: rv64ui-p-lw Pass Test: rv64ui-p-lhu Pass Test: rv64ui-p-lwu Pass Test: rv64ui-p-ld Pass Test: rv64ui-p-lui Pass Test: rv64ui-p-ma_data !!!Fail!!! Test: rv64ui-p-sw Pass Test: rv64ui-p-sb Pass Test: rv64ui-p-ori Pass Test: rv64ui-p-or Pass Test: rv64ui-p-sll Pass Test: rv64ui-p-slli Pass Test: rv64ui-p-sh Pass Test: rv64ui-p-sd Pass Test: rv64ui-p-slliw Pass Test: rv64ui-p-slt Pass Test: rv64ui-p-slti Pass Test: rv64ui-p-sllw Pass Test: rv64ui-p-sltu Pass Test: rv64ui-p-sltiu Pass Test: rv64ui-p-srai Pass Test: rv64ui-p-sraiw Pass Test: rv64ui-p-srlw Pass Test: rv64ui-p-sra Pass Test: rv64ui-p-sraw Pass Test: rv64ui-p-srli Pass Test: rv64ui-p-srl Pass Test: rv64ui-p-srliw Pass Test: rv64ui-p-xor Pass Test: rv64ui-p-subw Pass Test: rv64ui-p-xori Pass Test: rv64ui-p-sub Pass Test: rv64ui-v-addiw Pass Test: rv64ui-v-add Pass Test: rv64ui-v-andi Pass Test: rv64ui-v-addi Pass Test: rv64ui-v-addw Pass Test: rv64ui-v-and Pass Test: rv64ui-v-bge Pass Test: rv64ui-v-auipc Pass Test: rv64ui-v-bgeu Pass Test: rv64ui-v-beq Pass Test: rv64ui-v-bne Pass Test: rv64ui-v-blt Pass Test: rv64ui-v-bltu Pass Test: rv64ui-v-jal Pass Test: rv64ui-v-simple Pass Test: rv64ui-v-jalr Pass Test: rv64ui-v-fence_i Pass Test: rv64ui-v-lbu Pass Test: rv64ui-v-lhu Pass Test: rv64ui-v-lw Pass Test: rv64ui-v-lb Pass Test: rv64ui-v-or Pass Test: rv64ui-v-lwu Pass Test: rv64ui-v-lh Pass Test: rv64ui-v-ld Pass Test: rv64ui-v-lui Pass Test: rv64ui-v-ma_data Pass Test: rv64ui-v-sh Pass Test: rv64ui-v-sw Pass Test: rv64ui-v-sd Pass Test: rv64ui-v-slli Pass Test: rv64ui-v-ori Pass Test: rv64ui-v-sllw Pass Test: rv64ui-v-sb Pass Test: rv64ui-v-sltiu Pass Test: rv64ui-v-slliw Pass Test: rv64ui-v-slt Pass Test: rv64ui-v-sltu Pass Test: rv64ui-v-sll Pass Test: rv64ui-v-slti Pass Test: rv64ui-v-sub Pass Test: rv64ui-v-sra Pass Test: rv64ui-v-srliw Pass Test: rv64ui-v-sraiw Pass Test: rv64ui-v-srl Pass Test: rv64ui-v-sraw Pass Test: rv64ui-v-xor Pass Test: rv64ui-v-srlw Pass Test: rv64ui-v-srai Pass Test: rv64ui-v-srli Pass Test: rv64ui-v-subw Pass Test: rv64ui-v-xori Pass 104 tests runned! Pass rate: 99.04% Fail rate: 0.96% 1 tests failed! ```