| 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/disassembler.h" | 5 #include "vm/disassembler.h" |
| 6 | 6 |
| 7 #include "vm/globals.h" // Needed here to get TARGET_ARCH_MIPS. | 7 #include "vm/globals.h" // Needed here to get TARGET_ARCH_MIPS. |
| 8 #if defined(TARGET_ARCH_MIPS) | 8 #if defined(TARGET_ARCH_MIPS) |
| 9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
| 10 | 10 |
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 322 break; | 322 break; |
| 323 } | 323 } |
| 324 case MFHI: { | 324 case MFHI: { |
| 325 Format(instr, "mfhi 'rd"); | 325 Format(instr, "mfhi 'rd"); |
| 326 break; | 326 break; |
| 327 } | 327 } |
| 328 case MFLO: { | 328 case MFLO: { |
| 329 Format(instr, "mflo 'rd"); | 329 Format(instr, "mflo 'rd"); |
| 330 break; | 330 break; |
| 331 } | 331 } |
| 332 case MOVCI: { |
| 333 if (instr->Bit(16)) { |
| 334 Format(instr, "movt 'rd, 'rs"); |
| 335 } else { |
| 336 Format(instr, "movf 'rd, 'rs"); |
| 337 } |
| 338 break; |
| 339 } |
| 332 case MOVN: { | 340 case MOVN: { |
| 333 Format(instr, "movn 'rd, 'rs, 'rt"); | 341 Format(instr, "movn 'rd, 'rs, 'rt"); |
| 334 break; | 342 break; |
| 335 } | 343 } |
| 336 case MOVZ: { | 344 case MOVZ: { |
| 337 Format(instr, "movz 'rd, 'rs, 'rt"); | 345 Format(instr, "movz 'rd, 'rs, 'rt"); |
| 338 break; | 346 break; |
| 339 } | 347 } |
| 340 case MTHI: { | 348 case MTHI: { |
| 341 Format(instr, "mthi 'rs"); | 349 Format(instr, "mthi 'rs"); |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 516 } | 524 } |
| 517 case COP1_SQRT: { | 525 case COP1_SQRT: { |
| 518 Format(instr, "sqrt.'fmt 'fd, 'fs"); | 526 Format(instr, "sqrt.'fmt 'fd, 'fs"); |
| 519 break; | 527 break; |
| 520 } | 528 } |
| 521 case COP1_MOV: { | 529 case COP1_MOV: { |
| 522 Format(instr, "mov.'fmt 'fd, 'fs"); | 530 Format(instr, "mov.'fmt 'fd, 'fs"); |
| 523 break; | 531 break; |
| 524 } | 532 } |
| 525 case COP1_C_F: { | 533 case COP1_C_F: { |
| 526 Format(instr, "c.f.'fmt 'fd, 'fs"); | 534 Format(instr, "c.f.'fmt 'fs, 'ft"); |
| 527 break; | 535 break; |
| 528 } | 536 } |
| 529 case COP1_C_UN: { | 537 case COP1_C_UN: { |
| 530 Format(instr, "c.un.'fmt 'fd, 'fs"); | 538 Format(instr, "c.un.'fmt 'fs, 'ft"); |
| 531 break; | 539 break; |
| 532 } | 540 } |
| 533 case COP1_C_EQ: { | 541 case COP1_C_EQ: { |
| 534 Format(instr, "c.eq.'fmt 'fd, 'fs"); | 542 Format(instr, "c.eq.'fmt 'fs, 'ft"); |
| 535 break; | 543 break; |
| 536 } | 544 } |
| 537 case COP1_C_UEQ: { | 545 case COP1_C_UEQ: { |
| 538 Format(instr, "c.ueq.'fmt 'fd, 'fs"); | 546 Format(instr, "c.ueq.'fmt 'fs, 'ft"); |
| 539 break; | 547 break; |
| 540 } | 548 } |
| 541 case COP1_C_OLT: { | 549 case COP1_C_OLT: { |
| 542 Format(instr, "c.olt.'fmt 'fd, 'fs"); | 550 Format(instr, "c.olt.'fmt 'fs, 'ft"); |
| 543 break; | 551 break; |
| 544 } | 552 } |
| 545 case COP1_C_ULT: { | 553 case COP1_C_ULT: { |
| 546 Format(instr, "c.ult.'fmt 'fd, 'fs"); | 554 Format(instr, "c.ult.'fmt 'fs, 'ft"); |
| 547 break; | 555 break; |
| 548 } | 556 } |
| 549 case COP1_C_OLE: { | 557 case COP1_C_OLE: { |
| 550 Format(instr, "c.ole.'fmt 'fd, 'fs"); | 558 Format(instr, "c.ole.'fmt 'fs, 'ft"); |
| 551 break; | 559 break; |
| 552 } | 560 } |
| 553 case COP1_C_ULE: { | 561 case COP1_C_ULE: { |
| 554 Format(instr, "c.ule.'fmt 'fd, 'fs"); | 562 Format(instr, "c.ule.'fmt 'fs, 'ft"); |
| 555 break; | 563 break; |
| 556 } | 564 } |
| 557 case COP1_CVT_D: { | 565 case COP1_CVT_D: { |
| 558 Format(instr, "cvt.d.'fmt 'fd, 'fs"); | 566 Format(instr, "cvt.d.'fmt 'fd, 'fs"); |
| 559 break; | 567 break; |
| 560 } | 568 } |
| 561 case COP1_CVT_W: { | 569 case COP1_CVT_W: { |
| 562 Format(instr, "cvt.w.'fmt 'fd, 'fs"); | 570 Format(instr, "cvt.w.'fmt 'fd, 'fs"); |
| 563 break; | 571 break; |
| 564 } | 572 } |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 780 pc); | 788 pc); |
| 781 pc += instruction_length; | 789 pc += instruction_length; |
| 782 } | 790 } |
| 783 | 791 |
| 784 return; | 792 return; |
| 785 } | 793 } |
| 786 | 794 |
| 787 } // namespace dart | 795 } // namespace dart |
| 788 | 796 |
| 789 #endif // defined TARGET_ARCH_MIPS | 797 #endif // defined TARGET_ARCH_MIPS |
| OLD | NEW |