X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=isa%2Frv64ud%2Ffmin.S;h=10ff8e6a3abab4c82bd8dde0eb0c773cab4112bf;hb=49f478416cec9f73801fdc5dedf9955494be8c66;hp=64c4aac0b21adaa997951c1cf95c3fe12f6b7cf9;hpb=367a13f0c2bd8d6e5a5ed71dbd3c9d46c6e21c3c;p=riscv-tests.git diff --git a/isa/rv64ud/fmin.S b/isa/rv64ud/fmin.S index 64c4aac..10ff8e6 100644 --- a/isa/rv64ud/fmin.S +++ b/isa/rv64ud/fmin.S @@ -13,6 +13,12 @@ RVTEST_RV64UF RVTEST_CODE_BEGIN +#if __riscv_xlen == 32 + # Replace the function with the 32-bit variant defined in test_macros.h + #undef TEST_FP_OP2_D + #define TEST_FP_OP2_D TEST_FP_OP2_D32 +#endif + #------------------------------------------------------------- # Arithmetic tests #------------------------------------------------------------- @@ -31,11 +37,17 @@ RVTEST_CODE_BEGIN TEST_FP_OP2_D(16, fmax.d, 0, 3.14159265, 3.14159265, 0.00000001 ); TEST_FP_OP2_D(17, fmax.d, 0, -1.0, -1.0, -2.0 ); - # FMIN(sNaN, x) = canonical NaN - TEST_FP_OP2_D(20, fmax.d, 0x10, qNaN, sNaN, 0); + # FMIN(sNaN, x) = x + TEST_FP_OP2_D(20, fmax.d, 0x10, 1.0, sNaN, 1.0); # FMIN(qNaN, qNaN) = canonical NaN TEST_FP_OP2_D(21, fmax.d, 0x00, qNaN, NaN, NaN); + # -0.0 < +0.0 + TEST_FP_OP2_D(30, fmin.d, 0, -0.0, -0.0, 0.0 ); + TEST_FP_OP2_D(31, fmin.d, 0, -0.0, 0.0, -0.0 ); + TEST_FP_OP2_D(32, fmax.d, 0, 0.0, -0.0, 0.0 ); + TEST_FP_OP2_D(33, fmax.d, 0, 0.0, 0.0, -0.0 ); + TEST_PASSFAIL RVTEST_CODE_END