OLD | NEW |
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 #ifndef V8_MIPS_CONSTANTS_H_ | 5 #ifndef V8_MIPS_CONSTANTS_H_ |
6 #define V8_MIPS_CONSTANTS_H_ | 6 #define V8_MIPS_CONSTANTS_H_ |
7 #include "src/globals.h" | 7 #include "src/globals.h" |
8 // UNIMPLEMENTED_ macro for MIPS. | 8 // UNIMPLEMENTED_ macro for MIPS. |
9 #ifdef DEBUG | 9 #ifdef DEBUG |
10 #define UNIMPLEMENTED_MIPS() \ | 10 #define UNIMPLEMENTED_MIPS() \ |
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
450 MTC1 = ((0 << 3) + 4) << 21, | 450 MTC1 = ((0 << 3) + 4) << 21, |
451 CTC1 = ((0 << 3) + 6) << 21, | 451 CTC1 = ((0 << 3) + 6) << 21, |
452 MTHC1 = ((0 << 3) + 7) << 21, | 452 MTHC1 = ((0 << 3) + 7) << 21, |
453 BC1 = ((1 << 3) + 0) << 21, | 453 BC1 = ((1 << 3) + 0) << 21, |
454 S = ((2 << 3) + 0) << 21, | 454 S = ((2 << 3) + 0) << 21, |
455 D = ((2 << 3) + 1) << 21, | 455 D = ((2 << 3) + 1) << 21, |
456 W = ((2 << 3) + 4) << 21, | 456 W = ((2 << 3) + 4) << 21, |
457 L = ((2 << 3) + 5) << 21, | 457 L = ((2 << 3) + 5) << 21, |
458 PS = ((2 << 3) + 6) << 21, | 458 PS = ((2 << 3) + 6) << 21, |
459 // COP1 Encoding of Function Field When rs=S. | 459 // COP1 Encoding of Function Field When rs=S. |
| 460 ADD_S = ((0 << 3) + 0), |
| 461 SUB_S = ((0 << 3) + 1), |
| 462 MUL_S = ((0 << 3) + 2), |
| 463 DIV_S = ((0 << 3) + 3), |
| 464 ABS_S = ((0 << 3) + 5), |
| 465 SQRT_S = ((0 << 3) + 4), |
| 466 MOV_S = ((0 << 3) + 6), |
| 467 NEG_S = ((0 << 3) + 7), |
460 ROUND_L_S = ((1 << 3) + 0), | 468 ROUND_L_S = ((1 << 3) + 0), |
461 TRUNC_L_S = ((1 << 3) + 1), | 469 TRUNC_L_S = ((1 << 3) + 1), |
462 CEIL_L_S = ((1 << 3) + 2), | 470 CEIL_L_S = ((1 << 3) + 2), |
463 FLOOR_L_S = ((1 << 3) + 3), | 471 FLOOR_L_S = ((1 << 3) + 3), |
464 ROUND_W_S = ((1 << 3) + 4), | 472 ROUND_W_S = ((1 << 3) + 4), |
465 TRUNC_W_S = ((1 << 3) + 5), | 473 TRUNC_W_S = ((1 << 3) + 5), |
466 CEIL_W_S = ((1 << 3) + 6), | 474 CEIL_W_S = ((1 << 3) + 6), |
467 FLOOR_W_S = ((1 << 3) + 7), | 475 FLOOR_W_S = ((1 << 3) + 7), |
| 476 RECIP_S = ((2 << 3) + 5), |
| 477 RSQRT_S = ((2 << 3) + 6), |
468 CVT_D_S = ((4 << 3) + 1), | 478 CVT_D_S = ((4 << 3) + 1), |
469 CVT_W_S = ((4 << 3) + 4), | 479 CVT_W_S = ((4 << 3) + 4), |
470 CVT_L_S = ((4 << 3) + 5), | 480 CVT_L_S = ((4 << 3) + 5), |
471 CVT_PS_S = ((4 << 3) + 6), | 481 CVT_PS_S = ((4 << 3) + 6), |
472 // COP1 Encoding of Function Field When rs=D. | 482 // COP1 Encoding of Function Field When rs=D. |
473 ADD_D = ((0 << 3) + 0), | 483 ADD_D = ((0 << 3) + 0), |
474 SUB_D = ((0 << 3) + 1), | 484 SUB_D = ((0 << 3) + 1), |
475 MUL_D = ((0 << 3) + 2), | 485 MUL_D = ((0 << 3) + 2), |
476 DIV_D = ((0 << 3) + 3), | 486 DIV_D = ((0 << 3) + 3), |
477 SQRT_D = ((0 << 3) + 4), | 487 SQRT_D = ((0 << 3) + 4), |
478 ABS_D = ((0 << 3) + 5), | 488 ABS_D = ((0 << 3) + 5), |
479 MOV_D = ((0 << 3) + 6), | 489 MOV_D = ((0 << 3) + 6), |
480 NEG_D = ((0 << 3) + 7), | 490 NEG_D = ((0 << 3) + 7), |
481 ROUND_L_D = ((1 << 3) + 0), | 491 ROUND_L_D = ((1 << 3) + 0), |
482 TRUNC_L_D = ((1 << 3) + 1), | 492 TRUNC_L_D = ((1 << 3) + 1), |
483 CEIL_L_D = ((1 << 3) + 2), | 493 CEIL_L_D = ((1 << 3) + 2), |
484 FLOOR_L_D = ((1 << 3) + 3), | 494 FLOOR_L_D = ((1 << 3) + 3), |
485 ROUND_W_D = ((1 << 3) + 4), | 495 ROUND_W_D = ((1 << 3) + 4), |
486 TRUNC_W_D = ((1 << 3) + 5), | 496 TRUNC_W_D = ((1 << 3) + 5), |
487 CEIL_W_D = ((1 << 3) + 6), | 497 CEIL_W_D = ((1 << 3) + 6), |
488 FLOOR_W_D = ((1 << 3) + 7), | 498 FLOOR_W_D = ((1 << 3) + 7), |
489 MIN = ((3 << 3) + 4), | 499 RECIP_D = ((2 << 3) + 5), |
490 MINA = ((3 << 3) + 5), | 500 RSQRT_D = ((2 << 3) + 6), |
491 MAX = ((3 << 3) + 6), | |
492 MAXA = ((3 << 3) + 7), | |
493 CVT_S_D = ((4 << 3) + 0), | 501 CVT_S_D = ((4 << 3) + 0), |
494 CVT_W_D = ((4 << 3) + 4), | 502 CVT_W_D = ((4 << 3) + 4), |
495 CVT_L_D = ((4 << 3) + 5), | 503 CVT_L_D = ((4 << 3) + 5), |
496 C_F_D = ((6 << 3) + 0), | 504 C_F_D = ((6 << 3) + 0), |
497 C_UN_D = ((6 << 3) + 1), | 505 C_UN_D = ((6 << 3) + 1), |
498 C_EQ_D = ((6 << 3) + 2), | 506 C_EQ_D = ((6 << 3) + 2), |
499 C_UEQ_D = ((6 << 3) + 3), | 507 C_UEQ_D = ((6 << 3) + 3), |
500 C_OLT_D = ((6 << 3) + 4), | 508 C_OLT_D = ((6 << 3) + 4), |
501 C_ULT_D = ((6 << 3) + 5), | 509 C_ULT_D = ((6 << 3) + 5), |
502 C_OLE_D = ((6 << 3) + 6), | 510 C_OLE_D = ((6 << 3) + 6), |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
536 CMP_OGT = ((2 << 3) + 7), // Reserved, not implemented. | 544 CMP_OGT = ((2 << 3) + 7), // Reserved, not implemented. |
537 CMP_SAT = ((3 << 3) + 0), // Reserved, not implemented. | 545 CMP_SAT = ((3 << 3) + 0), // Reserved, not implemented. |
538 CMP_SOR = ((3 << 3) + 1), | 546 CMP_SOR = ((3 << 3) + 1), |
539 CMP_SUNE = ((3 << 3) + 2), | 547 CMP_SUNE = ((3 << 3) + 2), |
540 CMP_SNE = ((3 << 3) + 3), | 548 CMP_SNE = ((3 << 3) + 3), |
541 CMP_SUGE = ((3 << 3) + 4), // Reserved, not implemented. | 549 CMP_SUGE = ((3 << 3) + 4), // Reserved, not implemented. |
542 CMP_SOGE = ((3 << 3) + 5), // Reserved, not implemented. | 550 CMP_SOGE = ((3 << 3) + 5), // Reserved, not implemented. |
543 CMP_SUGT = ((3 << 3) + 6), // Reserved, not implemented. | 551 CMP_SUGT = ((3 << 3) + 6), // Reserved, not implemented. |
544 CMP_SOGT = ((3 << 3) + 7), // Reserved, not implemented. | 552 CMP_SOGT = ((3 << 3) + 7), // Reserved, not implemented. |
545 | 553 |
| 554 MIN = ((3 << 3) + 4), |
| 555 MINA = ((3 << 3) + 5), |
| 556 MAX = ((3 << 3) + 6), |
| 557 MAXA = ((3 << 3) + 7), |
546 SEL = ((2 << 3) + 0), | 558 SEL = ((2 << 3) + 0), |
| 559 MOVZ_C = ((2 << 3) + 2), |
| 560 MOVN_C = ((2 << 3) + 3), |
547 SELEQZ_C = ((2 << 3) + 4), // COP1 on FPR registers. | 561 SELEQZ_C = ((2 << 3) + 4), // COP1 on FPR registers. |
| 562 MOVF = ((2 << 3) + 1), // Function field for MOVT.fmt and MOVF.fmt |
548 SELNEZ_C = ((2 << 3) + 7), // COP1 on FPR registers. | 563 SELNEZ_C = ((2 << 3) + 7), // COP1 on FPR registers. |
549 // COP1 Encoding of Function Field When rs=PS. | 564 // COP1 Encoding of Function Field When rs=PS. |
550 // COP1X Encoding of Function Field. | 565 // COP1X Encoding of Function Field. |
551 MADD_D = ((4 << 3) + 1), | 566 MADD_D = ((4 << 3) + 1), |
552 | 567 |
553 NULLSF = 0 | 568 NULLSF = 0 |
554 }; | 569 }; |
555 | 570 |
556 | 571 |
557 // ----- Emulated conditions. | 572 // ----- Emulated conditions. |
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
966 // JS argument slots size. | 981 // JS argument slots size. |
967 const int kJSArgsSlotsSize = 0 * Instruction::kInstrSize; | 982 const int kJSArgsSlotsSize = 0 * Instruction::kInstrSize; |
968 // Assembly builtins argument slots size. | 983 // Assembly builtins argument slots size. |
969 const int kBArgsSlotsSize = 0 * Instruction::kInstrSize; | 984 const int kBArgsSlotsSize = 0 * Instruction::kInstrSize; |
970 | 985 |
971 const int kBranchReturnOffset = 2 * Instruction::kInstrSize; | 986 const int kBranchReturnOffset = 2 * Instruction::kInstrSize; |
972 | 987 |
973 } } // namespace v8::internal | 988 } } // namespace v8::internal |
974 | 989 |
975 #endif // #ifndef V8_MIPS_CONSTANTS_H_ | 990 #endif // #ifndef V8_MIPS_CONSTANTS_H_ |
OLD | NEW |