112771Sqtt2@cornell.edu# See LICENSE for license details. 212771Sqtt2@cornell.edu 312771Sqtt2@cornell.edu#***************************************************************************** 412771Sqtt2@cornell.edu# fdiv.S 512771Sqtt2@cornell.edu#----------------------------------------------------------------------------- 612771Sqtt2@cornell.edu# 712771Sqtt2@cornell.edu# Test f{div|sqrt}.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#if __riscv_xlen == 32 1712771Sqtt2@cornell.edu # Replace the functions with the 32-bit variants 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 2112771Sqtt2@cornell.edu #undef TEST_FP_OP1_D 2212771Sqtt2@cornell.edu #define TEST_FP_OP1_D TEST_FP_OP1_D32 2312771Sqtt2@cornell.edu 2412771Sqtt2@cornell.edu #undef TEST_FP_OP1_D_DWORD_RESULT 2512771Sqtt2@cornell.edu #define TEST_FP_OP1_D_DWORD_RESULT TEST_FP_OP1_D32_DWORD_RESULT 2612771Sqtt2@cornell.edu#endif 2712771Sqtt2@cornell.edu 2812771Sqtt2@cornell.edu #------------------------------------------------------------- 2912771Sqtt2@cornell.edu # Arithmetic tests 3012771Sqtt2@cornell.edu #------------------------------------------------------------- 3112771Sqtt2@cornell.edu 3212771Sqtt2@cornell.edu TEST_FP_OP2_D( 2, fdiv.d, 1, 1.1557273520668288, 3.14159265, 2.71828182 ); 3312771Sqtt2@cornell.edu TEST_FP_OP2_D( 3, fdiv.d, 1,-0.9991093838555584, -1234, 1235.1 ); 3412771Sqtt2@cornell.edu TEST_FP_OP2_D( 4, fdiv.d, 0, 3.14159265, 3.14159265, 1.0 ); 3512771Sqtt2@cornell.edu 3612771Sqtt2@cornell.edu TEST_FP_OP1_D( 5, fsqrt.d, 1, 1.7724538498928541, 3.14159265 ); 3712771Sqtt2@cornell.edu TEST_FP_OP1_D( 6, fsqrt.d, 0, 100, 10000 ); 3812771Sqtt2@cornell.edu 3912771Sqtt2@cornell.edu TEST_FP_OP1_D_DWORD_RESULT(16, fsqrt.d, 0x10, 0x7FF8000000000000, -1.0 ); 4012771Sqtt2@cornell.edu 4112771Sqtt2@cornell.edu TEST_FP_OP1_D( 7, fsqrt.d, 1, 13.076696830622021, 171.0); 4212771Sqtt2@cornell.edu 4312771Sqtt2@cornell.edu TEST_FP_OP1_D( 8, fsqrt.d, 1,0.00040099251863345283320230749702, 1.60795e-7); 4412771Sqtt2@cornell.edu 4512771Sqtt2@cornell.edu TEST_PASSFAIL 4612771Sqtt2@cornell.edu 4712771Sqtt2@cornell.eduRVTEST_CODE_END 4812771Sqtt2@cornell.edu 4912771Sqtt2@cornell.edu .data 5012771Sqtt2@cornell.eduRVTEST_DATA_BEGIN 5112771Sqtt2@cornell.edu 5212771Sqtt2@cornell.edu TEST_DATA 5312771Sqtt2@cornell.edu 5412771Sqtt2@cornell.eduRVTEST_DATA_END 55