80eecf67df4ea219769da8ba0f77e03901e14326
[riscv-tests.git] / isa / rv64uf / fmin.S
1 #*****************************************************************************
2 # fmin.S
3 #-----------------------------------------------------------------------------
4 #
5 # Test f{min|max}.{s|d} instructinos.
6 #
7
8 #include "riscv_test.h"
9 #include "test_macros.h"
10
11 RVTEST_RV64UF
12 RVTEST_CODE_BEGIN
13
14 #-------------------------------------------------------------
15 # Arithmetic tests
16 #-------------------------------------------------------------
17
18 TEST_FP_OP2_S( 2, fmin.s, 0, 1.0, 2.5, 1.0 );
19 TEST_FP_OP2_S( 3, fmin.s, 0, -1235.1, -1235.1, 1.1 );
20 TEST_FP_OP2_S( 4, fmin.s, 0, -1235.1, 1.1, -1235.1 );
21 TEST_FP_OP2_S( 5, fmin.s, 0, -1235.1, NaN, -1235.1 );
22 TEST_FP_OP2_S( 6, fmin.s, 0, 0.00000001, 3.14159265, 0.00000001 );
23 TEST_FP_OP2_S( 7, fmin.s, 0, -2.0, -1.0, -2.0 );
24
25 TEST_FP_OP2_S(12, fmax.s, 0, 2.5, 2.5, 1.0 );
26 TEST_FP_OP2_S(13, fmax.s, 0, 1.1, -1235.1, 1.1 );
27 TEST_FP_OP2_S(14, fmax.s, 0, 1.1, 1.1, -1235.1 );
28 TEST_FP_OP2_S(15, fmax.s, 0, -1235.1, NaN, -1235.1 );
29 TEST_FP_OP2_S(16, fmax.s, 0, 3.14159265, 3.14159265, 0.00000001 );
30 TEST_FP_OP2_S(17, fmax.s, 0, -1.0, -1.0, -2.0 );
31
32 TEST_FP_OP2_D(22, fmin.d, 0, 1.0, 2.5, 1.0 );
33 TEST_FP_OP2_D(23, fmin.d, 0, -1235.1, -1235.1, 1.1 );
34 TEST_FP_OP2_D(24, fmin.d, 0, -1235.1, 1.1, -1235.1 );
35 TEST_FP_OP2_D(25, fmin.d, 0, -1235.1, NaN, -1235.1 );
36 TEST_FP_OP2_D(26, fmin.d, 0, 0.00000001, 3.14159265, 0.00000001 );
37 TEST_FP_OP2_D(27, fmin.d, 0, -2.0, -1.0, -2.0 );
38
39 TEST_FP_OP2_D(32, fmax.d, 0, 2.5, 2.5, 1.0 );
40 TEST_FP_OP2_D(33, fmax.d, 0, 1.1, -1235.1, 1.1 );
41 TEST_FP_OP2_D(34, fmax.d, 0, 1.1, 1.1, -1235.1 );
42 TEST_FP_OP2_D(35, fmax.d, 0, -1235.1, NaN, -1235.1 );
43 TEST_FP_OP2_D(36, fmax.d, 0, 3.14159265, 3.14159265, 0.00000001 );
44 TEST_FP_OP2_D(37, fmax.d, 0, -1.0, -1.0, -2.0 );
45
46 TEST_PASSFAIL
47
48 RVTEST_CODE_END
49
50 .data
51 RVTEST_DATA_BEGIN
52
53 TEST_DATA
54
55 RVTEST_DATA_END