TEST_FP_OP_D_INTERNAL( testnum, 0, dword result, val1, val2, 0.0, \
inst a0, f0, f1)
+#define TEST_FCLASS_S(testnum, correct, input) \
+ TEST_CASE(testnum, a0, correct, li a0, input; fmv.s.x fa0, a0; \
+ fclass.s a0, fa0)
+
+#define TEST_FCLASS_D(testnum, correct, input) \
+ TEST_CASE(testnum, a0, correct, li a0, input; fmv.d.x fa0, a0; \
+ fclass.d a0, fa0)
+
#define TEST_INT_FP_OP_S( testnum, inst, result, val1 ) \
test_ ## testnum: \
li TESTNUM, testnum; \
# Arithmetic tests
#-------------------------------------------------------------
- #define TEST_FCLASS_D(testnum, correct, input) \
- TEST_CASE(testnum, a0, correct, li a0, input; fmv.d.x fa0, a0; \
- fclass.d a0, fa0)
-
TEST_FCLASS_D( 2, 1 << 0, 0xfff0000000000000 )
TEST_FCLASS_D( 3, 1 << 1, 0xbff0000000000000 )
TEST_FCLASS_D( 4, 1 << 2, 0x800fffffffffffff )
# Arithmetic tests
#-------------------------------------------------------------
- #define TEST_FCLASS_S(testnum, correct, input) \
- TEST_CASE(testnum, a0, correct, li a0, input; fmv.s.x fa0, a0; \
- fclass.s a0, fa0)
-
TEST_FCLASS_S( 2, 1 << 0, 0xff800000 )
TEST_FCLASS_S( 3, 1 << 1, 0xbf800000 )
TEST_FCLASS_S( 4, 1 << 2, 0x807fffff )