Lines Matching defs:SrcReg

145                                unsigned SrcReg, unsigned Flag = 0,
149 TII.get(TargetOpcode::COPY), TmpReg).addReg(SrcReg, Flag, SubReg);
158 bool PPCEmitStore(MVT VT, unsigned SrcReg, Address &Addr);
162 bool PPCEmitIntExt(MVT SrcVT, unsigned SrcReg, MVT DestVT,
173 unsigned SrcReg, bool IsSigned);
174 unsigned PPCMoveToFPReg(MVT VT, unsigned SrcReg, bool IsSigned);
612 // Emit a store instruction to store SrcReg at Addr.
613 bool PPCFastISel::PPCEmitStore(MVT VT, unsigned SrcReg, Address &Addr) {
614 assert(SrcReg && "Nothing to store!");
618 const TargetRegisterClass *RC = MRI.getRegClass(SrcReg);
677 .addReg(SrcReg)
689 .addReg(SrcReg).addImm(Addr.Offset).addReg(Addr.Base.Reg);
712 .addReg(SrcReg);
730 unsigned SrcReg = 0;
742 SrcReg = getRegForValue(Op0);
743 if (SrcReg == 0)
751 if (!PPCEmitStore(VT, SrcReg, Addr))
958 Register SrcReg = getRegForValue(Src);
959 if (!SrcReg)
963 updateValueMap(I, SrcReg);
976 Register SrcReg = getRegForValue(Src);
977 if (!SrcReg)
982 auto RC = MRI.getRegClass(SrcReg);
987 .addReg(SrcReg);
992 .addReg(SrcReg);
994 SrcReg = copyRegToRegClass(&PPC::F8RCRegClass, SrcReg);
998 .addReg(SrcReg);
1012 unsigned PPCFastISel::PPCMoveToFPReg(MVT SrcVT, unsigned SrcReg,
1018 if (!PPCEmitIntExt(MVT::i32, SrcReg, MVT::i64, TmpReg, !IsSigned))
1020 SrcReg = TmpReg;
1029 if (!PPCEmitStore(MVT::i64, SrcReg, Addr))
1077 Register SrcReg = getRegForValue(Src);
1078 if (SrcReg == 0)
1092 .addReg(SrcReg);
1113 if (!PPCEmitIntExt(SrcVT, SrcReg, MVT::i64, TmpReg, !IsSigned))
1116 SrcReg = TmpReg;
1120 unsigned FPReg = PPCMoveToFPReg(SrcVT, SrcReg, IsSigned);
1142 // Move the floating-point value in SrcReg into an integer destination
1148 unsigned SrcReg, bool IsSigned) {
1158 if (!PPCEmitStore(MVT::f64, SrcReg, Addr))
1204 Register SrcReg = getRegForValue(Src);
1205 if (SrcReg == 0)
1210 const TargetRegisterClass *InRC = MRI.getRegClass(SrcReg);
1212 SrcReg = copyRegToRegClass(&PPC::F8RCRegClass, SrcReg);
1214 SrcReg = copyRegToRegClass(&PPC::VSFRCRegClass, SrcReg);
1220 auto RC = MRI.getRegClass(SrcReg);
1247 .addReg(SrcReg);
1721 unsigned SrcReg =
1725 TII.get(TargetOpcode::COPY), RetReg).addReg(SrcReg);
1741 unsigned SrcReg = Reg + VA.getValNo();
1764 if (!PPCEmitIntExt(RVVT, SrcReg, DestVT, TmpReg, true))
1766 SrcReg = TmpReg;
1773 if (!PPCEmitIntExt(RVVT, SrcReg, DestVT, TmpReg, false))
1775 SrcReg = TmpReg;
1783 .addReg(SrcReg);
1797 // Attempt to emit an integer extend of SrcReg into DestReg. Both
1800 bool PPCFastISel::PPCEmitIntExt(MVT SrcVT, unsigned SrcReg, MVT DestVT,
1819 .addReg(SrcReg);
1832 .addReg(SrcReg).addImm(/*SH=*/0).addImm(MB).addImm(/*ME=*/31);
1845 .addReg(SrcReg).addImm(/*SH=*/0).addImm(MB);
1880 Register SrcReg = getRegForValue(Src);
1881 if (!SrcReg)
1886 SrcReg = copyRegToRegClass(&PPC::GPRCRegClass, SrcReg, 0, PPC::sub_32);
1888 updateValueMap(I, SrcReg);
1899 Register SrcReg = getRegForValue(Src);
1900 if (!SrcReg) return false;
1924 if (!PPCEmitIntExt(SrcVT, SrcReg, DestVT, ResultReg, IsZExt))