Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Side by Side Diff: src/mips/disasm-mips.cc

Issue 1147493002: Reland "MIPS: Add float instructions and test coverage, part one" (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Bug fixed Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/mips/constants-mips.h ('k') | src/mips/simulator-mips.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // A Disassembler object is used to disassemble a block of code instruction by 5 // A Disassembler object is used to disassemble a block of code instruction by
6 // instruction. The default implementation of the NameConverter object can be 6 // instruction. The default implementation of the NameConverter object can be
7 // overriden to modify register names or to do symbol lookup on addresses. 7 // overriden to modify register names or to do symbol lookup on addresses.
8 // 8 //
9 // The example below will disassemble a block of code and print it to stdout. 9 // The example below will disassemble a block of code and print it to stdout.
10 // 10 //
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 break; 504 break;
505 case SEL: 505 case SEL:
506 Format(instr, "sel.'t 'fd, 'fs, 'ft"); 506 Format(instr, "sel.'t 'fd, 'fs, 'ft");
507 break; 507 break;
508 case SELEQZ_C: 508 case SELEQZ_C:
509 Format(instr, "seleqz.'t 'fd, 'fs, 'ft"); 509 Format(instr, "seleqz.'t 'fd, 'fs, 'ft");
510 break; 510 break;
511 case SELNEZ_C: 511 case SELNEZ_C:
512 Format(instr, "selnez.'t 'fd, 'fs, 'ft"); 512 Format(instr, "selnez.'t 'fd, 'fs, 'ft");
513 break; 513 break;
514 case MOVZ_C:
515 Format(instr, "movz.'t 'fd, 'fs, 'rt");
516 break;
517 case MOVN_C:
518 Format(instr, "movn.'t 'fd, 'fs, 'rt");
519 break;
520 case MOVF:
521 if (instr->Bit(16)) {
522 Format(instr, "movt.'t 'fd, 'fs, 'Cc");
523 } else {
524 Format(instr, "movf.'t 'fd, 'fs, 'Cc");
525 }
526 break;
514 case ADD_D: 527 case ADD_D:
515 Format(instr, "add.'t 'fd, 'fs, 'ft"); 528 Format(instr, "add.'t 'fd, 'fs, 'ft");
516 break; 529 break;
517 case SUB_D: 530 case SUB_D:
518 Format(instr, "sub.'t 'fd, 'fs, 'ft"); 531 Format(instr, "sub.'t 'fd, 'fs, 'ft");
519 break; 532 break;
520 case MUL_D: 533 case MUL_D:
521 Format(instr, "mul.'t 'fd, 'fs, 'ft"); 534 Format(instr, "mul.'t 'fd, 'fs, 'ft");
522 break; 535 break;
523 case DIV_D: 536 case DIV_D:
524 Format(instr, "div.'t 'fd, 'fs, 'ft"); 537 Format(instr, "div.'t 'fd, 'fs, 'ft");
525 break; 538 break;
526 case ABS_D: 539 case ABS_D:
527 Format(instr, "abs.'t 'fd, 'fs"); 540 Format(instr, "abs.'t 'fd, 'fs");
528 break; 541 break;
529 case MOV_D: 542 case MOV_D:
530 Format(instr, "mov.'t 'fd, 'fs"); 543 Format(instr, "mov.'t 'fd, 'fs");
531 break; 544 break;
532 case NEG_D: 545 case NEG_D:
533 Format(instr, "neg.'t 'fd, 'fs"); 546 Format(instr, "neg.'t 'fd, 'fs");
534 break; 547 break;
535 case SQRT_D: 548 case SQRT_D:
536 Format(instr, "sqrt.'t 'fd, 'fs"); 549 Format(instr, "sqrt.'t 'fd, 'fs");
537 break; 550 break;
551 case RECIP_D:
552 Format(instr, "recip.'t 'fd, 'fs");
553 break;
554 case RSQRT_D:
555 Format(instr, "rsqrt.'t 'fd, 'fs");
556 break;
538 case CVT_W_D: 557 case CVT_W_D:
539 Format(instr, "cvt.w.'t 'fd, 'fs"); 558 Format(instr, "cvt.w.'t 'fd, 'fs");
540 break; 559 break;
541 case CVT_L_D: 560 case CVT_L_D:
542 Format(instr, "cvt.l.'t 'fd, 'fs"); 561 Format(instr, "cvt.l.'t 'fd, 'fs");
543 break; 562 break;
544 case TRUNC_W_D: 563 case TRUNC_W_D:
545 Format(instr, "trunc.w.'t 'fd, 'fs"); 564 Format(instr, "trunc.w.'t 'fd, 'fs");
546 break; 565 break;
547 case TRUNC_L_D: 566 case TRUNC_L_D:
548 Format(instr, "trunc.l.'t 'fd, 'fs"); 567 Format(instr, "trunc.l.'t 'fd, 'fs");
549 break; 568 break;
550 case ROUND_W_D: 569 case ROUND_W_D:
551 Format(instr, "round.w.'t 'fd, 'fs"); 570 Format(instr, "round.w.'t 'fd, 'fs");
552 break; 571 break;
572 case ROUND_L_D:
573 Format(instr, "round.l.'t 'fd, 'fs");
574 break;
553 case FLOOR_W_D: 575 case FLOOR_W_D:
554 Format(instr, "floor.w.'t 'fd, 'fs"); 576 Format(instr, "floor.w.'t 'fd, 'fs");
555 break; 577 break;
578 case FLOOR_L_D:
579 Format(instr, "floor.l.'t 'fd, 'fs");
580 break;
556 case CEIL_W_D: 581 case CEIL_W_D:
557 Format(instr, "ceil.w.'t 'fd, 'fs"); 582 Format(instr, "ceil.w.'t 'fd, 'fs");
558 break; 583 break;
584 case CEIL_L_D:
585 Format(instr, "ceil.l.'t 'fd, 'fs");
586 break;
559 case CVT_S_D: 587 case CVT_S_D:
560 Format(instr, "cvt.s.'t 'fd, 'fs"); 588 Format(instr, "cvt.s.'t 'fd, 'fs");
561 break; 589 break;
562 case C_F_D: 590 case C_F_D:
563 Format(instr, "c.f.'t 'fs, 'ft, 'Cc"); 591 Format(instr, "c.f.'t 'fs, 'ft, 'Cc");
564 break; 592 break;
565 case C_UN_D: 593 case C_UN_D:
566 Format(instr, "c.un.'t 'fs, 'ft, 'Cc"); 594 Format(instr, "c.un.'t 'fs, 'ft, 'Cc");
567 break; 595 break;
568 case C_EQ_D: 596 case C_EQ_D:
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after
1355 prev_pc, *reinterpret_cast<int32_t*>(prev_pc), buffer.start()); 1383 prev_pc, *reinterpret_cast<int32_t*>(prev_pc), buffer.start());
1356 } 1384 }
1357 } 1385 }
1358 1386
1359 1387
1360 #undef UNSUPPORTED 1388 #undef UNSUPPORTED
1361 1389
1362 } // namespace disasm 1390 } // namespace disasm
1363 1391
1364 #endif // V8_TARGET_ARCH_MIPS 1392 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « src/mips/constants-mips.h ('k') | src/mips/simulator-mips.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698