Index: runtime/vm/assembler_mips_test.cc |
=================================================================== |
--- runtime/vm/assembler_mips_test.cc (revision 24149) |
+++ runtime/vm/assembler_mips_test.cc (working copy) |
@@ -192,36 +192,6 @@ |
} |
-ASSEMBLER_TEST_GENERATE(Divu_zero, assembler) { |
- __ addiu(R1, ZR, Immediate(27)); |
- __ addiu(R2, ZR, Immediate(0)); |
- __ divu(R1, R2); |
- __ mflo(V0); |
- __ jr(RA); |
-} |
- |
- |
-ASSEMBLER_TEST_RUN(Divu_zero, test) { |
- typedef int (*SimpleCode)(); |
- EXPECT_EQ(0, EXECUTE_TEST_CODE_INT32(SimpleCode, test->entry())); |
-} |
- |
- |
-ASSEMBLER_TEST_GENERATE(Div_zero, assembler) { |
- __ addiu(R1, ZR, Immediate(27)); |
- __ addiu(R2, ZR, Immediate(0)); |
- __ div(R1, R2); |
- __ mflo(V0); |
- __ jr(RA); |
-} |
- |
- |
-ASSEMBLER_TEST_RUN(Div_zero, test) { |
- typedef int (*SimpleCode)(); |
- EXPECT_EQ(0, EXECUTE_TEST_CODE_INT32(SimpleCode, test->entry())); |
-} |
- |
- |
ASSEMBLER_TEST_GENERATE(Divu_corner, assembler) { |
__ LoadImmediate(R1, 0x80000000); |
__ LoadImmediate(R2, 0xffffffff); |
@@ -1217,25 +1187,24 @@ |
ASSEMBLER_TEST_GENERATE(Mtc1Mfc1, assembler) { |
__ mtc1(ZR, F0); |
+ __ mtc1(ZR, F1); |
__ mfc1(V0, F0); |
+ __ mfc1(V1, F1); |
__ Ret(); |
} |
ASSEMBLER_TEST_RUN(Mtc1Mfc1, test) { |
- typedef double (*SimpleCode)(); |
+ typedef int (*SimpleCode)(); |
EXPECT(test != NULL); |
- double res = EXECUTE_TEST_CODE_FLOAT(SimpleCode, test->entry()); |
- EXPECT_FLOAT_EQ(0.0, res, 0.001); |
+ EXPECT_EQ(0, EXECUTE_TEST_CODE_INT32(SimpleCode, test->entry())); |
} |
ASSEMBLER_TEST_GENERATE(Addd, assembler) { |
__ LoadImmediate(D0, 1.0); |
__ LoadImmediate(D1, 2.0); |
- __ addd(D2, D0, D1); |
- __ mfc1(V0, F4); |
- __ mfc1(V1, F5); |
+ __ addd(D0, D0, D1); |
__ Ret(); |
} |
@@ -1249,10 +1218,8 @@ |
ASSEMBLER_TEST_GENERATE(Movd, assembler) { |
- __ LoadImmediate(D0, 1.0); |
- __ movd(D1, D0); |
- __ mfc1(V0, F2); |
- __ mfc1(V1, F3); |
+ __ LoadImmediate(D1, 1.0); |
+ __ movd(D0, D1); |
__ Ret(); |
} |
@@ -1269,11 +1236,9 @@ |
__ AddImmediate(SP, -8 * kWordSize); |
__ LoadImmediate(T1, ~(8 - 1)); |
__ and_(T0, SP, T1); // Need 8 byte alignment. |
- __ LoadImmediate(D0, 1.0); |
- __ sdc1(D0, Address(T0)); |
- __ ldc1(D1, Address(T0)); |
- __ mfc1(V0, F2); |
- __ mfc1(V1, F3); |
+ __ LoadImmediate(D1, 1.0); |
+ __ sdc1(D1, Address(T0)); |
+ __ ldc1(D0, Address(T0)); |
__ Ret(); |
} |
@@ -1292,9 +1257,7 @@ |
__ LoadImmediate(T0, 0x7FF80000); |
__ mtc1(ZR, F2); // Load upper bits of NaN. |
__ mtc1(T0, F3); // Load lower bits of NaN. |
- __ addd(D2, D0, D1); |
- __ mfc1(V0, F4); |
- __ mfc1(V1, F5); |
+ __ addd(D0, D0, D1); |
__ Ret(); |
} |
@@ -1312,9 +1275,7 @@ |
__ LoadImmediate(T0, 0x7FF00000); // +inf |
__ mtc1(ZR, F2); |
__ mtc1(T0, F3); |
- __ addd(D2, D0, D1); |
- __ mfc1(V0, F4); |
- __ mfc1(V1, F5); |
+ __ addd(D0, D0, D1); |
__ Ret(); |
} |
@@ -1330,9 +1291,7 @@ |
ASSEMBLER_TEST_GENERATE(Subd, assembler) { |
__ LoadImmediate(D0, 2.5); |
__ LoadImmediate(D1, 1.5); |
- __ subd(D2, D0, D1); |
- __ mfc1(V0, F4); |
- __ mfc1(V1, F5); |
+ __ subd(D0, D0, D1); |
__ Ret(); |
} |
@@ -1348,9 +1307,7 @@ |
ASSEMBLER_TEST_GENERATE(Muld, assembler) { |
__ LoadImmediate(D0, 6.0); |
__ LoadImmediate(D1, 7.0); |
- __ muld(D2, D0, D1); |
- __ mfc1(V0, F4); |
- __ mfc1(V1, F5); |
+ __ muld(D0, D0, D1); |
__ Ret(); |
} |
@@ -1366,9 +1323,7 @@ |
ASSEMBLER_TEST_GENERATE(Divd, assembler) { |
__ LoadImmediate(D0, 42.0); |
__ LoadImmediate(D1, 7.0); |
- __ divd(D2, D0, D1); |
- __ mfc1(V0, F4); |
- __ mfc1(V1, F5); |
+ __ divd(D0, D0, D1); |
__ Ret(); |
} |
@@ -1382,10 +1337,8 @@ |
ASSEMBLER_TEST_GENERATE(Sqrtd, assembler) { |
- __ LoadImmediate(D0, 36.0); |
- __ sqrtd(D2, D0); |
- __ mfc1(V0, F4); |
- __ mfc1(V1, F5); |
+ __ LoadImmediate(D1, 36.0); |
+ __ sqrtd(D0, D1); |
__ Ret(); |
} |
@@ -1602,10 +1555,8 @@ |
ASSEMBLER_TEST_GENERATE(Cop1CvtDW, assembler) { |
__ LoadImmediate(T0, 42); |
- __ mtc1(T0, F0); |
- __ cvtdw(D1, F0); |
- __ mfc1(V0, F2); |
- __ mfc1(V1, F3); |
+ __ mtc1(T0, F2); |
+ __ cvtdw(D0, F2); |
__ Ret(); |
} |
@@ -1620,10 +1571,8 @@ |
ASSEMBLER_TEST_GENERATE(Cop1CvtDW_neg, assembler) { |
__ LoadImmediate(T0, -42); |
- __ mtc1(T0, F0); |
- __ cvtdw(D1, F0); |
- __ mfc1(V0, F2); |
- __ mfc1(V1, F3); |
+ __ mtc1(T0, F2); |
+ __ cvtdw(D0, F2); |
__ Ret(); |
} |
@@ -1638,11 +1587,9 @@ |
ASSEMBLER_TEST_GENERATE(Cop1CvtDL, assembler) { |
__ LoadImmediate(T0, 0x1); |
- __ mtc1(ZR, F0); |
- __ mtc1(T0, F1); // D0 <- 0x100000000 = 4294967296 |
- __ cvtdl(D1, D0); |
- __ mfc1(V0, F2); |
- __ mfc1(V1, F3); |
+ __ mtc1(ZR, F2); |
+ __ mtc1(T0, F3); // D0 <- 0x100000000 = 4294967296 |
+ __ cvtdl(D0, D1); |
__ Ret(); |
} |
@@ -1657,11 +1604,9 @@ |
ASSEMBLER_TEST_GENERATE(Cop1CvtDL_neg, assembler) { |
__ LoadImmediate(T0, 0xffffffff); |
- __ mtc1(T0, F0); |
- __ mtc1(T0, F1); // D0 <- 0xffffffffffffffff = -1 |
- __ cvtdl(D1, D0); |
- __ mfc1(V0, F2); |
- __ mfc1(V1, F3); |
+ __ mtc1(T0, F2); |
+ __ mtc1(T0, F3); // D0 <- 0xffffffffffffffff = -1 |
+ __ cvtdl(D0, D1);; |
__ Ret(); |
} |
@@ -1675,30 +1620,30 @@ |
ASSEMBLER_TEST_GENERATE(Cop1CvtWD, assembler) { |
- __ LoadImmediate(D0, 42.0); |
- __ cvtwd(F2, D0); |
- __ mfc1(V0, F2); |
+ __ LoadImmediate(D1, 42.0); |
+ __ cvtwd(F0, D1); |
+ __ mfc1(V0, F0); |
__ Ret(); |
} |
ASSEMBLER_TEST_RUN(Cop1CvtWD, test) { |
- typedef double (*SimpleCode)(); |
+ typedef int (*SimpleCode)(); |
EXPECT(test != NULL); |
EXPECT_EQ(42, EXECUTE_TEST_CODE_INT32(SimpleCode, test->entry())); |
} |
ASSEMBLER_TEST_GENERATE(Cop1CvtWD_neg, assembler) { |
- __ LoadImmediate(D0, -42.0); |
- __ cvtwd(F2, D0); |
- __ mfc1(V0, F2); |
+ __ LoadImmediate(D1, -42.0); |
+ __ cvtwd(F0, D1); |
+ __ mfc1(V0, F0); |
__ Ret(); |
} |
ASSEMBLER_TEST_RUN(Cop1CvtWD_neg, test) { |
- typedef double (*SimpleCode)(); |
+ typedef int (*SimpleCode)(); |
EXPECT(test != NULL); |
EXPECT_EQ(-42, EXECUTE_TEST_CODE_INT32(SimpleCode, test->entry())); |
} |