Lines Matching refs:MVT
223 VT == MVT::f32 ? Call_F32 : in getFPLibCall()
224 VT == MVT::f64 ? Call_F64 : in getFPLibCall()
225 VT == MVT::f80 ? Call_F80 : in getFPLibCall()
226 VT == MVT::f128 ? Call_F128 : in getFPLibCall()
227 VT == MVT::ppcf128 ? Call_PPCF128 : in getFPLibCall()
234 if (OpVT == MVT::f16) { in getFPEXT()
235 if (RetVT == MVT::f32) in getFPEXT()
237 if (RetVT == MVT::f64) in getFPEXT()
239 if (RetVT == MVT::f80) in getFPEXT()
241 if (RetVT == MVT::f128) in getFPEXT()
243 } else if (OpVT == MVT::f32) { in getFPEXT()
244 if (RetVT == MVT::f64) in getFPEXT()
246 if (RetVT == MVT::f128) in getFPEXT()
248 if (RetVT == MVT::ppcf128) in getFPEXT()
250 } else if (OpVT == MVT::f64) { in getFPEXT()
251 if (RetVT == MVT::f128) in getFPEXT()
253 else if (RetVT == MVT::ppcf128) in getFPEXT()
255 } else if (OpVT == MVT::f80) { in getFPEXT()
256 if (RetVT == MVT::f128) in getFPEXT()
266 if (RetVT == MVT::f16) { in getFPROUND()
267 if (OpVT == MVT::f32) in getFPROUND()
269 if (OpVT == MVT::f64) in getFPROUND()
271 if (OpVT == MVT::f80) in getFPROUND()
273 if (OpVT == MVT::f128) in getFPROUND()
275 if (OpVT == MVT::ppcf128) in getFPROUND()
277 } else if (RetVT == MVT::bf16) { in getFPROUND()
278 if (OpVT == MVT::f32) in getFPROUND()
280 if (OpVT == MVT::f64) in getFPROUND()
282 } else if (RetVT == MVT::f32) { in getFPROUND()
283 if (OpVT == MVT::f64) in getFPROUND()
285 if (OpVT == MVT::f80) in getFPROUND()
287 if (OpVT == MVT::f128) in getFPROUND()
289 if (OpVT == MVT::ppcf128) in getFPROUND()
291 } else if (RetVT == MVT::f64) { in getFPROUND()
292 if (OpVT == MVT::f80) in getFPROUND()
294 if (OpVT == MVT::f128) in getFPROUND()
296 if (OpVT == MVT::ppcf128) in getFPROUND()
298 } else if (RetVT == MVT::f80) { in getFPROUND()
299 if (OpVT == MVT::f128) in getFPROUND()
309 if (OpVT == MVT::f16) { in getFPTOSINT()
310 if (RetVT == MVT::i32) in getFPTOSINT()
312 if (RetVT == MVT::i64) in getFPTOSINT()
314 if (RetVT == MVT::i128) in getFPTOSINT()
316 } else if (OpVT == MVT::f32) { in getFPTOSINT()
317 if (RetVT == MVT::i32) in getFPTOSINT()
319 if (RetVT == MVT::i64) in getFPTOSINT()
321 if (RetVT == MVT::i128) in getFPTOSINT()
323 } else if (OpVT == MVT::f64) { in getFPTOSINT()
324 if (RetVT == MVT::i32) in getFPTOSINT()
326 if (RetVT == MVT::i64) in getFPTOSINT()
328 if (RetVT == MVT::i128) in getFPTOSINT()
330 } else if (OpVT == MVT::f80) { in getFPTOSINT()
331 if (RetVT == MVT::i32) in getFPTOSINT()
333 if (RetVT == MVT::i64) in getFPTOSINT()
335 if (RetVT == MVT::i128) in getFPTOSINT()
337 } else if (OpVT == MVT::f128) { in getFPTOSINT()
338 if (RetVT == MVT::i32) in getFPTOSINT()
340 if (RetVT == MVT::i64) in getFPTOSINT()
342 if (RetVT == MVT::i128) in getFPTOSINT()
344 } else if (OpVT == MVT::ppcf128) { in getFPTOSINT()
345 if (RetVT == MVT::i32) in getFPTOSINT()
347 if (RetVT == MVT::i64) in getFPTOSINT()
349 if (RetVT == MVT::i128) in getFPTOSINT()
358 if (OpVT == MVT::f16) { in getFPTOUINT()
359 if (RetVT == MVT::i32) in getFPTOUINT()
361 if (RetVT == MVT::i64) in getFPTOUINT()
363 if (RetVT == MVT::i128) in getFPTOUINT()
365 } else if (OpVT == MVT::f32) { in getFPTOUINT()
366 if (RetVT == MVT::i32) in getFPTOUINT()
368 if (RetVT == MVT::i64) in getFPTOUINT()
370 if (RetVT == MVT::i128) in getFPTOUINT()
372 } else if (OpVT == MVT::f64) { in getFPTOUINT()
373 if (RetVT == MVT::i32) in getFPTOUINT()
375 if (RetVT == MVT::i64) in getFPTOUINT()
377 if (RetVT == MVT::i128) in getFPTOUINT()
379 } else if (OpVT == MVT::f80) { in getFPTOUINT()
380 if (RetVT == MVT::i32) in getFPTOUINT()
382 if (RetVT == MVT::i64) in getFPTOUINT()
384 if (RetVT == MVT::i128) in getFPTOUINT()
386 } else if (OpVT == MVT::f128) { in getFPTOUINT()
387 if (RetVT == MVT::i32) in getFPTOUINT()
389 if (RetVT == MVT::i64) in getFPTOUINT()
391 if (RetVT == MVT::i128) in getFPTOUINT()
393 } else if (OpVT == MVT::ppcf128) { in getFPTOUINT()
394 if (RetVT == MVT::i32) in getFPTOUINT()
396 if (RetVT == MVT::i64) in getFPTOUINT()
398 if (RetVT == MVT::i128) in getFPTOUINT()
407 if (OpVT == MVT::i32) { in getSINTTOFP()
408 if (RetVT == MVT::f16) in getSINTTOFP()
410 if (RetVT == MVT::f32) in getSINTTOFP()
412 if (RetVT == MVT::f64) in getSINTTOFP()
414 if (RetVT == MVT::f80) in getSINTTOFP()
416 if (RetVT == MVT::f128) in getSINTTOFP()
418 if (RetVT == MVT::ppcf128) in getSINTTOFP()
420 } else if (OpVT == MVT::i64) { in getSINTTOFP()
421 if (RetVT == MVT::f16) in getSINTTOFP()
423 if (RetVT == MVT::f32) in getSINTTOFP()
425 if (RetVT == MVT::f64) in getSINTTOFP()
427 if (RetVT == MVT::f80) in getSINTTOFP()
429 if (RetVT == MVT::f128) in getSINTTOFP()
431 if (RetVT == MVT::ppcf128) in getSINTTOFP()
433 } else if (OpVT == MVT::i128) { in getSINTTOFP()
434 if (RetVT == MVT::f16) in getSINTTOFP()
436 if (RetVT == MVT::f32) in getSINTTOFP()
438 if (RetVT == MVT::f64) in getSINTTOFP()
440 if (RetVT == MVT::f80) in getSINTTOFP()
442 if (RetVT == MVT::f128) in getSINTTOFP()
444 if (RetVT == MVT::ppcf128) in getSINTTOFP()
453 if (OpVT == MVT::i32) { in getUINTTOFP()
454 if (RetVT == MVT::f16) in getUINTTOFP()
456 if (RetVT == MVT::f32) in getUINTTOFP()
458 if (RetVT == MVT::f64) in getUINTTOFP()
460 if (RetVT == MVT::f80) in getUINTTOFP()
462 if (RetVT == MVT::f128) in getUINTTOFP()
464 if (RetVT == MVT::ppcf128) in getUINTTOFP()
466 } else if (OpVT == MVT::i64) { in getUINTTOFP()
467 if (RetVT == MVT::f16) in getUINTTOFP()
469 if (RetVT == MVT::f32) in getUINTTOFP()
471 if (RetVT == MVT::f64) in getUINTTOFP()
473 if (RetVT == MVT::f80) in getUINTTOFP()
475 if (RetVT == MVT::f128) in getUINTTOFP()
477 if (RetVT == MVT::ppcf128) in getUINTTOFP()
479 } else if (OpVT == MVT::i128) { in getUINTTOFP()
480 if (RetVT == MVT::f16) in getUINTTOFP()
482 if (RetVT == MVT::f32) in getUINTTOFP()
484 if (RetVT == MVT::f64) in getUINTTOFP()
486 if (RetVT == MVT::f80) in getUINTTOFP()
488 if (RetVT == MVT::f128) in getUINTTOFP()
490 if (RetVT == MVT::ppcf128) in getUINTTOFP()
502 MVT VT) { in getOUTLINE_ATOMIC()
505 case MVT::i8: in getOUTLINE_ATOMIC()
508 case MVT::i16: in getOUTLINE_ATOMIC()
511 case MVT::i32: in getOUTLINE_ATOMIC()
514 case MVT::i64: in getOUTLINE_ATOMIC()
517 case MVT::i128: in getOUTLINE_ATOMIC()
578 RTLIB::Libcall RTLIB::getSYNC(unsigned Opc, MVT VT) { in getSYNC()
584 case MVT::i8: \ in getSYNC()
586 case MVT::i16: \ in getSYNC()
588 case MVT::i32: \ in getSYNC()
590 case MVT::i64: \ in getSYNC()
592 case MVT::i128: \ in getSYNC()
751 for (MVT VT : {MVT::i2, MVT::i4}) in initActions()
754 for (MVT AVT : MVT::all_valuetypes()) { in initActions()
755 for (MVT VT : {MVT::i2, MVT::i4, MVT::v128i2, MVT::v64i4}) { in initActions()
763 for (MVT VT : {MVT::i2, MVT::i4}) { in initActions()
771 for (MVT VT : MVT::fp_valuetypes()) { in initActions()
772 MVT IntVT = MVT::getIntegerVT(VT.getFixedSizeInBits()); in initActions()
780 for (MVT VT : MVT::all_valuetypes()) { in initActions()
874 setOperationAction(ISD::PREFETCH, MVT::Other, Expand); in initActions()
877 setOperationAction(ISD::READCYCLECOUNTER, MVT::i64, Expand); in initActions()
883 {MVT::f16, MVT::f32, MVT::f64, MVT::f80, MVT::f128}, in initActions()
891 {MVT::f32, MVT::f64, MVT::f128}, Expand); in initActions()
894 setOperationAction(ISD::TRAP, MVT::Other, Expand); in initActions()
898 setOperationAction(ISD::DEBUGTRAP, MVT::Other, Expand); in initActions()
900 setOperationAction(ISD::UBSANTRAP, MVT::Other, Expand); in initActions()
903 MVT TargetLoweringBase::getScalarShiftAmountTy(const DataLayout &DL, in getScalarShiftAmountTy()
905 return MVT::getIntegerVT(DL.getPointerSizeInBits(0)); in getScalarShiftAmountTy()
913 MVT ShiftVT = in getShiftAmountTy()
918 ShiftVT = MVT::i32; in getShiftAmountTy()
952 MVT SVT = VT.getSimpleVT(); in getTypeConversion()
954 MVT NVT = TransformToType[SVT.SimpleTy]; in getTypeConversion()
1041 MVT NVT = MVT::getVectorVT(EltVT.getSimpleVT(), NumElts); in getTypeConversion()
1043 if (NVT != MVT() && ValueTypeActions.getTypeAction(NVT) == TypeLegal) in getTypeConversion()
1064 MVT LargerVector = MVT::getVectorVT(EltVT.getSimpleVT(), NumElts); in getTypeConversion()
1065 if (LargerVector == MVT()) in getTypeConversion()
1088 static unsigned getVectorTypeBreakdownMVT(MVT VT, MVT &IntermediateVT, in getVectorTypeBreakdownMVT()
1090 MVT &RegisterVT, in getVectorTypeBreakdownMVT()
1094 MVT EltTy = VT.getVectorElementType(); in getVectorTypeBreakdownMVT()
1116 !TLI->isTypeLegal(MVT::getVectorVT(EltTy, EC))) { in getVectorTypeBreakdownMVT()
1123 MVT NewVT = MVT::getVectorVT(EltTy, EC); in getVectorTypeBreakdownMVT()
1134 MVT DestVT = TLI->getRegisterType(NewVT); in getVectorTypeBreakdownMVT()
1148 for (const auto *I = TRI.legalclasstypes_begin(RC); *I != MVT::Other; ++I) in isLegalRC()
1251 MVT VT) const { in findRepresentativeClass()
1279 static_assert(MVT::VALUETYPE_SIZE <= MVT::MAX_ALLOWED_VALUETYPE, in computeRegisterProperties()
1283 for (unsigned i = 0; i != MVT::VALUETYPE_SIZE; ++i) { in computeRegisterProperties()
1285 RegisterTypeForVT[i] = TransformToType[i] = (MVT::SimpleValueType)i; in computeRegisterProperties()
1288 NumRegistersForVT[MVT::isVoid] = 0; in computeRegisterProperties()
1291 unsigned LargestIntReg = MVT::LAST_INTEGER_VALUETYPE; in computeRegisterProperties()
1293 assert(LargestIntReg != MVT::i1 && "No integer registers defined!"); in computeRegisterProperties()
1298 ExpandedReg <= MVT::LAST_INTEGER_VALUETYPE; ++ExpandedReg) { in computeRegisterProperties()
1300 RegisterTypeForVT[ExpandedReg] = (MVT::SimpleValueType)LargestIntReg; in computeRegisterProperties()
1301 TransformToType[ExpandedReg] = (MVT::SimpleValueType)(ExpandedReg - 1); in computeRegisterProperties()
1302 ValueTypeActions.setTypeAction((MVT::SimpleValueType)ExpandedReg, in computeRegisterProperties()
1310 IntReg >= (unsigned)MVT::i1; --IntReg) { in computeRegisterProperties()
1311 MVT IVT = (MVT::SimpleValueType)IntReg; in computeRegisterProperties()
1316 (MVT::SimpleValueType)LegalIntReg; in computeRegisterProperties()
1322 if (!isTypeLegal(MVT::ppcf128)) { in computeRegisterProperties()
1323 if (isTypeLegal(MVT::f64)) { in computeRegisterProperties()
1324 NumRegistersForVT[MVT::ppcf128] = 2*NumRegistersForVT[MVT::f64]; in computeRegisterProperties()
1325 RegisterTypeForVT[MVT::ppcf128] = MVT::f64; in computeRegisterProperties()
1326 TransformToType[MVT::ppcf128] = MVT::f64; in computeRegisterProperties()
1327 ValueTypeActions.setTypeAction(MVT::ppcf128, TypeExpandFloat); in computeRegisterProperties()
1329 NumRegistersForVT[MVT::ppcf128] = NumRegistersForVT[MVT::i128]; in computeRegisterProperties()
1330 RegisterTypeForVT[MVT::ppcf128] = RegisterTypeForVT[MVT::i128]; in computeRegisterProperties()
1331 TransformToType[MVT::ppcf128] = MVT::i128; in computeRegisterProperties()
1332 ValueTypeActions.setTypeAction(MVT::ppcf128, TypeSoftenFloat); in computeRegisterProperties()
1338 if (!isTypeLegal(MVT::f128)) { in computeRegisterProperties()
1339 NumRegistersForVT[MVT::f128] = NumRegistersForVT[MVT::i128]; in computeRegisterProperties()
1340 RegisterTypeForVT[MVT::f128] = RegisterTypeForVT[MVT::i128]; in computeRegisterProperties()
1341 TransformToType[MVT::f128] = MVT::i128; in computeRegisterProperties()
1342 ValueTypeActions.setTypeAction(MVT::f128, TypeSoftenFloat); in computeRegisterProperties()
1347 if (!isTypeLegal(MVT::f64)) { in computeRegisterProperties()
1348 NumRegistersForVT[MVT::f64] = NumRegistersForVT[MVT::i64]; in computeRegisterProperties()
1349 RegisterTypeForVT[MVT::f64] = RegisterTypeForVT[MVT::i64]; in computeRegisterProperties()
1350 TransformToType[MVT::f64] = MVT::i64; in computeRegisterProperties()
1351 ValueTypeActions.setTypeAction(MVT::f64, TypeSoftenFloat); in computeRegisterProperties()
1356 if (!isTypeLegal(MVT::f32)) { in computeRegisterProperties()
1357 NumRegistersForVT[MVT::f32] = NumRegistersForVT[MVT::i32]; in computeRegisterProperties()
1358 RegisterTypeForVT[MVT::f32] = RegisterTypeForVT[MVT::i32]; in computeRegisterProperties()
1359 TransformToType[MVT::f32] = MVT::i32; in computeRegisterProperties()
1360 ValueTypeActions.setTypeAction(MVT::f32, TypeSoftenFloat); in computeRegisterProperties()
1366 if (!isTypeLegal(MVT::f16)) { in computeRegisterProperties()
1369 NumRegistersForVT[MVT::f16] = NumRegistersForVT[MVT::i16]; in computeRegisterProperties()
1370 RegisterTypeForVT[MVT::f16] = RegisterTypeForVT[MVT::i16]; in computeRegisterProperties()
1371 TransformToType[MVT::f16] = MVT::f32; in computeRegisterProperties()
1372 ValueTypeActions.setTypeAction(MVT::f16, TypeSoftPromoteHalf); in computeRegisterProperties()
1374 NumRegistersForVT[MVT::f16] = NumRegistersForVT[MVT::f32]; in computeRegisterProperties()
1375 RegisterTypeForVT[MVT::f16] = RegisterTypeForVT[MVT::f32]; in computeRegisterProperties()
1376 TransformToType[MVT::f16] = MVT::f32; in computeRegisterProperties()
1377 ValueTypeActions.setTypeAction(MVT::f16, TypePromoteFloat); in computeRegisterProperties()
1384 if (!isTypeLegal(MVT::bf16)) { in computeRegisterProperties()
1385 NumRegistersForVT[MVT::bf16] = NumRegistersForVT[MVT::f32]; in computeRegisterProperties()
1386 RegisterTypeForVT[MVT::bf16] = RegisterTypeForVT[MVT::f32]; in computeRegisterProperties()
1387 TransformToType[MVT::bf16] = MVT::f32; in computeRegisterProperties()
1388 ValueTypeActions.setTypeAction(MVT::bf16, TypePromoteFloat); in computeRegisterProperties()
1392 for (unsigned i = MVT::FIRST_VECTOR_VALUETYPE; in computeRegisterProperties()
1393 i <= (unsigned)MVT::LAST_VECTOR_VALUETYPE; ++i) { in computeRegisterProperties()
1394 MVT VT = (MVT::SimpleValueType) i; in computeRegisterProperties()
1398 MVT EltVT = VT.getVectorElementType(); in computeRegisterProperties()
1405 MVT::SimpleValueType EndVT = IsScalable ? in computeRegisterProperties()
1406 MVT::LAST_INTEGER_SCALABLE_VECTOR_VALUETYPE : in computeRegisterProperties()
1407 MVT::LAST_INTEGER_FIXEDLEN_VECTOR_VALUETYPE; in computeRegisterProperties()
1411 (MVT::SimpleValueType)nVT <= EndVT; ++nVT) { in computeRegisterProperties()
1412 MVT SVT = (MVT::SimpleValueType) nVT; in computeRegisterProperties()
1433 for (unsigned nVT = i + 1; nVT <= MVT::LAST_VECTOR_VALUETYPE; ++nVT) { in computeRegisterProperties()
1434 MVT SVT = (MVT::SimpleValueType) nVT; in computeRegisterProperties()
1452 MVT NVT = VT.getPow2VectorType(); in computeRegisterProperties()
1465 MVT IntermediateVT; in computeRegisterProperties()
1466 MVT RegisterVT; in computeRegisterProperties()
1475 MVT NVT = VT.getPow2VectorType(); in computeRegisterProperties()
1478 TransformToType[i] = MVT::Other; in computeRegisterProperties()
1505 for (unsigned i = 0; i != MVT::VALUETYPE_SIZE; ++i) { in computeRegisterProperties()
1508 std::tie(RRC, Cost) = findRepresentativeClass(TRI, (MVT::SimpleValueType)i); in computeRegisterProperties()
1520 MVT::SimpleValueType TargetLoweringBase::getCmpLibcallReturnType() const { in getCmpLibcallReturnType()
1521 return MVT::i32; // return the default value in getCmpLibcallReturnType()
1535 MVT &RegisterVT) const { in getVectorTypeBreakdown()
1606 MVT DestVT = getRegisterType(Context, NewVT); in getVectorTypeBreakdown()
1644 MVT TargetLoweringBase::getPreferredSwitchConditionType(LLVMContext &Context, in getPreferredSwitchConditionType()
1676 MVT MinVT = TLI.getRegisterType(ReturnType->getContext(), MVT::i32); in GetReturnInfo()
1683 MVT PartVT = in GetReturnInfo()
1846 std::pair<InstructionCost, MVT>
1862 MVT VT = MTy.isSimple() ? MTy.getSimpleVT() : MVT::i64; in getTypeLegalizationCost()
2069 if (VT.getScalarType() == MVT::f64) { in getReciprocalOpName()
2071 } else if (VT.getScalarType() == MVT::f16) { in getReciprocalOpName()
2074 assert(VT.getScalarType() == MVT::f32 && in getReciprocalOpName()