Lines Matching full:x86

15 #include "X86.h"
33 #define DEBUG_TYPE "x86-domain-reassignment"
38 "disable-x86-domain-reassignment", cl::Hidden,
39 cl::desc("X86: Disable Virtual Register Reassignment."), cl::init(false));
45 return X86::GR64RegClass.hasSubClassEq(RC) || in isGPR()
46 X86::GR32RegClass.hasSubClassEq(RC) || in isGPR()
47 X86::GR16RegClass.hasSubClassEq(RC) || in isGPR()
48 X86::GR8RegClass.hasSubClassEq(RC); in isGPR()
53 return X86::VK16RegClass.hasSubClassEq(RC); in isMask()
69 if (X86::GR8RegClass.hasSubClassEq(SrcRC)) in getDstRC()
70 return &X86::VK8RegClass; in getDstRC()
71 if (X86::GR16RegClass.hasSubClassEq(SrcRC)) in getDstRC()
72 return &X86::VK16RegClass; in getDstRC()
73 if (X86::GR32RegClass.hasSubClassEq(SrcRC)) in getDstRC()
74 return &X86::VK32RegClass; in getDstRC()
75 if (X86::GR64RegClass.hasSubClassEq(SrcRC)) in getDstRC()
76 return &X86::VK64RegClass; in getDstRC()
223 if (DstReg.isPhysical() && (X86::GR8RegClass.contains(DstReg) || in isLegal()
224 X86::GR16RegClass.contains(DstReg))) in isLegal()
227 if (SrcReg.isPhysical() && (X86::GR8RegClass.contains(SrcReg) || in isLegal()
228 X86::GR16RegClass.contains(SrcReg))) in isLegal()
395 return "X86 Domain Reassignment Pass"; in getPassName()
534 MemOpEnd = MemOpStart + X86::AddrNumOperands; in usedAsAddr()
569 OpIdx += (X86::AddrNumOperands - 1); in buildClosure()
623 createReplacerDstCOPY(X86::MOVZX32rm16, GET_EGPR_IF_ENABLED(X86::KMOVWkm)); in initConverters()
624 createReplacerDstCOPY(X86::MOVZX64rm16, GET_EGPR_IF_ENABLED(X86::KMOVWkm)); in initConverters()
626 createReplacerDstCOPY(X86::MOVZX32rr16, GET_EGPR_IF_ENABLED(X86::KMOVWkk)); in initConverters()
627 createReplacerDstCOPY(X86::MOVZX64rr16, GET_EGPR_IF_ENABLED(X86::KMOVWkk)); in initConverters()
630 createReplacerDstCOPY(X86::MOVZX16rm8, GET_EGPR_IF_ENABLED(X86::KMOVBkm)); in initConverters()
631 createReplacerDstCOPY(X86::MOVZX32rm8, GET_EGPR_IF_ENABLED(X86::KMOVBkm)); in initConverters()
632 createReplacerDstCOPY(X86::MOVZX64rm8, GET_EGPR_IF_ENABLED(X86::KMOVBkm)); in initConverters()
634 createReplacerDstCOPY(X86::MOVZX16rr8, GET_EGPR_IF_ENABLED(X86::KMOVBkk)); in initConverters()
635 createReplacerDstCOPY(X86::MOVZX32rr8, GET_EGPR_IF_ENABLED(X86::KMOVBkk)); in initConverters()
636 createReplacerDstCOPY(X86::MOVZX64rr8, GET_EGPR_IF_ENABLED(X86::KMOVBkk)); in initConverters()
643 createReplacer(X86::MOV16rm, GET_EGPR_IF_ENABLED(X86::KMOVWkm)); in initConverters()
644 createReplacer(X86::MOV16mr, GET_EGPR_IF_ENABLED(X86::KMOVWmk)); in initConverters()
645 createReplacer(X86::MOV16rr, GET_EGPR_IF_ENABLED(X86::KMOVWkk)); in initConverters()
646 createReplacer(X86::SHR16ri, X86::KSHIFTRWri); in initConverters()
647 createReplacer(X86::SHL16ri, X86::KSHIFTLWri); in initConverters()
648 createReplacer(X86::NOT16r, X86::KNOTWrr); in initConverters()
649 createReplacer(X86::OR16rr, X86::KORWrr); in initConverters()
650 createReplacer(X86::AND16rr, X86::KANDWrr); in initConverters()
651 createReplacer(X86::XOR16rr, X86::KXORWrr); in initConverters()
655 createReplacer(X86::SHR16ri_ND, X86::KSHIFTRWri); in initConverters()
656 createReplacer(X86::SHL16ri_ND, X86::KSHIFTLWri); in initConverters()
657 createReplacer(X86::NOT16r_ND, X86::KNOTWrr); in initConverters()
658 createReplacer(X86::OR16rr_ND, X86::KORWrr); in initConverters()
659 createReplacer(X86::AND16rr_ND, X86::KANDWrr); in initConverters()
660 createReplacer(X86::XOR16rr_ND, X86::KXORWrr); in initConverters()
664 createReplacer(X86::MOV32rm, GET_EGPR_IF_ENABLED(X86::KMOVDkm)); in initConverters()
665 createReplacer(X86::MOV64rm, GET_EGPR_IF_ENABLED(X86::KMOVQkm)); in initConverters()
667 createReplacer(X86::MOV32mr, GET_EGPR_IF_ENABLED(X86::KMOVDmk)); in initConverters()
668 createReplacer(X86::MOV64mr, GET_EGPR_IF_ENABLED(X86::KMOVQmk)); in initConverters()
670 createReplacer(X86::MOV32rr, GET_EGPR_IF_ENABLED(X86::KMOVDkk)); in initConverters()
671 createReplacer(X86::MOV64rr, GET_EGPR_IF_ENABLED(X86::KMOVQkk)); in initConverters()
673 createReplacer(X86::SHR32ri, X86::KSHIFTRDri); in initConverters()
674 createReplacer(X86::SHR64ri, X86::KSHIFTRQri); in initConverters()
676 createReplacer(X86::SHL32ri, X86::KSHIFTLDri); in initConverters()
677 createReplacer(X86::SHL64ri, X86::KSHIFTLQri); in initConverters()
679 createReplacer(X86::ADD32rr, X86::KADDDrr); in initConverters()
680 createReplacer(X86::ADD64rr, X86::KADDQrr); in initConverters()
682 createReplacer(X86::NOT32r, X86::KNOTDrr); in initConverters()
683 createReplacer(X86::NOT64r, X86::KNOTQrr); in initConverters()
685 createReplacer(X86::OR32rr, X86::KORDrr); in initConverters()
686 createReplacer(X86::OR64rr, X86::KORQrr); in initConverters()
688 createReplacer(X86::AND32rr, X86::KANDDrr); in initConverters()
689 createReplacer(X86::AND64rr, X86::KANDQrr); in initConverters()
691 createReplacer(X86::ANDN32rr, X86::KANDNDrr); in initConverters()
692 createReplacer(X86::ANDN64rr, X86::KANDNQrr); in initConverters()
694 createReplacer(X86::XOR32rr, X86::KXORDrr); in initConverters()
695 createReplacer(X86::XOR64rr, X86::KXORQrr); in initConverters()
698 createReplacer(X86::SHR32ri_ND, X86::KSHIFTRDri); in initConverters()
699 createReplacer(X86::SHL32ri_ND, X86::KSHIFTLDri); in initConverters()
700 createReplacer(X86::ADD32rr_ND, X86::KADDDrr); in initConverters()
701 createReplacer(X86::NOT32r_ND, X86::KNOTDrr); in initConverters()
702 createReplacer(X86::OR32rr_ND, X86::KORDrr); in initConverters()
703 createReplacer(X86::AND32rr_ND, X86::KANDDrr); in initConverters()
704 createReplacer(X86::XOR32rr_ND, X86::KXORDrr); in initConverters()
705 createReplacer(X86::SHR64ri_ND, X86::KSHIFTRQri); in initConverters()
706 createReplacer(X86::SHL64ri_ND, X86::KSHIFTLQri); in initConverters()
707 createReplacer(X86::ADD64rr_ND, X86::KADDQrr); in initConverters()
708 createReplacer(X86::NOT64r_ND, X86::KNOTQrr); in initConverters()
709 createReplacer(X86::OR64rr_ND, X86::KORQrr); in initConverters()
710 createReplacer(X86::AND64rr_ND, X86::KANDQrr); in initConverters()
711 createReplacer(X86::XOR64rr_ND, X86::KXORQrr); in initConverters()
716 // createReplacer(X86::TEST32rr, X86::KTESTDrr); in initConverters()
717 // createReplacer(X86::TEST64rr, X86::KTESTQrr); in initConverters()
721 createReplacer(X86::ADD8rr, X86::KADDBrr); in initConverters()
722 createReplacer(X86::ADD16rr, X86::KADDWrr); in initConverters()
724 createReplacer(X86::AND8rr, X86::KANDBrr); in initConverters()
726 createReplacer(X86::MOV8rm, GET_EGPR_IF_ENABLED(X86::KMOVBkm)); in initConverters()
727 createReplacer(X86::MOV8mr, GET_EGPR_IF_ENABLED(X86::KMOVBmk)); in initConverters()
728 createReplacer(X86::MOV8rr, GET_EGPR_IF_ENABLED(X86::KMOVBkk)); in initConverters()
730 createReplacer(X86::NOT8r, X86::KNOTBrr); in initConverters()
732 createReplacer(X86::OR8rr, X86::KORBrr); in initConverters()
734 createReplacer(X86::SHR8ri, X86::KSHIFTRBri); in initConverters()
735 createReplacer(X86::SHL8ri, X86::KSHIFTLBri); in initConverters()
739 // createReplacer(X86::TEST8rr, X86::KTESTBrr); in initConverters()
740 // createReplacer(X86::TEST16rr, X86::KTESTWrr); in initConverters()
742 createReplacer(X86::XOR8rr, X86::KXORBrr); in initConverters()
745 createReplacer(X86::ADD8rr_ND, X86::KADDBrr); in initConverters()
746 createReplacer(X86::ADD16rr_ND, X86::KADDWrr); in initConverters()
747 createReplacer(X86::AND8rr_ND, X86::KANDBrr); in initConverters()
748 createReplacer(X86::NOT8r_ND, X86::KNOTBrr); in initConverters()
749 createReplacer(X86::OR8rr_ND, X86::KORBrr); in initConverters()
750 createReplacer(X86::SHR8ri_ND, X86::KSHIFTRBri); in initConverters()
751 createReplacer(X86::SHL8ri_ND, X86::KSHIFTLBri); in initConverters()
752 createReplacer(X86::XOR8rr_ND, X86::KXORBrr); in initConverters()
832 INITIALIZE_PASS(X86DomainReassignment, "x86-domain-reassignment",
833 "X86 Domain Reassignment Pass", false, false)