Lines Matching refs:MVT
110 VT == MVT::f32 ? Call_F32 : in getFPLibCall()
111 VT == MVT::f64 ? Call_F64 : in getFPLibCall()
112 VT == MVT::f80 ? Call_F80 : in getFPLibCall()
113 VT == MVT::f128 ? Call_F128 : in getFPLibCall()
114 VT == MVT::ppcf128 ? Call_PPCF128 : in getFPLibCall()
121 if (OpVT == MVT::f16) { in getFPEXT()
122 if (RetVT == MVT::f32) in getFPEXT()
124 if (RetVT == MVT::f64) in getFPEXT()
126 if (RetVT == MVT::f80) in getFPEXT()
128 if (RetVT == MVT::f128) in getFPEXT()
130 } else if (OpVT == MVT::f32) { in getFPEXT()
131 if (RetVT == MVT::f64) in getFPEXT()
133 if (RetVT == MVT::f128) in getFPEXT()
135 if (RetVT == MVT::ppcf128) in getFPEXT()
137 } else if (OpVT == MVT::f64) { in getFPEXT()
138 if (RetVT == MVT::f128) in getFPEXT()
140 else if (RetVT == MVT::ppcf128) in getFPEXT()
142 } else if (OpVT == MVT::f80) { in getFPEXT()
143 if (RetVT == MVT::f128) in getFPEXT()
145 } else if (OpVT == MVT::bf16) { in getFPEXT()
146 if (RetVT == MVT::f32) in getFPEXT()
156 if (RetVT == MVT::f16) { in getFPROUND()
157 if (OpVT == MVT::f32) in getFPROUND()
159 if (OpVT == MVT::f64) in getFPROUND()
161 if (OpVT == MVT::f80) in getFPROUND()
163 if (OpVT == MVT::f128) in getFPROUND()
165 if (OpVT == MVT::ppcf128) in getFPROUND()
167 } else if (RetVT == MVT::bf16) { in getFPROUND()
168 if (OpVT == MVT::f32) in getFPROUND()
170 if (OpVT == MVT::f64) in getFPROUND()
172 } else if (RetVT == MVT::f32) { in getFPROUND()
173 if (OpVT == MVT::f64) in getFPROUND()
175 if (OpVT == MVT::f80) in getFPROUND()
177 if (OpVT == MVT::f128) in getFPROUND()
179 if (OpVT == MVT::ppcf128) in getFPROUND()
181 } else if (RetVT == MVT::f64) { in getFPROUND()
182 if (OpVT == MVT::f80) in getFPROUND()
184 if (OpVT == MVT::f128) in getFPROUND()
186 if (OpVT == MVT::ppcf128) in getFPROUND()
188 } else if (RetVT == MVT::f80) { in getFPROUND()
189 if (OpVT == MVT::f128) in getFPROUND()
199 if (OpVT == MVT::f16) { in getFPTOSINT()
200 if (RetVT == MVT::i32) in getFPTOSINT()
202 if (RetVT == MVT::i64) in getFPTOSINT()
204 if (RetVT == MVT::i128) in getFPTOSINT()
206 } else if (OpVT == MVT::f32) { in getFPTOSINT()
207 if (RetVT == MVT::i32) in getFPTOSINT()
209 if (RetVT == MVT::i64) in getFPTOSINT()
211 if (RetVT == MVT::i128) in getFPTOSINT()
213 } else if (OpVT == MVT::f64) { in getFPTOSINT()
214 if (RetVT == MVT::i32) in getFPTOSINT()
216 if (RetVT == MVT::i64) in getFPTOSINT()
218 if (RetVT == MVT::i128) in getFPTOSINT()
220 } else if (OpVT == MVT::f80) { in getFPTOSINT()
221 if (RetVT == MVT::i32) in getFPTOSINT()
223 if (RetVT == MVT::i64) in getFPTOSINT()
225 if (RetVT == MVT::i128) in getFPTOSINT()
227 } else if (OpVT == MVT::f128) { in getFPTOSINT()
228 if (RetVT == MVT::i32) in getFPTOSINT()
230 if (RetVT == MVT::i64) in getFPTOSINT()
232 if (RetVT == MVT::i128) in getFPTOSINT()
234 } else if (OpVT == MVT::ppcf128) { in getFPTOSINT()
235 if (RetVT == MVT::i32) in getFPTOSINT()
237 if (RetVT == MVT::i64) in getFPTOSINT()
239 if (RetVT == MVT::i128) in getFPTOSINT()
248 if (OpVT == MVT::f16) { in getFPTOUINT()
249 if (RetVT == MVT::i32) in getFPTOUINT()
251 if (RetVT == MVT::i64) in getFPTOUINT()
253 if (RetVT == MVT::i128) in getFPTOUINT()
255 } else if (OpVT == MVT::f32) { in getFPTOUINT()
256 if (RetVT == MVT::i32) in getFPTOUINT()
258 if (RetVT == MVT::i64) in getFPTOUINT()
260 if (RetVT == MVT::i128) in getFPTOUINT()
262 } else if (OpVT == MVT::f64) { in getFPTOUINT()
263 if (RetVT == MVT::i32) in getFPTOUINT()
265 if (RetVT == MVT::i64) in getFPTOUINT()
267 if (RetVT == MVT::i128) in getFPTOUINT()
269 } else if (OpVT == MVT::f80) { in getFPTOUINT()
270 if (RetVT == MVT::i32) in getFPTOUINT()
272 if (RetVT == MVT::i64) in getFPTOUINT()
274 if (RetVT == MVT::i128) in getFPTOUINT()
276 } else if (OpVT == MVT::f128) { in getFPTOUINT()
277 if (RetVT == MVT::i32) in getFPTOUINT()
279 if (RetVT == MVT::i64) in getFPTOUINT()
281 if (RetVT == MVT::i128) in getFPTOUINT()
283 } else if (OpVT == MVT::ppcf128) { in getFPTOUINT()
284 if (RetVT == MVT::i32) in getFPTOUINT()
286 if (RetVT == MVT::i64) in getFPTOUINT()
288 if (RetVT == MVT::i128) in getFPTOUINT()
297 if (OpVT == MVT::i32) { in getSINTTOFP()
298 if (RetVT == MVT::f16) in getSINTTOFP()
300 if (RetVT == MVT::f32) in getSINTTOFP()
302 if (RetVT == MVT::f64) in getSINTTOFP()
304 if (RetVT == MVT::f80) in getSINTTOFP()
306 if (RetVT == MVT::f128) in getSINTTOFP()
308 if (RetVT == MVT::ppcf128) in getSINTTOFP()
310 } else if (OpVT == MVT::i64) { in getSINTTOFP()
311 if (RetVT == MVT::f16) in getSINTTOFP()
313 if (RetVT == MVT::f32) in getSINTTOFP()
315 if (RetVT == MVT::f64) in getSINTTOFP()
317 if (RetVT == MVT::f80) in getSINTTOFP()
319 if (RetVT == MVT::f128) in getSINTTOFP()
321 if (RetVT == MVT::ppcf128) in getSINTTOFP()
323 } else if (OpVT == MVT::i128) { in getSINTTOFP()
324 if (RetVT == MVT::f16) in getSINTTOFP()
326 if (RetVT == MVT::f32) in getSINTTOFP()
328 if (RetVT == MVT::f64) in getSINTTOFP()
330 if (RetVT == MVT::f80) in getSINTTOFP()
332 if (RetVT == MVT::f128) in getSINTTOFP()
334 if (RetVT == MVT::ppcf128) in getSINTTOFP()
343 if (OpVT == MVT::i32) { in getUINTTOFP()
344 if (RetVT == MVT::f16) in getUINTTOFP()
346 if (RetVT == MVT::f32) in getUINTTOFP()
348 if (RetVT == MVT::f64) in getUINTTOFP()
350 if (RetVT == MVT::f80) in getUINTTOFP()
352 if (RetVT == MVT::f128) in getUINTTOFP()
354 if (RetVT == MVT::ppcf128) in getUINTTOFP()
356 } else if (OpVT == MVT::i64) { in getUINTTOFP()
357 if (RetVT == MVT::f16) in getUINTTOFP()
359 if (RetVT == MVT::f32) in getUINTTOFP()
361 if (RetVT == MVT::f64) in getUINTTOFP()
363 if (RetVT == MVT::f80) in getUINTTOFP()
365 if (RetVT == MVT::f128) in getUINTTOFP()
367 if (RetVT == MVT::ppcf128) in getUINTTOFP()
369 } else if (OpVT == MVT::i128) { in getUINTTOFP()
370 if (RetVT == MVT::f16) in getUINTTOFP()
372 if (RetVT == MVT::f32) in getUINTTOFP()
374 if (RetVT == MVT::f64) in getUINTTOFP()
376 if (RetVT == MVT::f80) in getUINTTOFP()
378 if (RetVT == MVT::f128) in getUINTTOFP()
380 if (RetVT == MVT::ppcf128) in getUINTTOFP()
447 MVT VT) { in getOUTLINE_ATOMIC()
488 RTLIB::Libcall RTLIB::getSYNC(unsigned Opc, MVT VT) { in getSYNC()
494 case MVT::i8: \ in getSYNC()
496 case MVT::i16: \ in getSYNC()
498 case MVT::i32: \ in getSYNC()
500 case MVT::i64: \ in getSYNC()
502 case MVT::i128: \ in getSYNC()
660 for (MVT ValVT : MVT::all_valuetypes()) in initActions()
661 for (MVT MemVT : MVT::all_valuetypes()) in initActions()
669 for (MVT VT : {MVT::i2, MVT::i4}) in initActions()
672 for (MVT AVT : MVT::all_valuetypes()) { in initActions()
673 for (MVT VT : {MVT::i2, MVT::i4, MVT::v128i2, MVT::v64i4}) { in initActions()
681 for (MVT VT : {MVT::i2, MVT::i4}) { in initActions()
689 for (MVT VT : MVT::fp_valuetypes()) { in initActions()
690 MVT IntVT = MVT::getIntegerVT(VT.getFixedSizeInBits()); in initActions()
698 for (MVT VT : MVT::all_valuetypes()) { in initActions()
811 setOperationAction(ISD::PREFETCH, MVT::Other, Expand); in initActions()
814 setOperationAction(ISD::READCYCLECOUNTER, MVT::i64, Expand); in initActions()
817 setOperationAction(ISD::READSTEADYCOUNTER, MVT::i64, Expand); in initActions()
823 {MVT::bf16, MVT::f16, MVT::f32, MVT::f64, MVT::f80, MVT::f128}, in initActions()
833 {MVT::f32, MVT::f64, MVT::f128}, Expand); in initActions()
837 MVT::f16, Promote); in initActions()
839 setOperationAction(ISD::TRAP, MVT::Other, Expand); in initActions()
843 setOperationAction(ISD::DEBUGTRAP, MVT::Other, Expand); in initActions()
845 setOperationAction(ISD::UBSANTRAP, MVT::Other, Expand); in initActions()
847 setOperationAction(ISD::GET_FPENV_MEM, MVT::Other, Expand); in initActions()
848 setOperationAction(ISD::SET_FPENV_MEM, MVT::Other, Expand); in initActions()
850 for (MVT VT : {MVT::i8, MVT::i16, MVT::i32, MVT::i64}) { in initActions()
854 setOperationAction(ISD::RESET_FPMODE, MVT::Other, Expand); in initActions()
858 setOperationAction(ISD::CLEAR_CACHE, MVT::Other, LibCall); in initActions()
861 MVT TargetLoweringBase::getScalarShiftAmountTy(const DataLayout &DL, in getScalarShiftAmountTy()
863 return MVT::getIntegerVT(DL.getPointerSizeInBits(0)); in getScalarShiftAmountTy()
871 MVT ShiftVT = getScalarShiftAmountTy(DL, LHSTy); in getShiftAmountTy()
875 ShiftVT = MVT::i32; in getShiftAmountTy()
927 MVT SVT = VT.getSimpleVT(); in getTypeConversion()
929 MVT NVT = TransformToType[SVT.SimpleTy]; in getTypeConversion()
1016 MVT NVT = MVT::getVectorVT(EltVT.getSimpleVT(), NumElts); in getTypeConversion()
1018 if (NVT != MVT() && ValueTypeActions.getTypeAction(NVT) == TypeLegal) in getTypeConversion()
1039 MVT LargerVector = MVT::getVectorVT(EltVT.getSimpleVT(), NumElts); in getTypeConversion()
1040 if (LargerVector == MVT()) in getTypeConversion()
1063 static unsigned getVectorTypeBreakdownMVT(MVT VT, MVT &IntermediateVT, in getVectorTypeBreakdownMVT()
1065 MVT &RegisterVT, in getVectorTypeBreakdownMVT()
1069 MVT EltTy = VT.getVectorElementType(); in getVectorTypeBreakdownMVT()
1091 !TLI->isTypeLegal(MVT::getVectorVT(EltTy, EC))) { in getVectorTypeBreakdownMVT()
1098 MVT NewVT = MVT::getVectorVT(EltTy, EC); in getVectorTypeBreakdownMVT()
1108 MVT DestVT = TLI->getRegisterType(NewVT); in getVectorTypeBreakdownMVT()
1122 for (const auto *I = TRI.legalclasstypes_begin(RC); *I != MVT::Other; ++I) in isLegalRC()
1225 MVT VT) const { in findRepresentativeClass()
1254 for (unsigned i = 0; i != MVT::VALUETYPE_SIZE; ++i) { in computeRegisterProperties()
1256 RegisterTypeForVT[i] = TransformToType[i] = (MVT::SimpleValueType)i; in computeRegisterProperties()
1259 NumRegistersForVT[MVT::isVoid] = 0; in computeRegisterProperties()
1262 unsigned LargestIntReg = MVT::LAST_INTEGER_VALUETYPE; in computeRegisterProperties()
1264 assert(LargestIntReg != MVT::i1 && "No integer registers defined!"); in computeRegisterProperties()
1269 ExpandedReg <= MVT::LAST_INTEGER_VALUETYPE; ++ExpandedReg) { in computeRegisterProperties()
1271 RegisterTypeForVT[ExpandedReg] = (MVT::SimpleValueType)LargestIntReg; in computeRegisterProperties()
1272 TransformToType[ExpandedReg] = (MVT::SimpleValueType)(ExpandedReg - 1); in computeRegisterProperties()
1273 ValueTypeActions.setTypeAction((MVT::SimpleValueType)ExpandedReg, in computeRegisterProperties()
1281 IntReg >= (unsigned)MVT::i1; --IntReg) { in computeRegisterProperties()
1282 MVT IVT = (MVT::SimpleValueType)IntReg; in computeRegisterProperties()
1287 (MVT::SimpleValueType)LegalIntReg; in computeRegisterProperties()
1293 if (!isTypeLegal(MVT::ppcf128)) { in computeRegisterProperties()
1294 if (isTypeLegal(MVT::f64)) { in computeRegisterProperties()
1295 NumRegistersForVT[MVT::ppcf128] = 2*NumRegistersForVT[MVT::f64]; in computeRegisterProperties()
1296 RegisterTypeForVT[MVT::ppcf128] = MVT::f64; in computeRegisterProperties()
1297 TransformToType[MVT::ppcf128] = MVT::f64; in computeRegisterProperties()
1298 ValueTypeActions.setTypeAction(MVT::ppcf128, TypeExpandFloat); in computeRegisterProperties()
1300 NumRegistersForVT[MVT::ppcf128] = NumRegistersForVT[MVT::i128]; in computeRegisterProperties()
1301 RegisterTypeForVT[MVT::ppcf128] = RegisterTypeForVT[MVT::i128]; in computeRegisterProperties()
1302 TransformToType[MVT::ppcf128] = MVT::i128; in computeRegisterProperties()
1303 ValueTypeActions.setTypeAction(MVT::ppcf128, TypeSoftenFloat); in computeRegisterProperties()
1309 if (!isTypeLegal(MVT::f128)) { in computeRegisterProperties()
1310 NumRegistersForVT[MVT::f128] = NumRegistersForVT[MVT::i128]; in computeRegisterProperties()
1311 RegisterTypeForVT[MVT::f128] = RegisterTypeForVT[MVT::i128]; in computeRegisterProperties()
1312 TransformToType[MVT::f128] = MVT::i128; in computeRegisterProperties()
1313 ValueTypeActions.setTypeAction(MVT::f128, TypeSoftenFloat); in computeRegisterProperties()
1318 if (!isTypeLegal(MVT::f80)) { in computeRegisterProperties()
1319 NumRegistersForVT[MVT::f80] = 3*NumRegistersForVT[MVT::i32]; in computeRegisterProperties()
1320 RegisterTypeForVT[MVT::f80] = RegisterTypeForVT[MVT::i32]; in computeRegisterProperties()
1321 TransformToType[MVT::f80] = MVT::i32; in computeRegisterProperties()
1322 ValueTypeActions.setTypeAction(MVT::f80, TypeSoftenFloat); in computeRegisterProperties()
1327 if (!isTypeLegal(MVT::f64)) { in computeRegisterProperties()
1328 NumRegistersForVT[MVT::f64] = NumRegistersForVT[MVT::i64]; in computeRegisterProperties()
1329 RegisterTypeForVT[MVT::f64] = RegisterTypeForVT[MVT::i64]; in computeRegisterProperties()
1330 TransformToType[MVT::f64] = MVT::i64; in computeRegisterProperties()
1331 ValueTypeActions.setTypeAction(MVT::f64, TypeSoftenFloat); in computeRegisterProperties()
1336 if (!isTypeLegal(MVT::f32)) { in computeRegisterProperties()
1337 NumRegistersForVT[MVT::f32] = NumRegistersForVT[MVT::i32]; in computeRegisterProperties()
1338 RegisterTypeForVT[MVT::f32] = RegisterTypeForVT[MVT::i32]; in computeRegisterProperties()
1339 TransformToType[MVT::f32] = MVT::i32; in computeRegisterProperties()
1340 ValueTypeActions.setTypeAction(MVT::f32, TypeSoftenFloat); in computeRegisterProperties()
1346 if (!isTypeLegal(MVT::f16)) { in computeRegisterProperties()
1352 NumRegistersForVT[MVT::f16] = NumRegistersForVT[MVT::i16]; in computeRegisterProperties()
1353 RegisterTypeForVT[MVT::f16] = RegisterTypeForVT[MVT::i16]; in computeRegisterProperties()
1355 NumRegistersForVT[MVT::f16] = NumRegistersForVT[MVT::f32]; in computeRegisterProperties()
1356 RegisterTypeForVT[MVT::f16] = RegisterTypeForVT[MVT::f32]; in computeRegisterProperties()
1358 TransformToType[MVT::f16] = MVT::f32; in computeRegisterProperties()
1360 ValueTypeActions.setTypeAction(MVT::f16, TypeSoftPromoteHalf); in computeRegisterProperties()
1362 ValueTypeActions.setTypeAction(MVT::f16, TypePromoteFloat); in computeRegisterProperties()
1369 if (!isTypeLegal(MVT::bf16)) { in computeRegisterProperties()
1370 NumRegistersForVT[MVT::bf16] = NumRegistersForVT[MVT::f32]; in computeRegisterProperties()
1371 RegisterTypeForVT[MVT::bf16] = RegisterTypeForVT[MVT::f32]; in computeRegisterProperties()
1372 TransformToType[MVT::bf16] = MVT::f32; in computeRegisterProperties()
1373 ValueTypeActions.setTypeAction(MVT::bf16, TypeSoftPromoteHalf); in computeRegisterProperties()
1377 for (unsigned i = MVT::FIRST_VECTOR_VALUETYPE; in computeRegisterProperties()
1378 i <= (unsigned)MVT::LAST_VECTOR_VALUETYPE; ++i) { in computeRegisterProperties()
1379 MVT VT = (MVT::SimpleValueType) i; in computeRegisterProperties()
1383 MVT EltVT = VT.getVectorElementType(); in computeRegisterProperties()
1390 MVT::SimpleValueType EndVT = IsScalable ? in computeRegisterProperties()
1391 MVT::LAST_INTEGER_SCALABLE_VECTOR_VALUETYPE : in computeRegisterProperties()
1392 MVT::LAST_INTEGER_FIXEDLEN_VECTOR_VALUETYPE; in computeRegisterProperties()
1396 (MVT::SimpleValueType)nVT <= EndVT; ++nVT) { in computeRegisterProperties()
1397 MVT SVT = (MVT::SimpleValueType) nVT; in computeRegisterProperties()
1418 for (unsigned nVT = i + 1; nVT <= MVT::LAST_VECTOR_VALUETYPE; ++nVT) { in computeRegisterProperties()
1419 MVT SVT = (MVT::SimpleValueType) nVT; in computeRegisterProperties()
1437 MVT NVT = VT.getPow2VectorType(); in computeRegisterProperties()
1450 MVT IntermediateVT; in computeRegisterProperties()
1451 MVT RegisterVT; in computeRegisterProperties()
1460 MVT NVT = VT.getPow2VectorType(); in computeRegisterProperties()
1463 TransformToType[i] = MVT::Other; in computeRegisterProperties()
1490 for (unsigned i = 0; i != MVT::VALUETYPE_SIZE; ++i) { in computeRegisterProperties()
1493 std::tie(RRC, Cost) = findRepresentativeClass(TRI, (MVT::SimpleValueType)i); in computeRegisterProperties()
1505 MVT::SimpleValueType TargetLoweringBase::getCmpLibcallReturnType() const { in getCmpLibcallReturnType()
1506 return MVT::i32; // return the default value in getCmpLibcallReturnType()
1520 MVT &RegisterVT) const { in getVectorTypeBreakdown()
1591 MVT DestVT = getRegisterType(Context, NewVT); in getVectorTypeBreakdown()
1629 MVT TargetLoweringBase::getPreferredSwitchConditionType(LLVMContext &Context, in getPreferredSwitchConditionType()
1661 MVT PartVT = in GetReturnInfo()
2027 if (VT.getScalarType() == MVT::f64) { in getReciprocalOpName()
2029 } else if (VT.getScalarType() == MVT::f16) { in getReciprocalOpName()
2032 assert(VT.getScalarType() == MVT::f32 && in getReciprocalOpName()
2206 MVT LoadMVT = LoadVT.getSimpleVT(); in isLoadBitCastBeneficial()