Lines Matching refs:MVT
441 if (OpVT == MVT::f16) { in getFPEXT()
442 if (RetVT == MVT::f32) in getFPEXT()
444 } else if (OpVT == MVT::f32) { in getFPEXT()
445 if (RetVT == MVT::f64) in getFPEXT()
447 if (RetVT == MVT::f128) in getFPEXT()
449 } else if (OpVT == MVT::f64) { in getFPEXT()
450 if (RetVT == MVT::f128) in getFPEXT()
460 if (RetVT == MVT::f16) { in getFPROUND()
461 if (OpVT == MVT::f32) in getFPROUND()
463 if (OpVT == MVT::f64) in getFPROUND()
465 if (OpVT == MVT::f80) in getFPROUND()
467 if (OpVT == MVT::f128) in getFPROUND()
469 if (OpVT == MVT::ppcf128) in getFPROUND()
471 } else if (RetVT == MVT::f32) { in getFPROUND()
472 if (OpVT == MVT::f64) in getFPROUND()
474 if (OpVT == MVT::f80) in getFPROUND()
476 if (OpVT == MVT::f128) in getFPROUND()
478 if (OpVT == MVT::ppcf128) in getFPROUND()
480 } else if (RetVT == MVT::f64) { in getFPROUND()
481 if (OpVT == MVT::f80) in getFPROUND()
483 if (OpVT == MVT::f128) in getFPROUND()
485 if (OpVT == MVT::ppcf128) in getFPROUND()
495 if (OpVT == MVT::f32) { in getFPTOSINT()
496 if (RetVT == MVT::i32) in getFPTOSINT()
498 if (RetVT == MVT::i64) in getFPTOSINT()
500 if (RetVT == MVT::i128) in getFPTOSINT()
502 } else if (OpVT == MVT::f64) { in getFPTOSINT()
503 if (RetVT == MVT::i32) in getFPTOSINT()
505 if (RetVT == MVT::i64) in getFPTOSINT()
507 if (RetVT == MVT::i128) in getFPTOSINT()
509 } else if (OpVT == MVT::f80) { in getFPTOSINT()
510 if (RetVT == MVT::i32) in getFPTOSINT()
512 if (RetVT == MVT::i64) in getFPTOSINT()
514 if (RetVT == MVT::i128) in getFPTOSINT()
516 } else if (OpVT == MVT::f128) { in getFPTOSINT()
517 if (RetVT == MVT::i32) in getFPTOSINT()
519 if (RetVT == MVT::i64) in getFPTOSINT()
521 if (RetVT == MVT::i128) in getFPTOSINT()
523 } else if (OpVT == MVT::ppcf128) { in getFPTOSINT()
524 if (RetVT == MVT::i32) in getFPTOSINT()
526 if (RetVT == MVT::i64) in getFPTOSINT()
528 if (RetVT == MVT::i128) in getFPTOSINT()
537 if (OpVT == MVT::f32) { in getFPTOUINT()
538 if (RetVT == MVT::i32) in getFPTOUINT()
540 if (RetVT == MVT::i64) in getFPTOUINT()
542 if (RetVT == MVT::i128) in getFPTOUINT()
544 } else if (OpVT == MVT::f64) { in getFPTOUINT()
545 if (RetVT == MVT::i32) in getFPTOUINT()
547 if (RetVT == MVT::i64) in getFPTOUINT()
549 if (RetVT == MVT::i128) in getFPTOUINT()
551 } else if (OpVT == MVT::f80) { in getFPTOUINT()
552 if (RetVT == MVT::i32) in getFPTOUINT()
554 if (RetVT == MVT::i64) in getFPTOUINT()
556 if (RetVT == MVT::i128) in getFPTOUINT()
558 } else if (OpVT == MVT::f128) { in getFPTOUINT()
559 if (RetVT == MVT::i32) in getFPTOUINT()
561 if (RetVT == MVT::i64) in getFPTOUINT()
563 if (RetVT == MVT::i128) in getFPTOUINT()
565 } else if (OpVT == MVT::ppcf128) { in getFPTOUINT()
566 if (RetVT == MVT::i32) in getFPTOUINT()
568 if (RetVT == MVT::i64) in getFPTOUINT()
570 if (RetVT == MVT::i128) in getFPTOUINT()
579 if (OpVT == MVT::i32) { in getSINTTOFP()
580 if (RetVT == MVT::f32) in getSINTTOFP()
582 if (RetVT == MVT::f64) in getSINTTOFP()
584 if (RetVT == MVT::f80) in getSINTTOFP()
586 if (RetVT == MVT::f128) in getSINTTOFP()
588 if (RetVT == MVT::ppcf128) in getSINTTOFP()
590 } else if (OpVT == MVT::i64) { in getSINTTOFP()
591 if (RetVT == MVT::f32) in getSINTTOFP()
593 if (RetVT == MVT::f64) in getSINTTOFP()
595 if (RetVT == MVT::f80) in getSINTTOFP()
597 if (RetVT == MVT::f128) in getSINTTOFP()
599 if (RetVT == MVT::ppcf128) in getSINTTOFP()
601 } else if (OpVT == MVT::i128) { in getSINTTOFP()
602 if (RetVT == MVT::f32) in getSINTTOFP()
604 if (RetVT == MVT::f64) in getSINTTOFP()
606 if (RetVT == MVT::f80) in getSINTTOFP()
608 if (RetVT == MVT::f128) in getSINTTOFP()
610 if (RetVT == MVT::ppcf128) in getSINTTOFP()
619 if (OpVT == MVT::i32) { in getUINTTOFP()
620 if (RetVT == MVT::f32) in getUINTTOFP()
622 if (RetVT == MVT::f64) in getUINTTOFP()
624 if (RetVT == MVT::f80) in getUINTTOFP()
626 if (RetVT == MVT::f128) in getUINTTOFP()
628 if (RetVT == MVT::ppcf128) in getUINTTOFP()
630 } else if (OpVT == MVT::i64) { in getUINTTOFP()
631 if (RetVT == MVT::f32) in getUINTTOFP()
633 if (RetVT == MVT::f64) in getUINTTOFP()
635 if (RetVT == MVT::f80) in getUINTTOFP()
637 if (RetVT == MVT::f128) in getUINTTOFP()
639 if (RetVT == MVT::ppcf128) in getUINTTOFP()
641 } else if (OpVT == MVT::i128) { in getUINTTOFP()
642 if (RetVT == MVT::f32) in getUINTTOFP()
644 if (RetVT == MVT::f64) in getUINTTOFP()
646 if (RetVT == MVT::f80) in getUINTTOFP()
648 if (RetVT == MVT::f128) in getUINTTOFP()
650 if (RetVT == MVT::ppcf128) in getUINTTOFP()
656 RTLIB::Libcall RTLIB::getATOMIC(unsigned Opc, MVT VT) { in getATOMIC()
662 case MVT::i8: \ in getATOMIC()
664 case MVT::i16: \ in getATOMIC()
666 case MVT::i32: \ in getATOMIC()
668 case MVT::i64: \ in getATOMIC()
670 case MVT::i128: \ in getATOMIC()
770 memset(RegClassForVT, 0,MVT::LAST_VALUETYPE*sizeof(TargetRegisterClass*)); in initActions()
774 for (MVT VT : MVT::all_valuetypes()) { in initActions()
824 setOperationAction(ISD::PREFETCH, MVT::Other, Expand); in initActions()
827 setOperationAction(ISD::READCYCLECOUNTER, MVT::i64, Expand); in initActions()
832 setOperationAction(ISD::ConstantFP, MVT::f16, Expand); in initActions()
833 setOperationAction(ISD::ConstantFP, MVT::f32, Expand); in initActions()
834 setOperationAction(ISD::ConstantFP, MVT::f64, Expand); in initActions()
835 setOperationAction(ISD::ConstantFP, MVT::f80, Expand); in initActions()
836 setOperationAction(ISD::ConstantFP, MVT::f128, Expand); in initActions()
839 for (MVT VT : {MVT::f32, MVT::f64, MVT::f128}) { in initActions()
856 setOperationAction(ISD::TRAP, MVT::Other, Expand); in initActions()
861 setOperationAction(ISD::DEBUGTRAP, MVT::Other, Expand); in initActions()
864 MVT TargetLoweringBase::getScalarShiftAmountTy(const DataLayout &DL, in getScalarShiftAmountTy()
866 return MVT::getIntegerVT(8 * DL.getPointerSize(0)); in getScalarShiftAmountTy()
904 MVT SVT = VT.getSimpleVT(); in getTypeConversion()
906 MVT NVT = TransformToType[SVT.SimpleTy]; in getTypeConversion()
990 MVT NVT = MVT::getVectorVT(EltVT.getSimpleVT(), NumElts); in getTypeConversion()
992 if (NVT != MVT() && ValueTypeActions.getTypeAction(NVT) == TypeLegal) in getTypeConversion()
1013 MVT LargerVector = MVT::getVectorVT(EltVT.getSimpleVT(), NumElts); in getTypeConversion()
1014 if (LargerVector == MVT()) in getTypeConversion()
1033 static unsigned getVectorTypeBreakdownMVT(MVT VT, MVT &IntermediateVT, in getVectorTypeBreakdownMVT()
1035 MVT &RegisterVT, in getVectorTypeBreakdownMVT()
1039 MVT EltTy = VT.getVectorElementType(); in getVectorTypeBreakdownMVT()
1052 while (NumElts > 1 && !TLI->isTypeLegal(MVT::getVectorVT(EltTy, NumElts))) { in getVectorTypeBreakdownMVT()
1059 MVT NewVT = MVT::getVectorVT(EltTy, NumElts); in getVectorTypeBreakdownMVT()
1070 MVT DestVT = TLI->getRegisterType(NewVT); in getVectorTypeBreakdownMVT()
1155 MVT VT) const { in findRepresentativeClass()
1183 static_assert(MVT::LAST_VALUETYPE <= MVT::MAX_ALLOWED_VALUETYPE, in computeRegisterProperties()
1187 for (unsigned i = 0; i != MVT::LAST_VALUETYPE; ++i) { in computeRegisterProperties()
1189 RegisterTypeForVT[i] = TransformToType[i] = (MVT::SimpleValueType)i; in computeRegisterProperties()
1192 NumRegistersForVT[MVT::isVoid] = 0; in computeRegisterProperties()
1195 unsigned LargestIntReg = MVT::LAST_INTEGER_VALUETYPE; in computeRegisterProperties()
1197 assert(LargestIntReg != MVT::i1 && "No integer registers defined!"); in computeRegisterProperties()
1202 ExpandedReg <= MVT::LAST_INTEGER_VALUETYPE; ++ExpandedReg) { in computeRegisterProperties()
1204 RegisterTypeForVT[ExpandedReg] = (MVT::SimpleValueType)LargestIntReg; in computeRegisterProperties()
1205 TransformToType[ExpandedReg] = (MVT::SimpleValueType)(ExpandedReg - 1); in computeRegisterProperties()
1206 ValueTypeActions.setTypeAction((MVT::SimpleValueType)ExpandedReg, in computeRegisterProperties()
1214 IntReg >= (unsigned)MVT::i1; --IntReg) { in computeRegisterProperties()
1215 MVT IVT = (MVT::SimpleValueType)IntReg; in computeRegisterProperties()
1220 (const MVT::SimpleValueType)LegalIntReg; in computeRegisterProperties()
1226 if (!isTypeLegal(MVT::ppcf128)) { in computeRegisterProperties()
1227 NumRegistersForVT[MVT::ppcf128] = 2*NumRegistersForVT[MVT::f64]; in computeRegisterProperties()
1228 RegisterTypeForVT[MVT::ppcf128] = MVT::f64; in computeRegisterProperties()
1229 TransformToType[MVT::ppcf128] = MVT::f64; in computeRegisterProperties()
1230 ValueTypeActions.setTypeAction(MVT::ppcf128, TypeExpandFloat); in computeRegisterProperties()
1235 if (!isTypeLegal(MVT::f128)) { in computeRegisterProperties()
1236 NumRegistersForVT[MVT::f128] = NumRegistersForVT[MVT::i128]; in computeRegisterProperties()
1237 RegisterTypeForVT[MVT::f128] = RegisterTypeForVT[MVT::i128]; in computeRegisterProperties()
1238 TransformToType[MVT::f128] = MVT::i128; in computeRegisterProperties()
1239 ValueTypeActions.setTypeAction(MVT::f128, TypeSoftenFloat); in computeRegisterProperties()
1244 if (!isTypeLegal(MVT::f64)) { in computeRegisterProperties()
1245 NumRegistersForVT[MVT::f64] = NumRegistersForVT[MVT::i64]; in computeRegisterProperties()
1246 RegisterTypeForVT[MVT::f64] = RegisterTypeForVT[MVT::i64]; in computeRegisterProperties()
1247 TransformToType[MVT::f64] = MVT::i64; in computeRegisterProperties()
1248 ValueTypeActions.setTypeAction(MVT::f64, TypeSoftenFloat); in computeRegisterProperties()
1253 if (!isTypeLegal(MVT::f32)) { in computeRegisterProperties()
1254 NumRegistersForVT[MVT::f32] = NumRegistersForVT[MVT::i32]; in computeRegisterProperties()
1255 RegisterTypeForVT[MVT::f32] = RegisterTypeForVT[MVT::i32]; in computeRegisterProperties()
1256 TransformToType[MVT::f32] = MVT::i32; in computeRegisterProperties()
1257 ValueTypeActions.setTypeAction(MVT::f32, TypeSoftenFloat); in computeRegisterProperties()
1263 if (!isTypeLegal(MVT::f16)) { in computeRegisterProperties()
1264 NumRegistersForVT[MVT::f16] = NumRegistersForVT[MVT::f32]; in computeRegisterProperties()
1265 RegisterTypeForVT[MVT::f16] = RegisterTypeForVT[MVT::f32]; in computeRegisterProperties()
1266 TransformToType[MVT::f16] = MVT::f32; in computeRegisterProperties()
1267 ValueTypeActions.setTypeAction(MVT::f16, TypePromoteFloat); in computeRegisterProperties()
1271 for (unsigned i = MVT::FIRST_VECTOR_VALUETYPE; in computeRegisterProperties()
1272 i <= (unsigned)MVT::LAST_VECTOR_VALUETYPE; ++i) { in computeRegisterProperties()
1273 MVT VT = (MVT::SimpleValueType) i; in computeRegisterProperties()
1277 MVT EltVT = VT.getVectorElementType(); in computeRegisterProperties()
1285 for (unsigned nVT = i + 1; nVT <= MVT::LAST_VECTOR_VALUETYPE; ++nVT) { in computeRegisterProperties()
1286 MVT SVT = (MVT::SimpleValueType) nVT; in computeRegisterProperties()
1305 for (unsigned nVT = i + 1; nVT <= MVT::LAST_VECTOR_VALUETYPE; ++nVT) { in computeRegisterProperties()
1306 MVT SVT = (MVT::SimpleValueType) nVT; in computeRegisterProperties()
1322 MVT IntermediateVT; in computeRegisterProperties()
1323 MVT RegisterVT; in computeRegisterProperties()
1329 MVT NVT = VT.getPow2VectorType(); in computeRegisterProperties()
1332 TransformToType[i] = MVT::Other; in computeRegisterProperties()
1357 for (unsigned i = 0; i != MVT::LAST_VALUETYPE; ++i) { in computeRegisterProperties()
1360 std::tie(RRC, Cost) = findRepresentativeClass(TRI, (MVT::SimpleValueType)i); in computeRegisterProperties()
1372 MVT::SimpleValueType TargetLoweringBase::getCmpLibcallReturnType() const { in getCmpLibcallReturnType()
1373 return MVT::i32; // return the default value in getCmpLibcallReturnType()
1388 MVT &RegisterVT) const { in getVectorTypeBreakdown()
1434 MVT DestVT = getRegisterType(Context, NewVT); in getVectorTypeBreakdown()
1476 MVT MinVT = TLI.getRegisterType(ReturnType->getContext(), MVT::i32); in GetReturnInfo()
1482 MVT PartVT = TLI.getRegisterType(ReturnType->getContext(), VT); in GetReturnInfo()
1611 std::pair<int, MVT>