OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_COMPILER_MACHINE_OPERATOR_H_ | 5 #ifndef V8_COMPILER_MACHINE_OPERATOR_H_ |
6 #define V8_COMPILER_MACHINE_OPERATOR_H_ | 6 #define V8_COMPILER_MACHINE_OPERATOR_H_ |
7 | 7 |
8 #include "src/base/compiler-specific.h" | 8 #include "src/base/compiler-specific.h" |
9 #include "src/base/flags.h" | 9 #include "src/base/flags.h" |
10 #include "src/globals.h" | 10 #include "src/globals.h" |
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
418 const Operator* Float64ExtractLowWord32(); | 418 const Operator* Float64ExtractLowWord32(); |
419 const Operator* Float64ExtractHighWord32(); | 419 const Operator* Float64ExtractHighWord32(); |
420 const Operator* Float64InsertLowWord32(); | 420 const Operator* Float64InsertLowWord32(); |
421 const Operator* Float64InsertHighWord32(); | 421 const Operator* Float64InsertHighWord32(); |
422 | 422 |
423 // Change signalling NaN to quiet NaN. | 423 // Change signalling NaN to quiet NaN. |
424 // Identity for any input that is not signalling NaN. | 424 // Identity for any input that is not signalling NaN. |
425 const Operator* Float64SilenceNaN(); | 425 const Operator* Float64SilenceNaN(); |
426 | 426 |
427 // SIMD operators. | 427 // SIMD operators. |
428 const Operator* CreateFloat32x4(); | 428 const Operator* Float32x4Splat(); |
429 const Operator* Float32x4ExtractLane(int32_t); | 429 const Operator* Float32x4ExtractLane(int32_t); |
430 const Operator* Float32x4ReplaceLane(int32_t); | 430 const Operator* Float32x4ReplaceLane(int32_t); |
431 const Operator* Float32x4Abs(); | 431 const Operator* Float32x4Abs(); |
432 const Operator* Float32x4Neg(); | 432 const Operator* Float32x4Neg(); |
433 const Operator* Float32x4Sqrt(); | 433 const Operator* Float32x4Sqrt(); |
434 const Operator* Float32x4RecipApprox(); | 434 const Operator* Float32x4RecipApprox(); |
435 const Operator* Float32x4RecipSqrtApprox(); | 435 const Operator* Float32x4RecipSqrtApprox(); |
436 const Operator* Float32x4Add(); | 436 const Operator* Float32x4Add(); |
437 const Operator* Float32x4Sub(); | 437 const Operator* Float32x4Sub(); |
438 const Operator* Float32x4Mul(); | 438 const Operator* Float32x4Mul(); |
439 const Operator* Float32x4Div(); | 439 const Operator* Float32x4Div(); |
440 const Operator* Float32x4Min(); | 440 const Operator* Float32x4Min(); |
441 const Operator* Float32x4Max(); | 441 const Operator* Float32x4Max(); |
442 const Operator* Float32x4MinNum(); | 442 const Operator* Float32x4MinNum(); |
443 const Operator* Float32x4MaxNum(); | 443 const Operator* Float32x4MaxNum(); |
444 const Operator* Float32x4Equal(); | 444 const Operator* Float32x4Equal(); |
445 const Operator* Float32x4NotEqual(); | 445 const Operator* Float32x4NotEqual(); |
446 const Operator* Float32x4LessThan(); | 446 const Operator* Float32x4LessThan(); |
447 const Operator* Float32x4LessThanOrEqual(); | 447 const Operator* Float32x4LessThanOrEqual(); |
448 const Operator* Float32x4GreaterThan(); | 448 const Operator* Float32x4GreaterThan(); |
449 const Operator* Float32x4GreaterThanOrEqual(); | 449 const Operator* Float32x4GreaterThanOrEqual(); |
450 const Operator* Float32x4FromInt32x4(); | 450 const Operator* Float32x4FromInt32x4(); |
451 const Operator* Float32x4FromUint32x4(); | 451 const Operator* Float32x4FromUint32x4(); |
452 | 452 |
453 const Operator* CreateInt32x4(); | 453 const Operator* Int32x4Splat(); |
454 const Operator* Int32x4ExtractLane(int32_t); | 454 const Operator* Int32x4ExtractLane(int32_t); |
455 const Operator* Int32x4ReplaceLane(int32_t); | 455 const Operator* Int32x4ReplaceLane(int32_t); |
456 const Operator* Int32x4Neg(); | 456 const Operator* Int32x4Neg(); |
457 const Operator* Int32x4Add(); | 457 const Operator* Int32x4Add(); |
458 const Operator* Int32x4Sub(); | 458 const Operator* Int32x4Sub(); |
459 const Operator* Int32x4Mul(); | 459 const Operator* Int32x4Mul(); |
460 const Operator* Int32x4Min(); | 460 const Operator* Int32x4Min(); |
461 const Operator* Int32x4Max(); | 461 const Operator* Int32x4Max(); |
462 const Operator* Int32x4ShiftLeftByScalar(int32_t); | 462 const Operator* Int32x4ShiftLeftByScalar(int32_t); |
463 const Operator* Int32x4ShiftRightByScalar(int32_t); | 463 const Operator* Int32x4ShiftRightByScalar(int32_t); |
(...skipping 14 matching lines...) Expand all Loading... |
478 const Operator* Uint32x4GreaterThanOrEqual(); | 478 const Operator* Uint32x4GreaterThanOrEqual(); |
479 const Operator* Uint32x4FromFloat32x4(); | 479 const Operator* Uint32x4FromFloat32x4(); |
480 | 480 |
481 const Operator* Bool32x4And(); | 481 const Operator* Bool32x4And(); |
482 const Operator* Bool32x4Or(); | 482 const Operator* Bool32x4Or(); |
483 const Operator* Bool32x4Xor(); | 483 const Operator* Bool32x4Xor(); |
484 const Operator* Bool32x4Not(); | 484 const Operator* Bool32x4Not(); |
485 const Operator* Bool32x4AnyTrue(); | 485 const Operator* Bool32x4AnyTrue(); |
486 const Operator* Bool32x4AllTrue(); | 486 const Operator* Bool32x4AllTrue(); |
487 | 487 |
488 const Operator* CreateInt16x8(); | 488 const Operator* Int16x8Splat(); |
489 const Operator* Int16x8ExtractLane(int32_t); | 489 const Operator* Int16x8ExtractLane(int32_t); |
490 const Operator* Int16x8ReplaceLane(int32_t); | 490 const Operator* Int16x8ReplaceLane(int32_t); |
491 const Operator* Int16x8Neg(); | 491 const Operator* Int16x8Neg(); |
492 const Operator* Int16x8Add(); | 492 const Operator* Int16x8Add(); |
493 const Operator* Int16x8AddSaturate(); | 493 const Operator* Int16x8AddSaturate(); |
494 const Operator* Int16x8Sub(); | 494 const Operator* Int16x8Sub(); |
495 const Operator* Int16x8SubSaturate(); | 495 const Operator* Int16x8SubSaturate(); |
496 const Operator* Int16x8Mul(); | 496 const Operator* Int16x8Mul(); |
497 const Operator* Int16x8Min(); | 497 const Operator* Int16x8Min(); |
498 const Operator* Int16x8Max(); | 498 const Operator* Int16x8Max(); |
(...skipping 16 matching lines...) Expand all Loading... |
515 const Operator* Uint16x8GreaterThan(); | 515 const Operator* Uint16x8GreaterThan(); |
516 const Operator* Uint16x8GreaterThanOrEqual(); | 516 const Operator* Uint16x8GreaterThanOrEqual(); |
517 | 517 |
518 const Operator* Bool16x8And(); | 518 const Operator* Bool16x8And(); |
519 const Operator* Bool16x8Or(); | 519 const Operator* Bool16x8Or(); |
520 const Operator* Bool16x8Xor(); | 520 const Operator* Bool16x8Xor(); |
521 const Operator* Bool16x8Not(); | 521 const Operator* Bool16x8Not(); |
522 const Operator* Bool16x8AnyTrue(); | 522 const Operator* Bool16x8AnyTrue(); |
523 const Operator* Bool16x8AllTrue(); | 523 const Operator* Bool16x8AllTrue(); |
524 | 524 |
525 const Operator* CreateInt8x16(); | 525 const Operator* Int8x16Splat(); |
526 const Operator* Int8x16ExtractLane(int32_t); | 526 const Operator* Int8x16ExtractLane(int32_t); |
527 const Operator* Int8x16ReplaceLane(int32_t); | 527 const Operator* Int8x16ReplaceLane(int32_t); |
528 const Operator* Int8x16Neg(); | 528 const Operator* Int8x16Neg(); |
529 const Operator* Int8x16Add(); | 529 const Operator* Int8x16Add(); |
530 const Operator* Int8x16AddSaturate(); | 530 const Operator* Int8x16AddSaturate(); |
531 const Operator* Int8x16Sub(); | 531 const Operator* Int8x16Sub(); |
532 const Operator* Int8x16SubSaturate(); | 532 const Operator* Int8x16SubSaturate(); |
533 const Operator* Int8x16Mul(); | 533 const Operator* Int8x16Mul(); |
534 const Operator* Int8x16Min(); | 534 const Operator* Int8x16Min(); |
535 const Operator* Int8x16Max(); | 535 const Operator* Int8x16Max(); |
(...skipping 24 matching lines...) Expand all Loading... |
560 const Operator* Bool8x16AllTrue(); | 560 const Operator* Bool8x16AllTrue(); |
561 | 561 |
562 const Operator* Simd128Load(); | 562 const Operator* Simd128Load(); |
563 const Operator* Simd128Load1(); | 563 const Operator* Simd128Load1(); |
564 const Operator* Simd128Load2(); | 564 const Operator* Simd128Load2(); |
565 const Operator* Simd128Load3(); | 565 const Operator* Simd128Load3(); |
566 const Operator* Simd128Store(); | 566 const Operator* Simd128Store(); |
567 const Operator* Simd128Store1(); | 567 const Operator* Simd128Store1(); |
568 const Operator* Simd128Store2(); | 568 const Operator* Simd128Store2(); |
569 const Operator* Simd128Store3(); | 569 const Operator* Simd128Store3(); |
| 570 |
| 571 const Operator* Simd128Zero(); |
570 const Operator* Simd128And(); | 572 const Operator* Simd128And(); |
571 const Operator* Simd128Or(); | 573 const Operator* Simd128Or(); |
572 const Operator* Simd128Xor(); | 574 const Operator* Simd128Xor(); |
573 const Operator* Simd128Not(); | 575 const Operator* Simd128Not(); |
| 576 |
574 const Operator* Simd32x4Select(); | 577 const Operator* Simd32x4Select(); |
575 const Operator* Simd32x4Swizzle(uint32_t); | 578 const Operator* Simd32x4Swizzle(uint32_t); |
576 const Operator* Simd32x4Shuffle(); | 579 const Operator* Simd32x4Shuffle(); |
577 const Operator* Simd16x8Select(); | 580 const Operator* Simd16x8Select(); |
578 const Operator* Simd16x8Swizzle(uint32_t); | 581 const Operator* Simd16x8Swizzle(uint32_t); |
579 const Operator* Simd16x8Shuffle(); | 582 const Operator* Simd16x8Shuffle(); |
580 const Operator* Simd8x16Select(); | 583 const Operator* Simd8x16Select(); |
581 const Operator* Simd8x16Swizzle(uint32_t); | 584 const Operator* Simd8x16Swizzle(uint32_t); |
582 const Operator* Simd8x16Shuffle(); | 585 const Operator* Simd8x16Shuffle(); |
583 | 586 |
| 587 const Operator* Simd1x4Zero(); |
| 588 const Operator* Simd1x8Zero(); |
| 589 const Operator* Simd1x16Zero(); |
| 590 |
584 // load [base + index] | 591 // load [base + index] |
585 const Operator* Load(LoadRepresentation rep); | 592 const Operator* Load(LoadRepresentation rep); |
586 const Operator* ProtectedLoad(LoadRepresentation rep); | 593 const Operator* ProtectedLoad(LoadRepresentation rep); |
587 | 594 |
588 // store [base + index], value | 595 // store [base + index], value |
589 const Operator* Store(StoreRepresentation rep); | 596 const Operator* Store(StoreRepresentation rep); |
590 const Operator* ProtectedStore(MachineRepresentation rep); | 597 const Operator* ProtectedStore(MachineRepresentation rep); |
591 | 598 |
592 // unaligned load [base + index] | 599 // unaligned load [base + index] |
593 const Operator* UnalignedLoad(UnalignedLoadRepresentation rep); | 600 const Operator* UnalignedLoad(UnalignedLoadRepresentation rep); |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
671 }; | 678 }; |
672 | 679 |
673 | 680 |
674 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) | 681 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) |
675 | 682 |
676 } // namespace compiler | 683 } // namespace compiler |
677 } // namespace internal | 684 } // namespace internal |
678 } // namespace v8 | 685 } // namespace v8 |
679 | 686 |
680 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 687 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
OLD | NEW |