112771Sqtt2@cornell.edu# See LICENSE for license details. 212771Sqtt2@cornell.edu 312771Sqtt2@cornell.edu#***************************************************************************** 412771Sqtt2@cornell.edu# fmin.S 512771Sqtt2@cornell.edu#----------------------------------------------------------------------------- 612771Sqtt2@cornell.edu# 712771Sqtt2@cornell.edu# Test f{min|max}.d instructinos. 812771Sqtt2@cornell.edu# 912771Sqtt2@cornell.edu 1012771Sqtt2@cornell.edu#include "riscv_test.h" 1112771Sqtt2@cornell.edu#include "test_macros.h" 1212771Sqtt2@cornell.edu 1312771Sqtt2@cornell.eduRVTEST_RV64UF 1412771Sqtt2@cornell.eduRVTEST_CODE_BEGIN 1512771Sqtt2@cornell.edu 1612771Sqtt2@cornell.edu#if __riscv_xlen == 32 1712771Sqtt2@cornell.edu # Replace the function with the 32-bit variant defined in test_macros.h 1812771Sqtt2@cornell.edu #undef TEST_FP_OP2_D 1912771Sqtt2@cornell.edu #define TEST_FP_OP2_D TEST_FP_OP2_D32 2012771Sqtt2@cornell.edu#endif 2112771Sqtt2@cornell.edu 2212771Sqtt2@cornell.edu #------------------------------------------------------------- 2312771Sqtt2@cornell.edu # Arithmetic tests 2412771Sqtt2@cornell.edu #------------------------------------------------------------- 2512771Sqtt2@cornell.edu 2612771Sqtt2@cornell.edu TEST_FP_OP2_D( 2, fmin.d, 0, 1.0, 2.5, 1.0 ); 2712771Sqtt2@cornell.edu TEST_FP_OP2_D( 3, fmin.d, 0, -1235.1, -1235.1, 1.1 ); 2812771Sqtt2@cornell.edu TEST_FP_OP2_D( 4, fmin.d, 0, -1235.1, 1.1, -1235.1 ); 2912771Sqtt2@cornell.edu TEST_FP_OP2_D( 5, fmin.d, 0, -1235.1, NaN, -1235.1 ); 3012771Sqtt2@cornell.edu TEST_FP_OP2_D( 6, fmin.d, 0, 0.00000001, 3.14159265, 0.00000001 ); 3112771Sqtt2@cornell.edu TEST_FP_OP2_D( 7, fmin.d, 0, -2.0, -1.0, -2.0 ); 3212771Sqtt2@cornell.edu 3312771Sqtt2@cornell.edu TEST_FP_OP2_D(12, fmax.d, 0, 2.5, 2.5, 1.0 ); 3412771Sqtt2@cornell.edu TEST_FP_OP2_D(13, fmax.d, 0, 1.1, -1235.1, 1.1 ); 3512771Sqtt2@cornell.edu TEST_FP_OP2_D(14, fmax.d, 0, 1.1, 1.1, -1235.1 ); 3612771Sqtt2@cornell.edu TEST_FP_OP2_D(15, fmax.d, 0, -1235.1, NaN, -1235.1 ); 3712771Sqtt2@cornell.edu TEST_FP_OP2_D(16, fmax.d, 0, 3.14159265, 3.14159265, 0.00000001 ); 3812771Sqtt2@cornell.edu TEST_FP_OP2_D(17, fmax.d, 0, -1.0, -1.0, -2.0 ); 3912771Sqtt2@cornell.edu 4012771Sqtt2@cornell.edu # FMIN(sNaN, x) = x 4112771Sqtt2@cornell.edu TEST_FP_OP2_D(20, fmax.d, 0x10, 1.0, sNaN, 1.0); 4212771Sqtt2@cornell.edu # FMIN(qNaN, qNaN) = canonical NaN 4312771Sqtt2@cornell.edu TEST_FP_OP2_D(21, fmax.d, 0x00, qNaN, NaN, NaN); 4412771Sqtt2@cornell.edu 4512771Sqtt2@cornell.edu # -0.0 < +0.0 4612771Sqtt2@cornell.edu TEST_FP_OP2_D(30, fmin.d, 0, -0.0, -0.0, 0.0 ); 4712771Sqtt2@cornell.edu TEST_FP_OP2_D(31, fmin.d, 0, -0.0, 0.0, -0.0 ); 4812771Sqtt2@cornell.edu TEST_FP_OP2_D(32, fmax.d, 0, 0.0, -0.0, 0.0 ); 4912771Sqtt2@cornell.edu TEST_FP_OP2_D(33, fmax.d, 0, 0.0, 0.0, -0.0 ); 5012771Sqtt2@cornell.edu 5112771Sqtt2@cornell.edu TEST_PASSFAIL 5212771Sqtt2@cornell.edu 5312771Sqtt2@cornell.eduRVTEST_CODE_END 5412771Sqtt2@cornell.edu 5512771Sqtt2@cornell.edu .data 5612771Sqtt2@cornell.eduRVTEST_DATA_BEGIN 5712771Sqtt2@cornell.edu 5812771Sqtt2@cornell.edu TEST_DATA 5912771Sqtt2@cornell.edu 6012771Sqtt2@cornell.eduRVTEST_DATA_END 61