Lines Matching defs:const

29   OptionalOperator(bool supported, const Operator* op)
32 bool IsSupported() const { return supported_; }
34 const Operator* op() const {
40 const Operator* placeholder() const { return op_; }
44 const Operator* const op_;
51 V8_EXPORT_PRIVATE LoadRepresentation LoadRepresentationOf(Operator const*)
62 LoadRepresentation representation() const { return representation_; }
63 AtomicMemoryOrder order() const { return order_; }
77 V8_EXPORT_PRIVATE AtomicLoadParameters AtomicLoadParametersOf(Operator const*)
119 V8_EXPORT_PRIVATE LoadTransformParameters const& LoadTransformParametersOf(
120 Operator const*) V8_WARN_UNUSED_RESULT;
134 V8_EXPORT_PRIVATE LoadLaneParameters const& LoadLaneParametersOf(
135 Operator const*) V8_WARN_UNUSED_RESULT;
147 MachineRepresentation representation() const { return representation_; }
148 WriteBarrierKind write_barrier_kind() const { return write_barrier_kind_; }
162 V8_EXPORT_PRIVATE StoreRepresentation const& StoreRepresentationOf(
163 Operator const*) V8_WARN_UNUSED_RESULT;
174 MachineRepresentation representation() const {
177 WriteBarrierKind write_barrier_kind() const {
180 AtomicMemoryOrder order() const { return order_; }
182 StoreRepresentation store_representation() const {
199 V8_EXPORT_PRIVATE AtomicStoreParameters const& AtomicStoreParametersOf(
200 Operator const*) V8_WARN_UNUSED_RESULT;
205 UnalignedStoreRepresentation const& UnalignedStoreRepresentationOf(
206 Operator const*) V8_WARN_UNUSED_RESULT;
216 V8_EXPORT_PRIVATE StoreLaneParameters const& StoreLaneParametersOf(
217 Operator const*) V8_WARN_UNUSED_RESULT;
224 int size() const { return size_; }
225 int alignment() const { return alignment_; }
241 V8_EXPORT_PRIVATE StackSlotRepresentation const& StackSlotRepresentationOf(
242 Operator const* op) V8_WARN_UNUSED_RESULT;
244 MachineType AtomicOpType(Operator const* op) V8_WARN_UNUSED_RESULT;
248 explicit S128ImmediateParameter(const uint8_t immediate[16]) {
252 const std::array<uint8_t, 16>& immediate() const { return immediate_; }
253 const uint8_t* data() const { return immediate_.data(); }
254 uint8_t operator[](int x) const { return immediate_[x]; }
260 V8_EXPORT_PRIVATE bool operator==(S128ImmediateParameter const& lhs,
261 S128ImmediateParameter const& rhs);
262 bool operator!=(S128ImmediateParameter const& lhs,
263 S128ImmediateParameter const& rhs);
265 size_t hash_value(S128ImmediateParameter const& p);
268 S128ImmediateParameter const&);
270 V8_EXPORT_PRIVATE S128ImmediateParameter const& S128ImmediateParameterOf(
271 Operator const* op) V8_WARN_UNUSED_RESULT;
273 StackCheckKind StackCheckKindOf(Operator const* op) V8_WARN_UNUSED_RESULT;
283 ShiftKind ShiftKindOf(Operator const*) V8_WARN_UNUSED_RESULT;
348 bool IsUnalignedLoadSupported(MachineRepresentation rep) const {
352 bool IsUnalignedStoreSupported(MachineRepresentation rep) const {
381 MachineRepresentation rep) const {
395 const AlignmentRequirements::UnalignedAccessSupport unalignedSupport_;
396 const base::EnumSet<MachineRepresentation> unalignedLoadUnsupportedTypes_;
397 const base::EnumSet<MachineRepresentation> unalignedStoreUnsupportedTypes_;
407 MachineOperatorBuilder(const MachineOperatorBuilder&) = delete;
408 MachineOperatorBuilder& operator=(const MachineOperatorBuilder&) = delete;
410 const Operator* Comment(const char* msg);
411 const Operator* AbortCSADcheck();
412 const Operator* DebugBreak();
413 const Operator* UnsafePointerAdd();
415 const Operator* Word32And();
416 const Operator* Word32Or();
417 const Operator* Word32Xor();
418 const Operator* Word32Shl();
419 const Operator* Word32Shr();
420 const Operator* Word32Sar(ShiftKind kind);
421 const Operator* Word32Sar() { return Word32Sar(ShiftKind::kNormal); }
422 const Operator* Word32SarShiftOutZeros() {
425 const OptionalOperator Word32Rol();
426 const Operator* Word32Ror();
427 const Operator* Word32Equal();
428 const Operator* Word32Clz();
429 const OptionalOperator Word32Ctz();
430 const OptionalOperator Word32Popcnt();
431 const OptionalOperator Word64Popcnt();
432 const OptionalOperator Word32ReverseBits();
433 const OptionalOperator Word64ReverseBits();
434 const Operator* Word32ReverseBytes();
435 const Operator* Word64ReverseBytes();
436 const Operator* Simd128ReverseBytes();
437 const OptionalOperator Int32AbsWithOverflow();
438 const OptionalOperator Int64AbsWithOverflow();
443 bool Word32ShiftIsSafe() const { return flags_ & kWord32ShiftIsSafe; }
448 bool SatConversionIsSafe() const { return flags_ & kSatConversionIsSafe; }
450 const Operator* Word64And();
451 const Operator* Word64Or();
452 const Operator* Word64Xor();
453 const Operator* Word64Shl();
454 const Operator* Word64Shr();
455 const Operator* Word64Sar(ShiftKind kind);
456 const Operator* Word64Sar() { return Word64Sar(ShiftKind::kNormal); }
457 const Operator* Word64SarShiftOutZeros() {
466 const OptionalOperator Word64Rol();
467 const Operator* Word64Ror();
468 const Operator* Word64Clz();
469 const OptionalOperator Word64Ctz();
470 const OptionalOperator Word64RolLowerable();
471 const Operator* Word64RorLowerable();
472 const Operator* Word64ClzLowerable();
473 const OptionalOperator Word64CtzLowerable();
475 const Operator* Word64Equal();
477 const Operator* Int32PairAdd();
478 const Operator* Int32PairSub();
479 const Operator* Int32PairMul();
480 const Operator* Word32PairShl();
481 const Operator* Word32PairShr();
482 const Operator* Word32PairSar();
484 const Operator* Int32Add();
485 const Operator* Int32AddWithOverflow();
486 const Operator* Int32Sub();
487 const Operator* Int32SubWithOverflow();
488 const Operator* Int32Mul();
489 const Operator* Int32MulWithOverflow();
490 const Operator* Int32MulHigh();
491 const Operator* Int32Div();
492 const Operator* Int32Mod();
493 const Operator* Int32LessThan();
494 const Operator* Int32LessThanOrEqual();
495 const Operator* Uint32Div();
496 const Operator* Uint32LessThan();
497 const Operator* Uint32LessThanOrEqual();
498 const Operator* Uint32Mod();
499 const Operator* Uint32MulHigh();
500 bool Int32DivIsSafe() const { return flags_ & kInt32DivIsSafe; }
501 bool Uint32DivIsSafe() const { return flags_ & kUint32DivIsSafe; }
503 const Operator* Int64Add();
504 const Operator* Int64AddWithOverflow();
505 const Operator* Int64Sub();
506 const Operator* Int64SubWithOverflow();
507 const Operator* Int64Mul();
508 const Operator* Int64Div();
509 const Operator* Int64Mod();
510 const Operator* Int64LessThan();
511 const Operator* Int64LessThanOrEqual();
512 const Operator* Uint64Div();
513 const Operator* Uint64LessThan();
514 const Operator* Uint64LessThanOrEqual();
515 const Operator* Uint64Mod();
518 const Operator* BitcastTaggedToWord();
526 const Operator* BitcastTaggedToWordForTagAndSmiBits();
530 const Operator* BitcastMaybeObjectToWord();
533 const Operator* BitcastWordToTagged();
536 const Operator* BitcastWordToTaggedSigned();
539 const Operator* TruncateFloat64ToWord32();
550 const Operator* ChangeFloat32ToFloat64();
551 const Operator* ChangeFloat64ToInt32(); // narrowing
552 const Operator* ChangeFloat64ToInt64();
553 const Operator* ChangeFloat64ToUint32(); // narrowing
554 const Operator* ChangeFloat64ToUint64();
555 const Operator* TruncateFloat64ToInt64(TruncateKind kind);
556 const Operator* TruncateFloat64ToUint32();
557 const Operator* TruncateFloat32ToInt32(TruncateKind kind);
558 const Operator* TruncateFloat32ToUint32(TruncateKind kind);
559 const Operator* TryTruncateFloat32ToInt64();
560 const Operator* TryTruncateFloat64ToInt64();
561 const Operator* TryTruncateFloat32ToUint64();
562 const Operator* TryTruncateFloat64ToUint64();
563 const Operator* ChangeInt32ToFloat64();
564 const Operator* BitcastWord32ToWord64();
565 const Operator* ChangeInt32ToInt64();
566 const Operator* ChangeInt64ToFloat64();
567 const Operator* ChangeUint32ToFloat64();
568 const Operator* ChangeUint32ToUint64();
572 const Operator* TruncateFloat64ToFloat32();
573 const Operator* TruncateInt64ToInt32();
574 const Operator* RoundFloat64ToInt32();
575 const Operator* RoundInt32ToFloat32();
576 const Operator* RoundInt64ToFloat32();
577 const Operator* RoundInt64ToFloat64();
578 const Operator* RoundUint32ToFloat32();
579 const Operator* RoundUint64ToFloat32();
580 const Operator* RoundUint64ToFloat64();
584 const Operator* BitcastFloat32ToInt32();
585 const Operator* BitcastFloat64ToInt64();
586 const Operator* BitcastInt32ToFloat32();
587 const Operator* BitcastInt64ToFloat64();
590 const Operator* SignExtendWord8ToInt32();
591 const Operator* SignExtendWord16ToInt32();
592 const Operator* SignExtendWord8ToInt64();
593 const Operator* SignExtendWord16ToInt64();
594 const Operator* SignExtendWord32ToInt64();
598 const Operator* Float32Add();
599 const Operator* Float32Sub();
600 const Operator* Float32Mul();
601 const Operator* Float32Div();
602 const Operator* Float32Sqrt();
606 const Operator* Float64Add();
607 const Operator* Float64Sub();
608 const Operator* Float64Mul();
609 const Operator* Float64Div();
610 const Operator* Float64Mod();
611 const Operator* Float64Sqrt();
614 const Operator* Float32Equal();
615 const Operator* Float32LessThan();
616 const Operator* Float32LessThanOrEqual();
619 const Operator* Float64Equal();
620 const Operator* Float64LessThan();
621 const Operator* Float64LessThanOrEqual();
624 const Operator* Float64Max();
625 const Operator* Float64Min();
627 const Operator* Float32Max();
628 const Operator* Float32Min();
631 const Operator* Float32Abs();
634 const Operator* Float64Abs();
637 const OptionalOperator Float32RoundDown();
638 const OptionalOperator Float64RoundDown();
639 const OptionalOperator Float32RoundUp();
640 const OptionalOperator Float64RoundUp();
641 const OptionalOperator Float32RoundTruncate();
642 const OptionalOperator Float64RoundTruncate();
643 const OptionalOperator Float64RoundTiesAway();
644 const OptionalOperator Float32RoundTiesEven();
645 const OptionalOperator Float64RoundTiesEven();
650 const OptionalOperator Word32Select();
651 const OptionalOperator Word64Select();
652 const OptionalOperator Float32Select();
653 const OptionalOperator Float64Select();
656 const Operator* Float32Neg();
657 const Operator* Float64Neg();
660 const Operator* Float64Acos();
661 const Operator* Float64Acosh();
662 const Operator* Float64Asin();
663 const Operator* Float64Asinh();
664 const Operator* Float64Atan();
665 const Operator* Float64Atan2();
666 const Operator* Float64Atanh();
667 const Operator* Float64Cos();
668 const Operator* Float64Cosh();
669 const Operator* Float64Sin();
670 const Operator* Float64Sinh();
671 const Operator* Float64Tan();
672 const Operator* Float64Tanh();
675 const Operator* Float64Exp();
676 const Operator* Float64Expm1();
677 const Operator* Float64Pow();
680 const Operator* Float64Log();
681 const Operator* Float64Log1p();
682 const Operator* Float64Log2();
683 const Operator* Float64Log10();
686 const Operator* Float64Cbrt();
689 const Operator* Float64ExtractLowWord32();
690 const Operator* Float64ExtractHighWord32();
691 const Operator* Float64InsertLowWord32();
692 const Operator* Float64InsertHighWord32();
696 const Operator* Float64SilenceNaN();
699 const Operator* F64x2Splat();
700 const Operator* F64x2Abs();
701 const Operator* F64x2Neg();
702 const Operator* F64x2Sqrt();
703 const Operator* F64x2Add();
704 const Operator* F64x2Sub();
705 const Operator* F64x2Mul();
706 const Operator* F64x2Div();
707 const Operator* F64x2ExtractLane(int32_t);
708 const Operator* F64x2Min();
709 const Operator* F64x2Max();
710 const Operator* F64x2ReplaceLane(int32_t);
711 const Operator* F64x2Eq();
712 const Operator* F64x2Ne();
713 const Operator* F64x2Lt();
714 const Operator* F64x2Le();
715 const Operator* F64x2Qfma();
716 const Operator* F64x2Qfms();
717 const Operator* F64x2Pmin();
718 const Operator* F64x2Pmax();
719 const Operator* F64x2Ceil();
720 const Operator* F64x2Floor();
721 const Operator* F64x2Trunc();
722 const Operator* F64x2NearestInt();
723 const Operator* F64x2ConvertLowI32x4S();
724 const Operator* F64x2ConvertLowI32x4U();
725 const Operator* F64x2PromoteLowF32x4();
727 const Operator* F32x4Splat();
728 const Operator* F32x4ExtractLane(int32_t);
729 const Operator* F32x4ReplaceLane(int32_t);
730 const Operator* F32x4SConvertI32x4();
731 const Operator* F32x4UConvertI32x4();
732 const Operator* F32x4Abs();
733 const Operator* F32x4Neg();
734 const Operator* F32x4Sqrt();
735 const Operator* F32x4RecipApprox();
736 const Operator* F32x4RecipSqrtApprox();
737 const Operator* F32x4Add();
738 const Operator* F32x4Sub();
739 const Operator* F32x4Mul();
740 const Operator* F32x4Div();
741 const Operator* F32x4Min();
742 const Operator* F32x4Max();
743 const Operator* F32x4Eq();
744 const Operator* F32x4Ne();
745 const Operator* F32x4Lt();
746 const Operator* F32x4Le();
747 const Operator* F32x4Qfma();
748 const Operator* F32x4Qfms();
749 const Operator* F32x4Pmin();
750 const Operator* F32x4Pmax();
751 const Operator* F32x4Ceil();
752 const Operator* F32x4Floor();
753 const Operator* F32x4Trunc();
754 const Operator* F32x4NearestInt();
755 const Operator* F32x4DemoteF64x2Zero();
757 const Operator* I64x2Splat();
758 const Operator* I64x2SplatI32Pair();
759 const Operator* I64x2ExtractLane(int32_t);
760 const Operator* I64x2ReplaceLane(int32_t);
761 const Operator* I64x2ReplaceLaneI32Pair(int32_t);
762 const Operator* I64x2Abs();
763 const Operator* I64x2Neg();
764 const Operator* I64x2SConvertI32x4Low();
765 const Operator* I64x2SConvertI32x4High();
766 const Operator* I64x2UConvertI32x4Low();
767 const Operator* I64x2UConvertI32x4High();
768 const Operator* I64x2BitMask();
769 const Operator* I64x2Shl();
770 const Operator* I64x2ShrS();
771 const Operator* I64x2Add();
772 const Operator* I64x2Sub();
773 const Operator* I64x2Mul();
774 const Operator* I64x2Eq();
775 const Operator* I64x2Ne();
776 const Operator* I64x2GtS();
777 const Operator* I64x2GeS();
778 const Operator* I64x2ShrU();
779 const Operator* I64x2ExtMulLowI32x4S();
780 const Operator* I64x2ExtMulHighI32x4S();
781 const Operator* I64x2ExtMulLowI32x4U();
782 const Operator* I64x2ExtMulHighI32x4U();
784 const Operator* I32x4Splat();
785 const Operator* I32x4ExtractLane(int32_t);
786 const Operator* I32x4ReplaceLane(int32_t);
787 const Operator* I32x4SConvertF32x4();
788 const Operator* I32x4SConvertI16x8Low();
789 const Operator* I32x4SConvertI16x8High();
790 const Operator* I32x4Neg();
791 const Operator* I32x4Shl();
792 const Operator* I32x4ShrS();
793 const Operator* I32x4Add();
794 const Operator* I32x4Sub();
795 const Operator* I32x4Mul();
796 const Operator* I32x4MinS();
797 const Operator* I32x4MaxS();
798 const Operator* I32x4Eq();
799 const Operator* I32x4Ne();
800 const Operator* I32x4GtS();
801 const Operator* I32x4GeS();
803 const Operator* I32x4UConvertF32x4();
804 const Operator* I32x4UConvertI16x8Low();
805 const Operator* I32x4UConvertI16x8High();
806 const Operator* I32x4ShrU();
807 const Operator* I32x4MinU();
808 const Operator* I32x4MaxU();
809 const Operator* I32x4GtU();
810 const Operator* I32x4GeU();
811 const Operator* I32x4Abs();
812 const Operator* I32x4BitMask();
813 const Operator* I32x4DotI16x8S();
814 const Operator* I32x4ExtMulLowI16x8S();
815 const Operator* I32x4ExtMulHighI16x8S();
816 const Operator* I32x4ExtMulLowI16x8U();
817 const Operator* I32x4ExtMulHighI16x8U();
818 const Operator* I32x4ExtAddPairwiseI16x8S();
819 const Operator* I32x4ExtAddPairwiseI16x8U();
820 const Operator* I32x4TruncSatF64x2SZero();
821 const Operator* I32x4TruncSatF64x2UZero();
823 const Operator* I16x8Splat();
824 const Operator* I16x8ExtractLaneU(int32_t);
825 const Operator* I16x8ExtractLaneS(int32_t);
826 const Operator* I16x8ReplaceLane(int32_t);
827 const Operator* I16x8SConvertI8x16Low();
828 const Operator* I16x8SConvertI8x16High();
829 const Operator* I16x8Neg();
830 const Operator* I16x8Shl();
831 const Operator* I16x8ShrS();
832 const Operator* I16x8SConvertI32x4();
833 const Operator* I16x8Add();
834 const Operator* I16x8AddSatS();
835 const Operator* I16x8Sub();
836 const Operator* I16x8SubSatS();
837 const Operator* I16x8Mul();
838 const Operator* I16x8MinS();
839 const Operator* I16x8MaxS();
840 const Operator* I16x8Eq();
841 const Operator* I16x8Ne();
842 const Operator* I16x8GtS();
843 const Operator* I16x8GeS();
845 const Operator* I16x8UConvertI8x16Low();
846 const Operator* I16x8UConvertI8x16High();
847 const Operator* I16x8ShrU();
848 const Operator* I16x8UConvertI32x4();
849 const Operator* I16x8AddSatU();
850 const Operator* I16x8SubSatU();
851 const Operator* I16x8MinU();
852 const Operator* I16x8MaxU();
853 const Operator* I16x8GtU();
854 const Operator* I16x8GeU();
855 const Operator* I16x8RoundingAverageU();
856 const Operator* I16x8Q15MulRSatS();
857 const Operator* I16x8Abs();
858 const Operator* I16x8BitMask();
859 const Operator* I16x8ExtMulLowI8x16S();
860 const Operator* I16x8ExtMulHighI8x16S();
861 const Operator* I16x8ExtMulLowI8x16U();
862 const Operator* I16x8ExtMulHighI8x16U();
863 const Operator* I16x8ExtAddPairwiseI8x16S();
864 const Operator* I16x8ExtAddPairwiseI8x16U();
866 const Operator* I8x16Splat();
867 const Operator* I8x16ExtractLaneU(int32_t);
868 const Operator* I8x16ExtractLaneS(int32_t);
869 const Operator* I8x16ReplaceLane(int32_t);
870 const Operator* I8x16Neg();
871 const Operator* I8x16Shl();
872 const Operator* I8x16ShrS();
873 const Operator* I8x16SConvertI16x8();
874 const Operator* I8x16Add();
875 const Operator* I8x16AddSatS();
876 const Operator* I8x16Sub();
877 const Operator* I8x16SubSatS();
878 const Operator* I8x16MinS();
879 const Operator* I8x16MaxS();
880 const Operator* I8x16Eq();
881 const Operator* I8x16Ne();
882 const Operator* I8x16GtS();
883 const Operator* I8x16GeS();
885 const Operator* I8x16ShrU();
886 const Operator* I8x16UConvertI16x8();
887 const Operator* I8x16AddSatU();
888 const Operator* I8x16SubSatU();
889 const Operator* I8x16MinU();
890 const Operator* I8x16MaxU();
891 const Operator* I8x16GtU();
892 const Operator* I8x16GeU();
893 const Operator* I8x16RoundingAverageU();
894 const Operator* I8x16Popcnt();
895 const Operator* I8x16Abs();
896 const Operator* I8x16BitMask();
898 const Operator* S128Const(const uint8_t value[16]);
900 const Operator* S128Zero();
901 const Operator* S128And();
902 const Operator* S128Or();
903 const Operator* S128Xor();
904 const Operator* S128Not();
905 const Operator* S128Select();
906 const Operator* S128AndNot();
908 const Operator* I8x16Swizzle(bool relaxed = false);
909 const Operator* I8x16Shuffle(const uint8_t shuffle[16]);
911 const Operator* V128AnyTrue();
912 const Operator* I64x2AllTrue();
913 const Operator* I32x4AllTrue();
914 const Operator* I16x8AllTrue();
915 const Operator* I8x16AllTrue();
918 const Operator* I8x16RelaxedLaneSelect();
919 const Operator* I16x8RelaxedLaneSelect();
920 const Operator* I32x4RelaxedLaneSelect();
921 const Operator* I64x2RelaxedLaneSelect();
922 const Operator* F32x4RelaxedMin();
923 const Operator* F32x4RelaxedMax();
924 const Operator* F64x2RelaxedMin();
925 const Operator* F64x2RelaxedMax();
926 const Operator* I32x4RelaxedTruncF32x4S();
927 const Operator* I32x4RelaxedTruncF32x4U();
928 const Operator* I32x4RelaxedTruncF64x2SZero();
929 const Operator* I32x4RelaxedTruncF64x2UZero();
932 const Operator* Load(LoadRepresentation rep);
933 const Operator* LoadImmutable(LoadRepresentation rep);
934 const Operator* ProtectedLoad(LoadRepresentation rep);
936 const Operator* LoadTransform(MemoryAccessKind kind,
940 const Operator* LoadLane(MemoryAccessKind kind, LoadRepresentation rep,
944 const Operator* Store(StoreRepresentation rep);
945 const Operator* ProtectedStore(MachineRepresentation rep);
948 const Operator* StoreLane(MemoryAccessKind kind, MachineRepresentation rep,
952 const Operator* UnalignedLoad(LoadRepresentation rep);
955 const Operator* UnalignedStore(UnalignedStoreRepresentation rep);
957 const Operator* StackSlot(int size, int alignment = 0);
958 const Operator* StackSlot(MachineRepresentation rep, int alignment = 0);
961 const Operator* LoadFramePointer();
962 const Operator* LoadParentFramePointer();
966 const Operator* StackPointerGreaterThan(StackCheckKind kind);
971 const Operator* LoadStackCheckOffset();
974 const Operator* MemBarrier();
977 const Operator* Word32AtomicLoad(AtomicLoadParameters params);
979 const Operator* Word64AtomicLoad(AtomicLoadParameters params);
981 const Operator* Word32AtomicStore(AtomicStoreParameters params);
983 const Operator* Word64AtomicStore(AtomicStoreParameters params);
985 const Operator* Word32AtomicExchange(MachineType type);
987 const Operator* Word64AtomicExchange(MachineType type);
989 const Operator* Word32AtomicCompareExchange(MachineType type);
991 const Operator* Word64AtomicCompareExchange(MachineType type);
993 const Operator* Word32AtomicAdd(MachineType type);
995 const Operator* Word32AtomicSub(MachineType type);
997 const Operator* Word32AtomicAnd(MachineType type);
999 const Operator* Word32AtomicOr(MachineType type);
1001 const Operator* Word32AtomicXor(MachineType type);
1003 const Operator* Word64AtomicAdd(MachineType type);
1005 const Operator* Word64AtomicSub(MachineType type);
1007 const Operator* Word64AtomicAnd(MachineType type);
1009 const Operator* Word64AtomicOr(MachineType type);
1011 const Operator* Word64AtomicXor(MachineType type);
1013 const Operator* Word32AtomicPairLoad(AtomicMemoryOrder order);
1015 const Operator* Word32AtomicPairStore(AtomicMemoryOrder order);
1017 const Operator* Word32AtomicPairAdd();
1019 const Operator* Word32AtomicPairSub();
1021 const Operator* Word32AtomicPairAnd();
1023 const Operator* Word32AtomicPairOr();
1025 const Operator* Word32AtomicPairXor();
1027 const Operator* Word32AtomicPairExchange();
1030 const Operator* Word32AtomicPairCompareExchange();
1033 bool Is32() const { return word() == MachineRepresentation::kWord32; }
1034 bool Is64() const { return word() == MachineRepresentation::kWord64; }
1035 MachineRepresentation word() const { return word_; }
1067 const Operator* Prefix##Suffix() { \
1074 const Operator* WordSar(ShiftKind kind = ShiftKind::kNormal) {
1077 const Operator* WordSarShiftOutZeros() {
1083 MachineOperatorGlobalCache const& cache_;
1084 MachineRepresentation const word_;
1085 Flags const flags_;
1086 AlignmentRequirements const alignment_requirements_;