Lines Matching full:srcreg
159 bool PPCEmitStore(MVT VT, unsigned SrcReg, Address &Addr);
163 bool PPCEmitIntExt(MVT SrcVT, unsigned SrcReg, MVT DestVT,
174 unsigned SrcReg, bool IsSigned);
175 unsigned PPCMoveToFPReg(MVT VT, unsigned SrcReg, bool IsSigned);
606 // Emit a store instruction to store SrcReg at Addr.
607 bool PPCFastISel::PPCEmitStore(MVT VT, unsigned SrcReg, Address &Addr) {
608 assert(SrcReg && "Nothing to store!");
612 const TargetRegisterClass *RC = MRI.getRegClass(SrcReg);
647 bool IsVSSRC = isVSSRCRegister(SrcReg);
648 bool IsVSFRC = isVSFRCRegister(SrcReg);
671 .addReg(SrcReg)
682 .addReg(SrcReg).addImm(Addr.Offset).addReg(Addr.Base.Reg);
703 .addReg(SrcReg);
721 unsigned SrcReg = 0;
733 SrcReg = getRegForValue(Op0);
734 if (SrcReg == 0)
742 if (!PPCEmitStore(VT, SrcReg, Addr))
903 unsigned SrcReg = getRegForValue(Src);
904 if (!SrcReg)
908 updateValueMap(I, SrcReg);
921 unsigned SrcReg = getRegForValue(Src);
922 if (!SrcReg)
928 .addReg(SrcReg);
941 unsigned PPCFastISel::PPCMoveToFPReg(MVT SrcVT, unsigned SrcReg,
947 if (!PPCEmitIntExt(MVT::i32, SrcReg, MVT::i64, TmpReg, !IsSigned))
949 SrcReg = TmpReg;
958 if (!PPCEmitStore(MVT::i64, SrcReg, Addr))
1006 unsigned SrcReg = getRegForValue(Src);
1007 if (SrcReg == 0)
1026 if (!PPCEmitIntExt(SrcVT, SrcReg, MVT::i64, TmpReg, !IsSigned))
1029 SrcReg = TmpReg;
1033 unsigned FPReg = PPCMoveToFPReg(SrcVT, SrcReg, IsSigned);
1055 // Move the floating-point value in SrcReg into an integer destination
1061 unsigned SrcReg, bool IsSigned) {
1071 if (!PPCEmitStore(MVT::f64, SrcReg, Addr))
1116 unsigned SrcReg = getRegForValue(Src);
1117 if (SrcReg == 0)
1123 const TargetRegisterClass *InRC = MRI.getRegClass(SrcReg);
1128 .addReg(SrcReg).addImm(PPC::F8RCRegClassID);
1129 SrcReg = TmpReg;
1147 .addReg(SrcReg);
1620 unsigned SrcReg =
1624 TII.get(TargetOpcode::COPY), RetReg).addReg(SrcReg);
1640 unsigned SrcReg = Reg + VA.getValNo();
1663 if (!PPCEmitIntExt(RVVT, SrcReg, DestVT, TmpReg, true))
1665 SrcReg = TmpReg;
1672 if (!PPCEmitIntExt(RVVT, SrcReg, DestVT, TmpReg, false))
1674 SrcReg = TmpReg;
1682 .addReg(SrcReg);
1696 // Attempt to emit an integer extend of SrcReg into DestReg. Both
1699 bool PPCFastISel::PPCEmitIntExt(MVT SrcVT, unsigned SrcReg, MVT DestVT,
1718 .addReg(SrcReg);
1731 .addReg(SrcReg).addImm(/*SH=*/0).addImm(MB).addImm(/*ME=*/31);
1744 .addReg(SrcReg).addImm(/*SH=*/0).addImm(MB);
1779 unsigned SrcReg = getRegForValue(Src);
1780 if (!SrcReg)
1788 ResultReg).addReg(SrcReg, 0, PPC::sub_32);
1789 SrcReg = ResultReg;
1792 updateValueMap(I, SrcReg);
1803 unsigned SrcReg = getRegForValue(Src);
1804 if (!SrcReg) return false;
1828 if (!PPCEmitIntExt(SrcVT, SrcReg, DestVT, ResultReg, IsZExt))