• Home
  • Raw
  • Download

Lines Matching refs:X86

129         if (LI.PhysReg < X86::FP0 || LI.PhysReg > X86::FP6)  in calcLiveInMask()
131 Mask |= 1 << (LI.PhysReg - X86::FP0); in calcLiveInMask()
197 return StackTop - 1 - getSlot(RegNo) + X86::ST0; in getSTReg()
226 BuildMI(*MBB, I, dl, TII->get(X86::XCH_F)).addReg(STReg); in moveToTop()
236 BuildMI(*MBB, I, dl, TII->get(X86::LD_Frr)).addReg(STReg); in duplicateToTop()
280 return X86::RFP80RegClass.contains(DstReg) || in isFPCopy()
281 X86::RFP80RegClass.contains(SrcReg); in isFPCopy()
296 assert(Reg >= X86::FP0 && Reg <= X86::FP6 && "Expected FP register!"); in getFPReg()
297 return Reg - X86::FP0; in getFPReg()
308 static_assert(X86::FP6 == X86::FP0+6, "Register enums aren't sorted right!"); in runOnMachineFunction()
311 if (!MRI.reg_nodbg_empty(X86::FP0 + i)) { in runOnMachineFunction()
388 X86::RFP80RegClass.contains(MI.getOperand(0).getReg())) in processBasicBlock()
430 if (Reg >= X86::FP0 && Reg <= X86::FP6 && isLive(Reg-X86::FP0)) { in processBasicBlock()
431 DEBUG(dbgs() << "Register FP#" << Reg-X86::FP0 << " is dead!\n"); in processBasicBlock()
432 freeStackSlotAfter(I, Reg-X86::FP0); in processBasicBlock()
483 MBB->addLiveIn(X86::ST0+i-1); in setupBlockStack()
585 { X86::ABS_Fp32 , X86::ABS_F },
586 { X86::ABS_Fp64 , X86::ABS_F },
587 { X86::ABS_Fp80 , X86::ABS_F },
588 { X86::ADD_Fp32m , X86::ADD_F32m },
589 { X86::ADD_Fp64m , X86::ADD_F64m },
590 { X86::ADD_Fp64m32 , X86::ADD_F32m },
591 { X86::ADD_Fp80m32 , X86::ADD_F32m },
592 { X86::ADD_Fp80m64 , X86::ADD_F64m },
593 { X86::ADD_FpI16m32 , X86::ADD_FI16m },
594 { X86::ADD_FpI16m64 , X86::ADD_FI16m },
595 { X86::ADD_FpI16m80 , X86::ADD_FI16m },
596 { X86::ADD_FpI32m32 , X86::ADD_FI32m },
597 { X86::ADD_FpI32m64 , X86::ADD_FI32m },
598 { X86::ADD_FpI32m80 , X86::ADD_FI32m },
599 { X86::CHS_Fp32 , X86::CHS_F },
600 { X86::CHS_Fp64 , X86::CHS_F },
601 { X86::CHS_Fp80 , X86::CHS_F },
602 { X86::CMOVBE_Fp32 , X86::CMOVBE_F },
603 { X86::CMOVBE_Fp64 , X86::CMOVBE_F },
604 { X86::CMOVBE_Fp80 , X86::CMOVBE_F },
605 { X86::CMOVB_Fp32 , X86::CMOVB_F },
606 { X86::CMOVB_Fp64 , X86::CMOVB_F },
607 { X86::CMOVB_Fp80 , X86::CMOVB_F },
608 { X86::CMOVE_Fp32 , X86::CMOVE_F },
609 { X86::CMOVE_Fp64 , X86::CMOVE_F },
610 { X86::CMOVE_Fp80 , X86::CMOVE_F },
611 { X86::CMOVNBE_Fp32 , X86::CMOVNBE_F },
612 { X86::CMOVNBE_Fp64 , X86::CMOVNBE_F },
613 { X86::CMOVNBE_Fp80 , X86::CMOVNBE_F },
614 { X86::CMOVNB_Fp32 , X86::CMOVNB_F },
615 { X86::CMOVNB_Fp64 , X86::CMOVNB_F },
616 { X86::CMOVNB_Fp80 , X86::CMOVNB_F },
617 { X86::CMOVNE_Fp32 , X86::CMOVNE_F },
618 { X86::CMOVNE_Fp64 , X86::CMOVNE_F },
619 { X86::CMOVNE_Fp80 , X86::CMOVNE_F },
620 { X86::CMOVNP_Fp32 , X86::CMOVNP_F },
621 { X86::CMOVNP_Fp64 , X86::CMOVNP_F },
622 { X86::CMOVNP_Fp80 , X86::CMOVNP_F },
623 { X86::CMOVP_Fp32 , X86::CMOVP_F },
624 { X86::CMOVP_Fp64 , X86::CMOVP_F },
625 { X86::CMOVP_Fp80 , X86::CMOVP_F },
626 { X86::COS_Fp32 , X86::COS_F },
627 { X86::COS_Fp64 , X86::COS_F },
628 { X86::COS_Fp80 , X86::COS_F },
629 { X86::DIVR_Fp32m , X86::DIVR_F32m },
630 { X86::DIVR_Fp64m , X86::DIVR_F64m },
631 { X86::DIVR_Fp64m32 , X86::DIVR_F32m },
632 { X86::DIVR_Fp80m32 , X86::DIVR_F32m },
633 { X86::DIVR_Fp80m64 , X86::DIVR_F64m },
634 { X86::DIVR_FpI16m32, X86::DIVR_FI16m},
635 { X86::DIVR_FpI16m64, X86::DIVR_FI16m},
636 { X86::DIVR_FpI16m80, X86::DIVR_FI16m},
637 { X86::DIVR_FpI32m32, X86::DIVR_FI32m},
638 { X86::DIVR_FpI32m64, X86::DIVR_FI32m},
639 { X86::DIVR_FpI32m80, X86::DIVR_FI32m},
640 { X86::DIV_Fp32m , X86::DIV_F32m },
641 { X86::DIV_Fp64m , X86::DIV_F64m },
642 { X86::DIV_Fp64m32 , X86::DIV_F32m },
643 { X86::DIV_Fp80m32 , X86::DIV_F32m },
644 { X86::DIV_Fp80m64 , X86::DIV_F64m },
645 { X86::DIV_FpI16m32 , X86::DIV_FI16m },
646 { X86::DIV_FpI16m64 , X86::DIV_FI16m },
647 { X86::DIV_FpI16m80 , X86::DIV_FI16m },
648 { X86::DIV_FpI32m32 , X86::DIV_FI32m },
649 { X86::DIV_FpI32m64 , X86::DIV_FI32m },
650 { X86::DIV_FpI32m80 , X86::DIV_FI32m },
651 { X86::ILD_Fp16m32 , X86::ILD_F16m },
652 { X86::ILD_Fp16m64 , X86::ILD_F16m },
653 { X86::ILD_Fp16m80 , X86::ILD_F16m },
654 { X86::ILD_Fp32m32 , X86::ILD_F32m },
655 { X86::ILD_Fp32m64 , X86::ILD_F32m },
656 { X86::ILD_Fp32m80 , X86::ILD_F32m },
657 { X86::ILD_Fp64m32 , X86::ILD_F64m },
658 { X86::ILD_Fp64m64 , X86::ILD_F64m },
659 { X86::ILD_Fp64m80 , X86::ILD_F64m },
660 { X86::ISTT_Fp16m32 , X86::ISTT_FP16m},
661 { X86::ISTT_Fp16m64 , X86::ISTT_FP16m},
662 { X86::ISTT_Fp16m80 , X86::ISTT_FP16m},
663 { X86::ISTT_Fp32m32 , X86::ISTT_FP32m},
664 { X86::ISTT_Fp32m64 , X86::ISTT_FP32m},
665 { X86::ISTT_Fp32m80 , X86::ISTT_FP32m},
666 { X86::ISTT_Fp64m32 , X86::ISTT_FP64m},
667 { X86::ISTT_Fp64m64 , X86::ISTT_FP64m},
668 { X86::ISTT_Fp64m80 , X86::ISTT_FP64m},
669 { X86::IST_Fp16m32 , X86::IST_F16m },
670 { X86::IST_Fp16m64 , X86::IST_F16m },
671 { X86::IST_Fp16m80 , X86::IST_F16m },
672 { X86::IST_Fp32m32 , X86::IST_F32m },
673 { X86::IST_Fp32m64 , X86::IST_F32m },
674 { X86::IST_Fp32m80 , X86::IST_F32m },
675 { X86::IST_Fp64m32 , X86::IST_FP64m },
676 { X86::IST_Fp64m64 , X86::IST_FP64m },
677 { X86::IST_Fp64m80 , X86::IST_FP64m },
678 { X86::LD_Fp032 , X86::LD_F0 },
679 { X86::LD_Fp064 , X86::LD_F0 },
680 { X86::LD_Fp080 , X86::LD_F0 },
681 { X86::LD_Fp132 , X86::LD_F1 },
682 { X86::LD_Fp164 , X86::LD_F1 },
683 { X86::LD_Fp180 , X86::LD_F1 },
684 { X86::LD_Fp32m , X86::LD_F32m },
685 { X86::LD_Fp32m64 , X86::LD_F32m },
686 { X86::LD_Fp32m80 , X86::LD_F32m },
687 { X86::LD_Fp64m , X86::LD_F64m },
688 { X86::LD_Fp64m80 , X86::LD_F64m },
689 { X86::LD_Fp80m , X86::LD_F80m },
690 { X86::MUL_Fp32m , X86::MUL_F32m },
691 { X86::MUL_Fp64m , X86::MUL_F64m },
692 { X86::MUL_Fp64m32 , X86::MUL_F32m },
693 { X86::MUL_Fp80m32 , X86::MUL_F32m },
694 { X86::MUL_Fp80m64 , X86::MUL_F64m },
695 { X86::MUL_FpI16m32 , X86::MUL_FI16m },
696 { X86::MUL_FpI16m64 , X86::MUL_FI16m },
697 { X86::MUL_FpI16m80 , X86::MUL_FI16m },
698 { X86::MUL_FpI32m32 , X86::MUL_FI32m },
699 { X86::MUL_FpI32m64 , X86::MUL_FI32m },
700 { X86::MUL_FpI32m80 , X86::MUL_FI32m },
701 { X86::SIN_Fp32 , X86::SIN_F },
702 { X86::SIN_Fp64 , X86::SIN_F },
703 { X86::SIN_Fp80 , X86::SIN_F },
704 { X86::SQRT_Fp32 , X86::SQRT_F },
705 { X86::SQRT_Fp64 , X86::SQRT_F },
706 { X86::SQRT_Fp80 , X86::SQRT_F },
707 { X86::ST_Fp32m , X86::ST_F32m },
708 { X86::ST_Fp64m , X86::ST_F64m },
709 { X86::ST_Fp64m32 , X86::ST_F32m },
710 { X86::ST_Fp80m32 , X86::ST_F32m },
711 { X86::ST_Fp80m64 , X86::ST_F64m },
712 { X86::ST_FpP80m , X86::ST_FP80m },
713 { X86::SUBR_Fp32m , X86::SUBR_F32m },
714 { X86::SUBR_Fp64m , X86::SUBR_F64m },
715 { X86::SUBR_Fp64m32 , X86::SUBR_F32m },
716 { X86::SUBR_Fp80m32 , X86::SUBR_F32m },
717 { X86::SUBR_Fp80m64 , X86::SUBR_F64m },
718 { X86::SUBR_FpI16m32, X86::SUBR_FI16m},
719 { X86::SUBR_FpI16m64, X86::SUBR_FI16m},
720 { X86::SUBR_FpI16m80, X86::SUBR_FI16m},
721 { X86::SUBR_FpI32m32, X86::SUBR_FI32m},
722 { X86::SUBR_FpI32m64, X86::SUBR_FI32m},
723 { X86::SUBR_FpI32m80, X86::SUBR_FI32m},
724 { X86::SUB_Fp32m , X86::SUB_F32m },
725 { X86::SUB_Fp64m , X86::SUB_F64m },
726 { X86::SUB_Fp64m32 , X86::SUB_F32m },
727 { X86::SUB_Fp80m32 , X86::SUB_F32m },
728 { X86::SUB_Fp80m64 , X86::SUB_F64m },
729 { X86::SUB_FpI16m32 , X86::SUB_FI16m },
730 { X86::SUB_FpI16m64 , X86::SUB_FI16m },
731 { X86::SUB_FpI16m80 , X86::SUB_FI16m },
732 { X86::SUB_FpI32m32 , X86::SUB_FI32m },
733 { X86::SUB_FpI32m64 , X86::SUB_FI32m },
734 { X86::SUB_FpI32m80 , X86::SUB_FI32m },
735 { X86::TST_Fp32 , X86::TST_F },
736 { X86::TST_Fp64 , X86::TST_F },
737 { X86::TST_Fp80 , X86::TST_F },
738 { X86::UCOM_FpIr32 , X86::UCOM_FIr },
739 { X86::UCOM_FpIr64 , X86::UCOM_FIr },
740 { X86::UCOM_FpIr80 , X86::UCOM_FIr },
741 { X86::UCOM_Fpr32 , X86::UCOM_Fr },
742 { X86::UCOM_Fpr64 , X86::UCOM_Fr },
743 { X86::UCOM_Fpr80 , X86::UCOM_Fr },
761 { X86::ADD_FrST0 , X86::ADD_FPrST0 },
763 { X86::DIVR_FrST0, X86::DIVR_FPrST0 },
764 { X86::DIV_FrST0 , X86::DIV_FPrST0 },
766 { X86::IST_F16m , X86::IST_FP16m },
767 { X86::IST_F32m , X86::IST_FP32m },
769 { X86::MUL_FrST0 , X86::MUL_FPrST0 },
771 { X86::ST_F32m , X86::ST_FP32m },
772 { X86::ST_F64m , X86::ST_FP64m },
773 { X86::ST_Frr , X86::ST_FPrr },
775 { X86::SUBR_FrST0, X86::SUBR_FPrST0 },
776 { X86::SUB_FrST0 , X86::SUB_FPrST0 },
778 { X86::UCOM_FIr , X86::UCOM_FIPr },
780 { X86::UCOM_FPr , X86::UCOM_FPPr },
781 { X86::UCOM_Fr , X86::UCOM_FPr },
802 if (Opcode == X86::UCOM_FPPr) in popStackAfter()
805 I = BuildMI(*MBB, ++I, dl, TII->get(X86::ST_FPrr)).addReg(X86::ST0); in popStackAfter()
836 return BuildMI(*MBB, I, DebugLoc(), TII->get(X86::ST_FPrr)) in freeStackSlotBefore()
893 BuildMI(*MBB, I, DebugLoc(), TII->get(X86::LD_F0)); in adjustLiveRegs()
937 unsigned R = MO.getReg() - X86::FP0; in handleCall()
966 if (!Op.isReg() || Op.getReg() < X86::FP0 || Op.getReg() > X86::FP6) in handleReturn()
1061 assert((NumOps == X86::AddrNumOperands + 1 || NumOps == 1) && in handleOneArgFP()
1066 bool KillsSrc = MI.killsRegister(X86::FP0 + Reg); in handleOneArgFP()
1074 if (!KillsSrc && (MI.getOpcode() == X86::IST_Fp64m32 || in handleOneArgFP()
1075 MI.getOpcode() == X86::ISTT_Fp16m32 || in handleOneArgFP()
1076 MI.getOpcode() == X86::ISTT_Fp32m32 || in handleOneArgFP()
1077 MI.getOpcode() == X86::ISTT_Fp64m32 || in handleOneArgFP()
1078 MI.getOpcode() == X86::IST_Fp64m64 || in handleOneArgFP()
1079 MI.getOpcode() == X86::ISTT_Fp16m64 || in handleOneArgFP()
1080 MI.getOpcode() == X86::ISTT_Fp32m64 || in handleOneArgFP()
1081 MI.getOpcode() == X86::ISTT_Fp64m64 || in handleOneArgFP()
1082 MI.getOpcode() == X86::IST_Fp64m80 || in handleOneArgFP()
1083 MI.getOpcode() == X86::ISTT_Fp16m80 || in handleOneArgFP()
1084 MI.getOpcode() == X86::ISTT_Fp32m80 || in handleOneArgFP()
1085 MI.getOpcode() == X86::ISTT_Fp64m80 || in handleOneArgFP()
1086 MI.getOpcode() == X86::ST_FpP80m)) { in handleOneArgFP()
1096 if (MI.getOpcode() == X86::IST_FP64m || MI.getOpcode() == X86::ISTT_FP16m || in handleOneArgFP()
1097 MI.getOpcode() == X86::ISTT_FP32m || MI.getOpcode() == X86::ISTT_FP64m || in handleOneArgFP()
1098 MI.getOpcode() == X86::ST_FP80m) { in handleOneArgFP()
1125 bool KillsSrc = MI.killsRegister(X86::FP0 + Reg); in handleOneArgFPRW()
1154 { X86::ADD_Fp32 , X86::ADD_FST0r },
1155 { X86::ADD_Fp64 , X86::ADD_FST0r },
1156 { X86::ADD_Fp80 , X86::ADD_FST0r },
1157 { X86::DIV_Fp32 , X86::DIV_FST0r },
1158 { X86::DIV_Fp64 , X86::DIV_FST0r },
1159 { X86::DIV_Fp80 , X86::DIV_FST0r },
1160 { X86::MUL_Fp32 , X86::MUL_FST0r },
1161 { X86::MUL_Fp64 , X86::MUL_FST0r },
1162 { X86::MUL_Fp80 , X86::MUL_FST0r },
1163 { X86::SUB_Fp32 , X86::SUB_FST0r },
1164 { X86::SUB_Fp64 , X86::SUB_FST0r },
1165 { X86::SUB_Fp80 , X86::SUB_FST0r },
1170 { X86::ADD_Fp32 , X86::ADD_FST0r }, // commutative
1171 { X86::ADD_Fp64 , X86::ADD_FST0r }, // commutative
1172 { X86::ADD_Fp80 , X86::ADD_FST0r }, // commutative
1173 { X86::DIV_Fp32 , X86::DIVR_FST0r },
1174 { X86::DIV_Fp64 , X86::DIVR_FST0r },
1175 { X86::DIV_Fp80 , X86::DIVR_FST0r },
1176 { X86::MUL_Fp32 , X86::MUL_FST0r }, // commutative
1177 { X86::MUL_Fp64 , X86::MUL_FST0r }, // commutative
1178 { X86::MUL_Fp80 , X86::MUL_FST0r }, // commutative
1179 { X86::SUB_Fp32 , X86::SUBR_FST0r },
1180 { X86::SUB_Fp64 , X86::SUBR_FST0r },
1181 { X86::SUB_Fp80 , X86::SUBR_FST0r },
1186 { X86::ADD_Fp32 , X86::ADD_FrST0 }, // commutative
1187 { X86::ADD_Fp64 , X86::ADD_FrST0 }, // commutative
1188 { X86::ADD_Fp80 , X86::ADD_FrST0 }, // commutative
1189 { X86::DIV_Fp32 , X86::DIVR_FrST0 },
1190 { X86::DIV_Fp64 , X86::DIVR_FrST0 },
1191 { X86::DIV_Fp80 , X86::DIVR_FrST0 },
1192 { X86::MUL_Fp32 , X86::MUL_FrST0 }, // commutative
1193 { X86::MUL_Fp64 , X86::MUL_FrST0 }, // commutative
1194 { X86::MUL_Fp80 , X86::MUL_FrST0 }, // commutative
1195 { X86::SUB_Fp32 , X86::SUBR_FrST0 },
1196 { X86::SUB_Fp64 , X86::SUBR_FrST0 },
1197 { X86::SUB_Fp80 , X86::SUBR_FrST0 },
1202 { X86::ADD_Fp32 , X86::ADD_FrST0 },
1203 { X86::ADD_Fp64 , X86::ADD_FrST0 },
1204 { X86::ADD_Fp80 , X86::ADD_FrST0 },
1205 { X86::DIV_Fp32 , X86::DIV_FrST0 },
1206 { X86::DIV_Fp64 , X86::DIV_FrST0 },
1207 { X86::DIV_Fp80 , X86::DIV_FrST0 },
1208 { X86::MUL_Fp32 , X86::MUL_FrST0 },
1209 { X86::MUL_Fp64 , X86::MUL_FrST0 },
1210 { X86::MUL_Fp80 , X86::MUL_FrST0 },
1211 { X86::SUB_Fp32 , X86::SUB_FrST0 },
1212 { X86::SUB_Fp64 , X86::SUB_FrST0 },
1213 { X86::SUB_Fp80 , X86::SUB_FrST0 },
1235 bool KillsOp0 = MI.killsRegister(X86::FP0 + Op0); in handleTwoArgFP()
1236 bool KillsOp1 = MI.killsRegister(X86::FP0 + Op1); in handleTwoArgFP()
1332 bool KillsOp0 = MI.killsRegister(X86::FP0 + Op0); in handleCompareFP()
1333 bool KillsOp1 = MI.killsRegister(X86::FP0 + Op1); in handleCompareFP()
1358 bool KillsOp1 = MI.killsRegister(X86::FP0 + Op1); in handleCondMovFP()
1423 unsigned Reg = MI.getOperand(0).getReg() - X86::FP0; in handleSpecialFP()
1425 BuildMI(*MBB, Inst, MI.getDebugLoc(), TII->get(X86::LD_F0)); in handleSpecialFP()
1479 unsigned STReg = MO.getReg() - X86::FP0; in handleSpecialFP()
1547 if (!Op.isReg() || Op.getReg() < X86::FP0 || Op.getReg() > X86::FP6) in handleSpecialFP()
1573 if (!Op.isReg() || Op.getReg() < X86::FP0 || Op.getReg() > X86::FP6) in handleSpecialFP()
1583 Op.setReg(X86::ST0 + FPReg); in handleSpecialFP()
1642 unsigned Reg = MO.getReg() - X86::FP0; in setKillFlags()