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 563 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
574 break; | 574 break; |
575 } | 575 } |
576 case COP1_C_OLE: { | 576 case COP1_C_OLE: { |
577 Format(instr, "c.ole.'fmt 'fs, 'ft"); | 577 Format(instr, "c.ole.'fmt 'fs, 'ft"); |
578 break; | 578 break; |
579 } | 579 } |
580 case COP1_C_ULE: { | 580 case COP1_C_ULE: { |
581 Format(instr, "c.ule.'fmt 'fs, 'ft"); | 581 Format(instr, "c.ule.'fmt 'fs, 'ft"); |
582 break; | 582 break; |
583 } | 583 } |
| 584 case COP1_TRUNC_W: { |
| 585 Format(instr, "trunc.w.'fmt 'fd, 'fs"); |
| 586 break; |
| 587 } |
| 588 case COP1_CVT_S: { |
| 589 Format(instr, "cvt.s.'fmt 'fd, 'fs"); |
| 590 break; |
| 591 } |
584 case COP1_CVT_D: { | 592 case COP1_CVT_D: { |
585 Format(instr, "cvt.d.'fmt 'fd, 'fs"); | 593 Format(instr, "cvt.d.'fmt 'fd, 'fs"); |
586 break; | 594 break; |
587 } | 595 } |
588 case COP1_CVT_W: { | |
589 Format(instr, "cvt.w.'fmt 'fd, 'fs"); | |
590 break; | |
591 } | |
592 default: { | 596 default: { |
593 Unknown(instr); | 597 Unknown(instr); |
594 break; | 598 break; |
595 } | 599 } |
596 } | 600 } |
597 } else { | 601 } else { |
598 // If the rs field isn't a valid format, then it must be a sub-opcode. | 602 // If the rs field isn't a valid format, then it must be a sub-opcode. |
599 switch (instr->Cop1SubField()) { | 603 switch (instr->Cop1SubField()) { |
600 case COP1_MF: { | 604 case COP1_MF: { |
601 if (instr->Bits(0, 11) != 0) { | 605 if (instr->Bits(0, 11) != 0) { |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
782 if (out_instr_len) { | 786 if (out_instr_len) { |
783 *out_instr_len = Instr::kInstrSize; | 787 *out_instr_len = Instr::kInstrSize; |
784 } | 788 } |
785 } | 789 } |
786 | 790 |
787 #endif // !PRODUCT | 791 #endif // !PRODUCT |
788 | 792 |
789 } // namespace dart | 793 } // namespace dart |
790 | 794 |
791 #endif // defined TARGET_ARCH_MIPS | 795 #endif // defined TARGET_ARCH_MIPS |
OLD | NEW |