Lines Matching refs:MVT

173   bool isTypeLegal(Type *Ty, MVT &VT);
174 bool isTypeSupported(Type *Ty, MVT &VT);
175 bool isLoadTypeLegal(Type *Ty, MVT &VT);
182 bool emitLoad(MVT VT, unsigned &ResultReg, Address &Addr,
184 bool emitStore(MVT VT, unsigned SrcReg, Address Addr,
186 bool emitStore(MVT VT, unsigned SrcReg, Address &Addr,
188 unsigned emitIntExt(MVT SrcVT, unsigned SrcReg, MVT DestVT, bool isZExt);
189 bool emitIntExt(MVT SrcVT, unsigned SrcReg, MVT DestVT, unsigned DestReg,
192 bool emitIntZExt(MVT SrcVT, unsigned SrcReg, MVT DestVT, unsigned DestReg);
194 bool emitIntSExt(MVT SrcVT, unsigned SrcReg, MVT DestVT, unsigned DestReg);
195 bool emitIntSExt32r1(MVT SrcVT, unsigned SrcReg, MVT DestVT,
197 bool emitIntSExt32r2(MVT SrcVT, unsigned SrcReg, MVT DestVT,
202 unsigned emitLogicalOp(unsigned ISDOpc, MVT RetVT, const Value *LHS,
205 unsigned materializeFP(const ConstantFP *CFP, MVT VT);
206 unsigned materializeGV(const GlobalValue *GV, MVT VT);
207 unsigned materializeInt(const Constant *C, MVT VT);
246 bool processCallArgs(CallLoweringInfo &CLI, SmallVectorImpl<MVT> &ArgVTs,
248 bool finishCall(CallLoweringInfo &CLI, MVT RetVT, unsigned NumBytes);
275 static bool CC_Mips(unsigned ValNo, MVT ValVT, MVT LocVT,
279 static bool CC_MipsO32_FP32(unsigned ValNo, MVT ValVT, MVT LocVT, in CC_MipsO32_FP32()
285 static bool CC_MipsO32_FP64(unsigned ValNo, MVT ValVT, MVT LocVT, in CC_MipsO32_FP64()
297 unsigned MipsFastISel::emitLogicalOp(unsigned ISDOpc, MVT RetVT, in emitLogicalOp()
324 RHSReg = materializeInt(C, MVT::i32); in emitLogicalOp()
339 assert(TLI.getValueType(DL, AI->getType(), true) == MVT::i32 && in fastMaterializeAlloca()
357 unsigned MipsFastISel::materializeInt(const Constant *C, MVT VT) { in materializeInt()
358 if (VT != MVT::i32 && VT != MVT::i16 && VT != MVT::i8 && VT != MVT::i1) in materializeInt()
390 unsigned MipsFastISel::materializeFP(const ConstantFP *CFP, MVT VT) { in materializeFP()
394 if (VT == MVT::f32) { in materializeFP()
400 } else if (VT == MVT::f64) { in materializeFP()
412 unsigned MipsFastISel::materializeGV(const GlobalValue *GV, MVT VT) { in materializeGV()
414 if (VT != MVT::i32) in materializeGV()
454 MVT VT = CEVT.getSimpleVT(); in fastMaterializeConstant()
597 bool MipsFastISel::isTypeLegal(Type *Ty, MVT &VT) { in isTypeLegal()
600 if (evt == MVT::Other || !evt.isSimple()) in isTypeLegal()
609 bool MipsFastISel::isTypeSupported(Type *Ty, MVT &VT) { in isTypeSupported()
618 if (VT == MVT::i1 || VT == MVT::i8 || VT == MVT::i16) in isTypeSupported()
624 bool MipsFastISel::isLoadTypeLegal(Type *Ty, MVT &VT) { in isLoadTypeLegal()
630 if (VT == MVT::i8 || VT == MVT::i16) in isLoadTypeLegal()
758 bool MipsFastISel::emitLoad(MVT VT, unsigned &ResultReg, Address &Addr, in emitLoad()
765 case MVT::i32: in emitLoad()
769 case MVT::i16: in emitLoad()
773 case MVT::i8: in emitLoad()
777 case MVT::f32: in emitLoad()
783 case MVT::f64: in emitLoad()
814 bool MipsFastISel::emitStore(MVT VT, unsigned SrcReg, Address &Addr, in emitStore()
821 case MVT::i8: in emitStore()
824 case MVT::i16: in emitStore()
827 case MVT::i32: in emitStore()
830 case MVT::f32: in emitStore()
835 case MVT::f64: in emitStore()
867 MVT VT; in selectLogicalOp()
899 MVT VT; in selectLoad()
924 MVT VT; in selectStore()
975 ZExtCondReg = emitIntExt(MVT::i1, CondReg, MVT::i32, true); in selectBranch()
1004 if (SrcVT != MVT::f32 || DestVT != MVT::f64) in selectFPExt()
1024 MVT VT; in selectSelect()
1037 } else if (VT == MVT::f32) { in selectSelect()
1040 } else if (VT == MVT::f64) { in selectSelect()
1059 if (!emitIntExt(MVT::i1, CondReg, MVT::i32, ZExtCondReg, true)) in selectSelect()
1083 if (SrcVT != MVT::f64 || DestVT != MVT::f32) in selectFPTrunc()
1103 MVT DstVT, SrcVT; in selectFPToInt()
1111 if (DstVT != MVT::i32) in selectFPToInt()
1119 if (SrcVT != MVT::f32 && SrcVT != MVT::f64) in selectFPToInt()
1130 unsigned Opc = (SrcVT == MVT::f32) ? Mips::TRUNC_W_S : Mips::TRUNC_W_D32; in selectFPToInt()
1141 SmallVectorImpl<MVT> &OutVTs, in processCallArgs()
1155 MVT firstMVT; in processCallArgs()
1159 MVT ArgVT = OutVTs[VA.getValNo()]; in processCallArgs()
1163 if (ArgVT == MVT::f32) { in processCallArgs()
1165 } else if (ArgVT == MVT::f64) { in processCallArgs()
1169 if ((firstMVT == MVT::f32) || (firstMVT == MVT::f64)) { in processCallArgs()
1170 if (ArgVT == MVT::f32) { in processCallArgs()
1172 } else if (ArgVT == MVT::f64) { in processCallArgs()
1177 if (((ArgVT == MVT::i32) || (ArgVT == MVT::f32) || (ArgVT == MVT::i16) || in processCallArgs()
1178 (ArgVT == MVT::i8)) && in processCallArgs()
1207 MVT DestVT = VA.getLocVT(); in processCallArgs()
1208 MVT SrcVT = ArgVT; in processCallArgs()
1215 MVT DestVT = VA.getLocVT(); in processCallArgs()
1216 MVT SrcVT = ArgVT; in processCallArgs()
1274 bool MipsFastISel::finishCall(CallLoweringInfo &CLI, MVT RetVT, in finishCall()
1278 if (RetVT != MVT::isVoid) { in finishCall()
1290 MVT CopyVT = RVLocs[0].getValVT(); in finishCall()
1292 if (RetVT == MVT::i1 || RetVT == MVT::i8 || RetVT == MVT::i16) in finishCall()
1293 CopyVT = MVT::i32; in finishCall()
1370 case MVT::i1: in fastLowerArguments()
1371 case MVT::i8: in fastLowerArguments()
1372 case MVT::i16: in fastLowerArguments()
1394 case MVT::i32: in fastLowerArguments()
1414 case MVT::f32: in fastLowerArguments()
1433 case MVT::f64: in fastLowerArguments()
1510 MVT RetVT; in fastLowerCall()
1512 RetVT = MVT::isVoid; in fastLowerCall()
1521 SmallVector<MVT, 16> OutVTs; in fastLowerCall()
1525 MVT VT; in fastLowerCall()
1527 !(VT == MVT::i1 || VT == MVT::i8 || VT == MVT::i16)) in fastLowerCall()
1554 DestAddress = materializeGV(Addr.getGlobalValue(), MVT::i32); in fastLowerCall()
1591 MVT VT; in fastLowerIntrinsicCall()
1601 if (VT == MVT::i16) { in fastLowerIntrinsicCall()
1620 } else if (VT == MVT::i32) { in fastLowerIntrinsicCall()
1738 MVT RVVT = RVEVT.getSimpleVT(); in selectRet()
1739 if (RVVT == MVT::f128) in selectRet()
1743 if (RVVT == MVT::f64 && UnsupportedFPMode) { in selectRet()
1748 MVT DestVT = VA.getValVT(); in selectRet()
1751 if (RVVT != MVT::i1 && RVVT != MVT::i8 && RVVT != MVT::i16) in selectRet()
1784 if (SrcVT != MVT::i32 && SrcVT != MVT::i16 && SrcVT != MVT::i8) in selectTrunc()
1786 if (DestVT != MVT::i16 && DestVT != MVT::i8 && DestVT != MVT::i1) in selectTrunc()
1817 MVT SrcVT = SrcEVT.getSimpleVT(); in selectIntExt()
1818 MVT DestVT = DestEVT.getSimpleVT(); in selectIntExt()
1827 bool MipsFastISel::emitIntSExt32r1(MVT SrcVT, unsigned SrcReg, MVT DestVT, in emitIntSExt32r1()
1833 case MVT::i8: in emitIntSExt32r1()
1836 case MVT::i16: in emitIntSExt32r1()
1846 bool MipsFastISel::emitIntSExt32r2(MVT SrcVT, unsigned SrcReg, MVT DestVT, in emitIntSExt32r2()
1851 case MVT::i8: in emitIntSExt32r2()
1854 case MVT::i16: in emitIntSExt32r2()
1861 bool MipsFastISel::emitIntSExt(MVT SrcVT, unsigned SrcReg, MVT DestVT, in emitIntSExt()
1863 if ((DestVT != MVT::i32) && (DestVT != MVT::i16)) in emitIntSExt()
1870 bool MipsFastISel::emitIntZExt(MVT SrcVT, unsigned SrcReg, MVT DestVT, in emitIntZExt()
1877 case MVT::i1: in emitIntZExt()
1880 case MVT::i8: in emitIntZExt()
1883 case MVT::i16: in emitIntZExt()
1892 bool MipsFastISel::emitIntExt(MVT SrcVT, unsigned SrcReg, MVT DestVT, in emitIntExt()
1898 if (((DestVT != MVT::i8) && (DestVT != MVT::i16) && (DestVT != MVT::i32)) || in emitIntExt()
1899 ((SrcVT != MVT::i1) && (SrcVT != MVT::i8) && (SrcVT != MVT::i16))) in emitIntExt()
1906 unsigned MipsFastISel::emitIntExt(MVT SrcVT, unsigned SrcReg, MVT DestVT, in emitIntExt()
1918 MVT DestVT = DestEVT.getSimpleVT(); in selectDivRem()
1919 if (DestVT != MVT::i32) in selectDivRem()
1958 MVT RetVT; in selectShift()
1979 MVT Op0MVT = TLI.getValueType(DL, Op0->getType(), true).getSimpleVT(); in selectShift()
1981 if (!emitIntExt(Op0MVT, Op0Reg, MVT::i32, TempReg, IsZExt)) in selectShift()
2095 MVT VMVT = TLI.getValueType(DL, V->getType(), true).getSimpleVT(); in getRegEnsuringSimpleIntegerWidening()
2097 if (VMVT == MVT::i1) in getRegEnsuringSimpleIntegerWidening()
2100 if ((VMVT == MVT::i8) || (VMVT == MVT::i16)) { in getRegEnsuringSimpleIntegerWidening()
2102 if (!emitIntExt(VMVT, VReg, MVT::i32, TempReg, IsUnsigned)) in getRegEnsuringSimpleIntegerWidening()