Lines Matching refs:Subtarget

50   const X86Subtarget *Subtarget;  member in __anond0edf0320111::X86FastISel
56 Subtarget = &funcInfo.MF->getSubtarget<X86Subtarget>(); in X86FastISel()
130 return Subtarget->getInstrInfo(); in getInstrInfo()
150 return (VT == MVT::f64 && Subtarget->hasSSE2()) || in isScalarFPTypeInSSEReg()
151 (VT == MVT::f32 && Subtarget->hasSSE1()) || VT == MVT::f16; in isScalarFPTypeInSSEReg()
299 if (VT == MVT::f64 && !Subtarget->hasSSE2()) in isTypeLegal()
301 if (VT == MVT::f32 && !Subtarget->hasSSE1()) in isTypeLegal()
319 bool HasSSE1 = Subtarget->hasSSE1(); in X86FastEmitLoad()
320 bool HasSSE2 = Subtarget->hasSSE2(); in X86FastEmitLoad()
321 bool HasSSE41 = Subtarget->hasSSE41(); in X86FastEmitLoad()
322 bool HasAVX = Subtarget->hasAVX(); in X86FastEmitLoad()
323 bool HasAVX2 = Subtarget->hasAVX2(); in X86FastEmitLoad()
324 bool HasAVX512 = Subtarget->hasAVX512(); in X86FastEmitLoad()
325 bool HasVLX = Subtarget->hasVLX(); in X86FastEmitLoad()
481 bool HasSSE1 = Subtarget->hasSSE1(); in X86FastEmitStore()
482 bool HasSSE2 = Subtarget->hasSSE2(); in X86FastEmitStore()
483 bool HasSSE4A = Subtarget->hasSSE4A(); in X86FastEmitStore()
484 bool HasAVX = Subtarget->hasAVX(); in X86FastEmitStore()
485 bool HasAVX512 = Subtarget->hasAVX512(); in X86FastEmitStore()
486 bool HasVLX = Subtarget->hasVLX(); in X86FastEmitStore()
733 if (!Subtarget->isPICStyleRIPRel() || in handleConstantAddresses()
739 unsigned char GVFlags = Subtarget->classifyGlobalReference(GV); in handleConstantAddresses()
750 if (Subtarget->isPICStyleRIPRel()) { in handleConstantAddresses()
786 if (Subtarget->isPICStyleRIPRel() || GVFlags == X86II::MO_GOTPCREL || in handleConstantAddresses()
811 if (!AM.GV || !Subtarget->isPICStyleRIPRel()) { in handleConstantAddresses()
936 (!AM.GV || !Subtarget->isPICStyleRIPRel()) && in X86SelectAddress()
1057 if (Subtarget->isPICStyleRIPRel() && in X86SelectCallAddress()
1072 if (Subtarget->isPICStyleRIPRel()) { in X86SelectCallAddress()
1078 AM.GVOpFlags = Subtarget->classifyLocalReference(nullptr); in X86SelectCallAddress()
1085 if (!AM.GV || !Subtarget->isPICStyleRIPRel()) { in X86SelectCallAddress()
1090 if (Reg && Subtarget->isTarget64BitILP32()) { in X86SelectCallAddress()
1293 unsigned RetReg = Subtarget->isTarget64BitLP64() ? X86::RAX : X86::EAX; in X86SelectRet()
1303 TII.get(Subtarget->is64Bit() ? X86::RETI64 : X86::RETI32)) in X86SelectRet()
1307 TII.get(Subtarget->is64Bit() ? X86::RET64 : X86::RET32)); in X86SelectRet()
1357 static unsigned X86ChooseCmpOpcode(EVT VT, const X86Subtarget *Subtarget) { in X86ChooseCmpOpcode() argument
1358 bool HasAVX512 = Subtarget->hasAVX512(); in X86ChooseCmpOpcode()
1359 bool HasAVX = Subtarget->hasAVX(); in X86ChooseCmpOpcode()
1360 bool HasSSE1 = Subtarget->hasSSE1(); in X86ChooseCmpOpcode()
1361 bool HasSSE2 = Subtarget->hasSSE2(); in X86ChooseCmpOpcode()
1423 unsigned CompareOpc = X86ChooseCmpOpcode(VT, Subtarget); in X86FastEmitCompare()
1929 if (!Subtarget->is64Bit()) in X86SelectDivRem()
1996 OpEntry.DivRemResultReg == X86::AH && Subtarget->is64Bit()) { in X86SelectDivRem()
2025 if (!Subtarget->canUseCMOV()) in X86FastEmitCMoveSelect()
2136 const TargetRegisterInfo &TRI = *Subtarget->getRegisterInfo(); in X86FastEmitCMoveSelect()
2157 !((Subtarget->hasSSE1() && RetVT == MVT::f32) || in X86FastEmitSSESelect()
2158 (Subtarget->hasSSE2() && RetVT == MVT::f64))) in X86FastEmitSSESelect()
2177 if (CC > 7 && !Subtarget->hasAVX()) in X86FastEmitSSESelect()
2196 if (Subtarget->hasAVX512()) { in X86FastEmitSSESelect()
2223 } else if (Subtarget->hasAVX()) { in X86FastEmitSSESelect()
2280 Opc = Subtarget->hasAVX512() ? X86::CMOV_FR16X : X86::CMOV_FR16; break; in X86FastEmitPseudoSelect()
2282 Opc = Subtarget->hasAVX512() ? X86::CMOV_FR32X : X86::CMOV_FR32; break; in X86FastEmitPseudoSelect()
2284 Opc = Subtarget->hasAVX512() ? X86::CMOV_FR64X : X86::CMOV_FR64; break; in X86FastEmitPseudoSelect()
2395 bool HasAVX512 = Subtarget->hasAVX512(); in X86SelectIntToFP()
2396 if (!Subtarget->hasAVX() || (!IsSigned && !HasAVX512)) in X86SelectIntToFP()
2457 bool HasAVX = Subtarget->hasAVX(); in X86SelectFPExtOrFPTrunc()
2485 if (Subtarget->hasSSE2() && I->getType()->isDoubleTy() && in X86SelectFPExt()
2487 bool HasAVX512 = Subtarget->hasAVX512(); in X86SelectFPExt()
2491 : Subtarget->hasAVX() ? X86::VCVTSS2SDrr : X86::CVTSS2SDrr; in X86SelectFPExt()
2499 if (Subtarget->hasSSE2() && I->getType()->isFloatTy() && in X86SelectFPTrunc()
2501 bool HasAVX512 = Subtarget->hasAVX512(); in X86SelectFPTrunc()
2505 : Subtarget->hasAVX() ? X86::VCVTSD2SSrr : X86::CVTSD2SSrr; in X86SelectFPTrunc()
2544 return Len <= (Subtarget->is64Bit() ? 32 : 16); in IsMemcpySmall()
2554 bool i64Legal = Subtarget->is64Bit(); in TryEmitSmallMemcpy()
2589 if (Subtarget->useSoftFloat() || !Subtarget->hasF16C()) in fastLowerIntrinsicCall()
2617 unsigned Opc = Subtarget->hasVLX() ? X86::VCVTPS2PHZ128rr in fastLowerIntrinsicCall()
2622 Opc = Subtarget->hasAVX512() ? X86::VMOVPDI2DIZrr in fastLowerIntrinsicCall()
2640 unsigned Opc = Subtarget->hasVLX() ? X86::VCVTPH2PSZ128rr in fastLowerIntrinsicCall()
2680 const X86RegisterInfo *RegInfo = Subtarget->getRegisterInfo(); in fastLowerIntrinsicCall()
2729 unsigned SizeWidth = Subtarget->is64Bit() ? 64 : 32; in fastLowerIntrinsicCall()
2744 unsigned SizeWidth = Subtarget->is64Bit() ? 64 : 32; in fastLowerIntrinsicCall()
2788 if (!Subtarget->hasSSE1()) in fastLowerIntrinsicCall()
2805 unsigned AVXLevel = Subtarget->hasAVX512() ? 2 : in fastLowerIntrinsicCall()
2806 Subtarget->hasAVX() ? 1 : in fastLowerIntrinsicCall()
2969 if (!Subtarget->hasSSE1()) in fastLowerIntrinsicCall()
2975 if (!Subtarget->hasSSE2()) in fastLowerIntrinsicCall()
2994 unsigned AVXLevel = Subtarget->hasAVX512() ? 2 : in fastLowerIntrinsicCall()
2995 Subtarget->hasAVX() ? 1 : in fastLowerIntrinsicCall()
3034 if (!Subtarget->hasCRC32()) in fastLowerIntrinsicCall()
3049 #define GET_EGPR_IF_ENABLED(OPC) Subtarget->hasEGPR() ? OPC##_EVEX : OPC in fastLowerIntrinsicCall()
3099 if (Subtarget->isCallingConvWin64(CC)) in fastLowerArguments()
3102 if (!Subtarget->is64Bit()) in fastLowerArguments()
3105 if (Subtarget->useSoftFloat()) in fastLowerArguments()
3135 if (!Subtarget->hasSSE1()) in fastLowerArguments()
3185 static unsigned computeBytesPoppedByCalleeForSRet(const X86Subtarget *Subtarget, in computeBytesPoppedByCalleeForSRet() argument
3188 if (Subtarget->is64Bit()) in computeBytesPoppedByCalleeForSRet()
3190 if (Subtarget->getTargetTriple().isOSMSVCRT()) in computeBytesPoppedByCalleeForSRet()
3199 CB->paramHasAttr(0, Attribute::InReg) || Subtarget->isTargetMCU()) in computeBytesPoppedByCalleeForSRet()
3218 bool Is64Bit = Subtarget->is64Bit(); in fastLowerCall()
3219 bool IsWin64 = Subtarget->isCallingConvWin64(CC); in fastLowerCall()
3239 if (Subtarget->useIndirectThunkCalls()) in fastLowerCall()
3350 const X86RegisterInfo *RegInfo = Subtarget->getRegisterInfo(); in fastLowerCall()
3474 if (Subtarget->isPICStyleGOT()) { in fastLowerCall()
3495 assert((Subtarget->hasSSE1() || !NumXMMRegs) in fastLowerCall()
3527 unsigned char OpFlags = Subtarget->classifyGlobalFunctionReference(GV); in fastLowerCall()
3559 if (Subtarget->isPICStyleGOT()) in fastLowerCall()
3571 X86::isCalleePop(CC, Subtarget->is64Bit(), IsVarArg, in fastLowerCall()
3574 : computeBytesPoppedByCalleeForSRet(Subtarget, CC, CLI.CB); in fastLowerCall()
3595 ((Is64Bit || Ins[i].Flags.isInReg()) && !Subtarget->hasSSE1())) { in fastLowerCall()
3691 if (!Subtarget->hasSSE2()) in fastSelectInstruction()
3784 bool HasSSE1 = Subtarget->hasSSE1(); in X86MaterializeFP()
3785 bool HasSSE2 = Subtarget->hasSSE2(); in X86MaterializeFP()
3786 bool HasAVX = Subtarget->hasAVX(); in X86MaterializeFP()
3787 bool HasAVX512 = Subtarget->hasAVX512(); in X86MaterializeFP()
3812 unsigned char OpFlag = Subtarget->classifyLocalReference(nullptr); in X86MaterializeFP()
3817 else if (Subtarget->is64Bit() && TM.getCodeModel() != CodeModel::Large) in X86MaterializeFP()
3825 if (Subtarget->is64Bit() && CM == CodeModel::Large) { in X86MaterializeFP()
3874 ? (Subtarget->isTarget64BitILP32() ? X86::LEA64_32r : X86::LEA32r) in X86MaterializeGV()
3904 if (!Subtarget->hasSSE1()) in fastMaterializeConstant()
3908 if (!Subtarget->hasSSE2()) in fastMaterializeConstant()
3944 ? (Subtarget->isTarget64BitILP32() ? X86::LEA64_32r : X86::LEA32r) in fastMaterializeAlloca()
3959 bool HasSSE1 = Subtarget->hasSSE1(); in fastMaterializeFloatZero()
3960 bool HasSSE2 = Subtarget->hasSSE2(); in fastMaterializeFloatZero()
3961 bool HasAVX512 = Subtarget->hasAVX512(); in fastMaterializeFloatZero()