From: Palmer Dabbelt Date: Tue, 8 Aug 2017 22:37:26 +0000 (-0700) Subject: Merge pull request #62 from richardxia/only-emit-f-instructions-when-compiled-for-f X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=130702297a010b4a2e7452bb48f0da88c0b30aa9;hp=c26d7f39e6fabde07f16fd35d67a2414e674d488;p=riscv-tests.git Merge pull request #62 from richardxia/only-emit-f-instructions-when-compiled-for-f rv64[ms]i-csr: Only emit F instructions when compiled for F. --- diff --git a/isa/rv64si/csr.S b/isa/rv64si/csr.S index 0576678..83e9cae 100644 --- a/isa/rv64si/csr.S +++ b/isa/rv64si/csr.S @@ -47,10 +47,15 @@ RVTEST_CODE_BEGIN # If so, make sure FP stores have no effect when mstatus.FS is off. li a1, MSTATUS_FS csrs mstatus, a1 +#ifdef __riscv_flen fmv.s.x f0, x0 csrc mstatus, a1 la a1, fsw_data TEST_CASE(10, a0, 1, fsw f0, (a1); lw a0, (a1)); +#else + # Fail if this test is compiled without F but executed on a core with F. + TEST_CASE(10, zero, 1) +#endif 1: # Figure out if 'U' is set in misa @@ -58,7 +63,7 @@ RVTEST_CODE_BEGIN srli a0, a0, 20 # a0 = a0 >> 20 andi a0, a0, 1 # a0 = a0 & 1 beqz a0, finish # if no user mode, skip the rest of these checks -#endif +#endif /* __MACHINE_MODE */ # jump to user land li t0, SSTATUS_SPP