112771Sqtt2@cornell.edu# See LICENSE for license details. 212771Sqtt2@cornell.edu 312771Sqtt2@cornell.edu#***************************************************************************** 412771Sqtt2@cornell.edu# fcmp.S 512771Sqtt2@cornell.edu#----------------------------------------------------------------------------- 612771Sqtt2@cornell.edu# 712771Sqtt2@cornell.edu# Test f{eq|lt|le}.d instructions. 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 #------------------------------------------------------------- 1712771Sqtt2@cornell.edu # Arithmetic tests 1812771Sqtt2@cornell.edu #------------------------------------------------------------- 1912771Sqtt2@cornell.edu 2012771Sqtt2@cornell.edu#if __riscv_xlen == 32 2112771Sqtt2@cornell.edu # Replace the function with the 32-bit variant defined in test_macros.h 2212771Sqtt2@cornell.edu #undef TEST_FP_CMP_OP_D 2312771Sqtt2@cornell.edu #define TEST_FP_CMP_OP_D TEST_FP_CMP_OP_D32 2412771Sqtt2@cornell.edu#endif 2512771Sqtt2@cornell.edu 2612771Sqtt2@cornell.edu TEST_FP_CMP_OP_D( 2, feq.d, 0x00, 1, -1.36, -1.36) 2712771Sqtt2@cornell.edu TEST_FP_CMP_OP_D( 3, fle.d, 0x00, 1, -1.36, -1.36) 2812771Sqtt2@cornell.edu TEST_FP_CMP_OP_D( 4, flt.d, 0x00, 0, -1.36, -1.36) 2912771Sqtt2@cornell.edu 3012771Sqtt2@cornell.edu TEST_FP_CMP_OP_D( 5, feq.d, 0x00, 0, -1.37, -1.36) 3112771Sqtt2@cornell.edu TEST_FP_CMP_OP_D( 6, fle.d, 0x00, 1, -1.37, -1.36) 3212771Sqtt2@cornell.edu TEST_FP_CMP_OP_D( 7, flt.d, 0x00, 1, -1.37, -1.36) 3312771Sqtt2@cornell.edu 3412771Sqtt2@cornell.edu # Only sNaN should signal invalid for feq. 3512771Sqtt2@cornell.edu TEST_FP_CMP_OP_D( 8, feq.d, 0x00, 0, NaN, 0) 3612771Sqtt2@cornell.edu TEST_FP_CMP_OP_D( 9, feq.d, 0x00, 0, NaN, NaN) 3712771Sqtt2@cornell.edu TEST_FP_CMP_OP_D(10, feq.d, 0x10, 0, sNaN, 0) 3812771Sqtt2@cornell.edu 3912771Sqtt2@cornell.edu # qNaN should signal invalid for fle/flt. 4012771Sqtt2@cornell.edu TEST_FP_CMP_OP_D(11, flt.d, 0x10, 0, NaN, 0) 4112771Sqtt2@cornell.edu TEST_FP_CMP_OP_D(12, flt.d, 0x10, 0, NaN, NaN) 4212771Sqtt2@cornell.edu TEST_FP_CMP_OP_D(13, flt.d, 0x10, 0, sNaN, 0) 4312771Sqtt2@cornell.edu TEST_FP_CMP_OP_D(14, fle.d, 0x10, 0, NaN, 0) 4412771Sqtt2@cornell.edu TEST_FP_CMP_OP_D(15, fle.d, 0x10, 0, NaN, NaN) 4512771Sqtt2@cornell.edu TEST_FP_CMP_OP_D(16, fle.d, 0x10, 0, sNaN, 0) 4612771Sqtt2@cornell.edu 4712771Sqtt2@cornell.edu TEST_PASSFAIL 4812771Sqtt2@cornell.edu 4912771Sqtt2@cornell.eduRVTEST_CODE_END 5012771Sqtt2@cornell.edu 5112771Sqtt2@cornell.edu .data 5212771Sqtt2@cornell.eduRVTEST_DATA_BEGIN 5312771Sqtt2@cornell.edu 5412771Sqtt2@cornell.edu TEST_DATA 5512771Sqtt2@cornell.edu 5612771Sqtt2@cornell.eduRVTEST_DATA_END 57