| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/globals.h" | 5 #include "vm/globals.h" |
| 6 #if defined(TARGET_ARCH_MIPS) | 6 #if defined(TARGET_ARCH_MIPS) |
| 7 | 7 |
| 8 #include "vm/assembler.h" | 8 #include "vm/assembler.h" |
| 9 #include "vm/cpu.h" | 9 #include "vm/cpu.h" |
| 10 #include "vm/os.h" | 10 #include "vm/os.h" |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 498 } | 498 } |
| 499 | 499 |
| 500 | 500 |
| 501 ASSEMBLER_TEST_RUN(Multu_lo, test) { | 501 ASSEMBLER_TEST_RUN(Multu_lo, test) { |
| 502 typedef int (*SimpleCode)() DART_UNUSED; | 502 typedef int (*SimpleCode)() DART_UNUSED; |
| 503 EXPECT_EQ(42, EXECUTE_TEST_CODE_INT32(SimpleCode, test->entry())); | 503 EXPECT_EQ(42, EXECUTE_TEST_CODE_INT32(SimpleCode, test->entry())); |
| 504 } | 504 } |
| 505 | 505 |
| 506 | 506 |
| 507 ASSEMBLER_TEST_GENERATE(Multu_hi, assembler) { | 507 ASSEMBLER_TEST_GENERATE(Multu_hi, assembler) { |
| 508 __ LoadImmediate(T1, 65536); | 508 __ LoadImmediate(T1, -1); |
| 509 __ LoadImmediate(T2, 65536); | 509 __ LoadImmediate(T2, -1); |
| 510 __ multu(T1, T2); | 510 __ multu(T1, T2); |
| 511 __ mfhi(V0); | 511 __ mfhi(V0); |
| 512 __ jr(RA); | 512 __ jr(RA); |
| 513 } | 513 } |
| 514 | 514 |
| 515 | 515 |
| 516 ASSEMBLER_TEST_RUN(Multu_hi, test) { | 516 ASSEMBLER_TEST_RUN(Multu_hi, test) { |
| 517 typedef int (*SimpleCode)() DART_UNUSED; | 517 typedef int (*SimpleCode)() DART_UNUSED; |
| 518 EXPECT_EQ(1, EXECUTE_TEST_CODE_INT32(SimpleCode, test->entry())); | 518 EXPECT_EQ(0xfffffffe, EXECUTE_TEST_CODE_INT32(SimpleCode, test->entry())); |
| 519 } | 519 } |
| 520 | 520 |
| 521 | 521 |
| 522 ASSEMBLER_TEST_GENERATE(Madd_neg, assembler) { | 522 ASSEMBLER_TEST_GENERATE(Madd_neg, assembler) { |
| 523 __ LoadImmediate(T1, -6); | 523 __ LoadImmediate(T1, -6); |
| 524 __ LoadImmediate(T2, 7); | 524 __ LoadImmediate(T2, 7); |
| 525 __ mult(T1, T2); | 525 __ mult(T1, T2); |
| 526 __ madd(T1, T2); | 526 __ madd(T1, T2); |
| 527 __ mflo(V0); | 527 __ mflo(V0); |
| 528 __ mfhi(V1); | 528 __ mfhi(V1); |
| (...skipping 1533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2062 A1); | 2062 A1); |
| 2063 __ lw(RA, Address(SP, 0 * kWordSize)); | 2063 __ lw(RA, Address(SP, 0 * kWordSize)); |
| 2064 __ lw(CTX, Address(SP, 1 * kWordSize)); | 2064 __ lw(CTX, Address(SP, 1 * kWordSize)); |
| 2065 __ addiu(SP, SP, Immediate(2 * kWordSize)); | 2065 __ addiu(SP, SP, Immediate(2 * kWordSize)); |
| 2066 __ Ret(); | 2066 __ Ret(); |
| 2067 } | 2067 } |
| 2068 | 2068 |
| 2069 } // namespace dart | 2069 } // namespace dart |
| 2070 | 2070 |
| 2071 #endif // defined TARGET_ARCH_MIPS | 2071 #endif // defined TARGET_ARCH_MIPS |
| OLD | NEW |