From ffae1c5ee6004855a31c9dce99fc6ab32b7c5feb Mon Sep 17 00:00:00 2001 From: Kip Macsai-Goren Date: Thu, 22 Dec 2022 15:15:53 -0800 Subject: [PATCH] added fs=00 to status fp enabled test --- .../references/WALLY-status-fp-enabled-01.reference_output | 2 +- .../rv32i_m/privilege/src/WALLY-status-fp-enabled-01.S | 4 ++++ .../references/WALLY-status-fp-enabled-01.reference_output | 4 ++-- .../rv64i_m/privilege/src/WALLY-status-fp-enabled-01.S | 4 ++++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/references/WALLY-status-fp-enabled-01.reference_output b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/references/WALLY-status-fp-enabled-01.reference_output index bb029071..fa09f670 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/references/WALLY-status-fp-enabled-01.reference_output +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/references/WALLY-status-fp-enabled-01.reference_output @@ -2,6 +2,7 @@ 80006000 # read SD = 1, FS = 11 00004000 # read written SD = 1, FS = 10 80006000 # read SD = 1, FS = 11 +00000002 # mcause from attempting fmv with status.FS cleared 0000000b # mcause from M mode ecall from test termination deadbeef deadbeef @@ -1021,4 +1022,3 @@ deadbeef deadbeef deadbeef deadbeef -deadbeef diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-status-fp-enabled-01.S b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-status-fp-enabled-01.S index 5152e8b1..7c1d609a 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-status-fp-enabled-01.S +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-status-fp-enabled-01.S @@ -71,6 +71,10 @@ sw x29, 0(x6) // read dirty FS, SD bits, which should be 11 and 1 respectively addi x6, x6, 4 addi x16, x16, 4 +li x29, 0x6000 +csrc mstatus, x29 // clear FS to be 00, disabling floating point +fmv.s ft0, ft0 // should be an illegal instruction with fs set to 00 + END_TESTS TEST_STACK_AND_DATA \ No newline at end of file diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-status-fp-enabled-01.reference_output b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-status-fp-enabled-01.reference_output index fe33b639..88c3a32f 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-status-fp-enabled-01.reference_output +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/references/WALLY-status-fp-enabled-01.reference_output @@ -6,6 +6,8 @@ 00000000 00006000 # read SD = 1, FS = 11 80000000 +00000002 # mcause from attempting fmv with status.FS cleared +00000000 0000000b # mcause from M mode ecall from test termination 00000000 deadbeef @@ -1020,5 +1022,3 @@ deadbeef deadbeef deadbeef deadbeef -deadbeef -deadbeef diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/src/WALLY-status-fp-enabled-01.S b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/src/WALLY-status-fp-enabled-01.S index 1d7cb6be..fc71eeed 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/src/WALLY-status-fp-enabled-01.S +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/src/WALLY-status-fp-enabled-01.S @@ -70,6 +70,10 @@ sd x29, 0(x6) // read dirty FS, SD bits, which should be 11 and 1 respectively addi x6, x6, 8 addi x16, x16, 8 +li x29, 0x6000 +csrc mstatus, x29 // clear FS to be 00, disabling floating point +fmv.s ft0, ft0 // should be an illegal instruction with fs set to 00 + END_TESTS TEST_STACK_AND_DATA \ No newline at end of file