| 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 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 330 break; | 330 break; |
| 331 } | 331 } |
| 332 case MOVN: { | 332 case MOVN: { |
| 333 Format(instr, "movn 'rd, 'rs, 'rt"); | 333 Format(instr, "movn 'rd, 'rs, 'rt"); |
| 334 break; | 334 break; |
| 335 } | 335 } |
| 336 case MOVZ: { | 336 case MOVZ: { |
| 337 Format(instr, "movz 'rd, 'rs, 'rt"); | 337 Format(instr, "movz 'rd, 'rs, 'rt"); |
| 338 break; | 338 break; |
| 339 } | 339 } |
| 340 case MTHI: { |
| 341 Format(instr, "mthi 'rs"); |
| 342 break; |
| 343 } |
| 344 case MTLO: { |
| 345 Format(instr, "mtlo 'rs"); |
| 346 break; |
| 347 } |
| 340 case MULT: { | 348 case MULT: { |
| 341 Format(instr, "mult 'rs, 'rt"); | 349 Format(instr, "mult 'rs, 'rt"); |
| 342 break; | 350 break; |
| 343 } | 351 } |
| 344 case MULTU: { | 352 case MULTU: { |
| 345 Format(instr, "multu 'rs, 'rt"); | 353 Format(instr, "multu 'rs, 'rt"); |
| 346 break; | 354 break; |
| 347 } | 355 } |
| 348 case NOR: { | 356 case NOR: { |
| 349 Format(instr, "nor 'rd, 'rs, 'rt"); | 357 Format(instr, "nor 'rd, 'rs, 'rt"); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 423 Unknown(instr); | 431 Unknown(instr); |
| 424 break; | 432 break; |
| 425 } | 433 } |
| 426 } | 434 } |
| 427 } | 435 } |
| 428 | 436 |
| 429 | 437 |
| 430 void MIPSDecoder::DecodeSpecial2(Instr* instr) { | 438 void MIPSDecoder::DecodeSpecial2(Instr* instr) { |
| 431 ASSERT(instr->OpcodeField() == SPECIAL2); | 439 ASSERT(instr->OpcodeField() == SPECIAL2); |
| 432 switch (instr->FunctionField()) { | 440 switch (instr->FunctionField()) { |
| 441 case MADD: { |
| 442 Format(instr, "madd 'rs, 'rt"); |
| 443 break; |
| 444 } |
| 445 case MADDU: { |
| 446 Format(instr, "maddu 'rs, 'rt"); |
| 447 break; |
| 448 } |
| 433 case CLO: { | 449 case CLO: { |
| 434 Format(instr, "clo 'rd, 'rs"); | 450 Format(instr, "clo 'rd, 'rs"); |
| 435 break; | 451 break; |
| 436 } | 452 } |
| 437 case CLZ: { | 453 case CLZ: { |
| 438 Format(instr, "clz 'rd, 'rs"); | 454 Format(instr, "clz 'rd, 'rs"); |
| 439 break; | 455 break; |
| 440 } | 456 } |
| 441 default: { | 457 default: { |
| 442 Unknown(instr); | 458 Unknown(instr); |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 764 pc); | 780 pc); |
| 765 pc += instruction_length; | 781 pc += instruction_length; |
| 766 } | 782 } |
| 767 | 783 |
| 768 return; | 784 return; |
| 769 } | 785 } |
| 770 | 786 |
| 771 } // namespace dart | 787 } // namespace dart |
| 772 | 788 |
| 773 #endif // defined TARGET_ARCH_MIPS | 789 #endif // defined TARGET_ARCH_MIPS |
| OLD | NEW |