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 |