Use NaN macros
[riscv-tests.git] / isa / rv64uf / fadd.S
index cced11b397cd0a36e306936efc327d5e7157f100..b6259df64af6fa98d171010561f3372192161b9a 100644 (file)
@@ -1,8 +1,10 @@
+# See LICENSE for license details.
+
 #*****************************************************************************
 # fadd.S
 #-----------------------------------------------------------------------------
 #
 #*****************************************************************************
 # fadd.S
 #-----------------------------------------------------------------------------
 #
-# Test f{add|sub|mul}.{s|d} instructions.
+# Test f{add|sub|mul}.s instructions.
 #
 
 #include "riscv_test.h"
 #
 
 #include "riscv_test.h"
@@ -15,29 +17,20 @@ RVTEST_CODE_BEGIN
   # Arithmetic tests
   #-------------------------------------------------------------
 
   # Arithmetic tests
   #-------------------------------------------------------------
 
-  TEST_FP_OP2_S( 2,  fadd.s,                3.5,        2.5,        1.0 );
-  TEST_FP_OP2_S( 3,  fadd.s,              -1234,    -1235.1,        1.1 );
-  TEST_FP_OP2_S( 4,  fadd.s,         3.14159265, 3.14159265, 0.00000001 );
-
-  TEST_FP_OP2_D( 5,  fadd.d,                3.5,        2.5,        1.0 );
-  TEST_FP_OP2_D( 6,  fadd.d,              -1234,    -1235.1,        1.1 );
-  TEST_FP_OP2_D( 7,  fadd.d,         3.14159266, 3.14159265, 0.00000001 );
-
-  TEST_FP_OP2_S(12,  fsub.s,                1.5,        2.5,        1.0 );
-  TEST_FP_OP2_S(13,  fsub.s,              -1234,    -1235.1,       -1.1 );
-  TEST_FP_OP2_S(14,  fsub.s,         3.14159265, 3.14159265, 0.00000001 );
+  TEST_FP_OP2_S( 2,  fadd.s, 0,                3.5,        2.5,        1.0 );
+  TEST_FP_OP2_S( 3,  fadd.s, 1,              -1234,    -1235.1,        1.1 );
+  TEST_FP_OP2_S( 4,  fadd.s, 1,         3.14159265, 3.14159265, 0.00000001 );
 
 
-  TEST_FP_OP2_D(15,  fsub.d,                1.5,        2.5,        1.0 );
-  TEST_FP_OP2_D(16,  fsub.d,              -1234,    -1235.1,       -1.1 );
-  TEST_FP_OP2_D(17,  fsub.d, 3.1415926400000001, 3.14159265, 0.00000001 );
+  TEST_FP_OP2_S( 5,  fsub.s, 0,                1.5,        2.5,        1.0 );
+  TEST_FP_OP2_S( 6,  fsub.s, 1,              -1234,    -1235.1,       -1.1 );
+  TEST_FP_OP2_S( 7,  fsub.s, 1,         3.14159265, 3.14159265, 0.00000001 );
 
 
-  TEST_FP_OP2_S(22,  fmul.s,                2.5,        2.5,        1.0 );
-  TEST_FP_OP2_S(23,  fmul.s,            1358.61,    -1235.1,       -1.1 );
-  TEST_FP_OP2_S(24,  fmul.s,      3.14159265e-8, 3.14159265, 0.00000001 );
+  TEST_FP_OP2_S( 8,  fmul.s, 0,                2.5,        2.5,        1.0 );
+  TEST_FP_OP2_S( 9,  fmul.s, 1,            1358.61,    -1235.1,       -1.1 );
+  TEST_FP_OP2_S(10,  fmul.s, 1,      3.14159265e-8, 3.14159265, 0.00000001 );
 
 
-  TEST_FP_OP2_D(25,  fmul.d,                2.5,        2.5,        1.0 );
-  TEST_FP_OP2_D(26,  fmul.d,            1358.61,    -1235.1,       -1.1 );
-  TEST_FP_OP2_D(27,  fmul.d,      3.14159265e-8, 3.14159265, 0.00000001 );
+  # Is the canonical NaN generated for Inf - Inf?
+  TEST_FP_OP2_S(11,  fsub.s, 0x10, qNaNf, Inf, Inf);
 
   TEST_PASSFAIL
 
 
   TEST_PASSFAIL