reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

gen/lib/Target/X86/X86GenDAGISel.inc
253356   case 0: return (Subtarget->hasAVX()) && (!Subtarget->hasVLX());
253356   case 0: return (Subtarget->hasAVX()) && (!Subtarget->hasVLX());
253357   case 1: return (Subtarget->hasSSE1() && !Subtarget->hasAVX());
253357   case 1: return (Subtarget->hasSSE1() && !Subtarget->hasAVX());
253358   case 2: return (Subtarget->hasAVX512()) && (Subtarget->hasVLX());
253358   case 2: return (Subtarget->hasAVX512()) && (Subtarget->hasVLX());
253359   case 3: return (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253359   case 3: return (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253360   case 4: return (Subtarget->hasSSE2());
253361   case 5: return (Subtarget->hasVLX());
253362   case 6: return (Subtarget->hasAVX512());
253363   case 7: return (Subtarget->hasSSE4A());
253364   case 8: return (Subtarget->is64Bit());
253365   case 9: return (!Subtarget->slowIncDec() || MF->getFunction().hasOptSize());
253366   case 10: return (Subtarget->is64Bit()) && (!Subtarget->slowIncDec() || MF->getFunction().hasOptSize());
253366   case 10: return (Subtarget->is64Bit()) && (!Subtarget->slowIncDec() || MF->getFunction().hasOptSize());
253367   case 11: return (Subtarget->hasF16C()) && (!Subtarget->hasVLX());
253367   case 11: return (Subtarget->hasF16C()) && (!Subtarget->hasVLX());
253368   case 12: return (Subtarget->hasAVX() && !Subtarget->hasAVX512());
253368   case 12: return (Subtarget->hasAVX() && !Subtarget->hasAVX512());
253369   case 13: return (Subtarget->hasSSE41() && !Subtarget->hasAVX());
253369   case 13: return (Subtarget->hasSSE41() && !Subtarget->hasAVX());
253370   case 14: return (Subtarget->hasAVX()) && (!Subtarget->hasBWI());
253370   case 14: return (Subtarget->hasAVX()) && (!Subtarget->hasBWI());
253371   case 15: return (Subtarget->hasBWI());
253372   case 16: return (Subtarget->hasAVX() && !Subtarget->hasAVX2());
253372   case 16: return (Subtarget->hasAVX() && !Subtarget->hasAVX2());
253373   case 17: return (Subtarget->hasAVX2()) && (!Subtarget->hasVLX());
253373   case 17: return (Subtarget->hasAVX2()) && (!Subtarget->hasVLX());
253374   case 18: return (Subtarget->hasAVX()) && (!Subtarget->hasDQI());
253374   case 18: return (Subtarget->hasAVX()) && (!Subtarget->hasDQI());
253375   case 19: return (Subtarget->hasDQI());
253378   case 22: return (Subtarget->hasMOVBE());
253379   case 23: return (!Subtarget->hasSSE1());
253380   case 24: return (!Subtarget->hasSSE2());
253381   case 25: return (Subtarget->hasBWI()) && (Subtarget->hasVLX());
253381   case 25: return (Subtarget->hasBWI()) && (Subtarget->hasVLX());
253382   case 26: return (Subtarget->hasMMX());
253383   case 27: return (!Subtarget->hasAVX());
253384   case 28: return (Subtarget->hasAVX());
253385   case 29: return (Subtarget->hasAVX2());
253386   case 30: return (Subtarget->hasVBMI2());
253387   case 31: return (Subtarget->hasVBMI2()) && (Subtarget->hasVLX());
253387   case 31: return (Subtarget->hasVBMI2()) && (Subtarget->hasVLX());
253388   case 32: return (!Subtarget->hasSSE1()) && (Subtarget->hasCMov());
253388   case 32: return (!Subtarget->hasSSE1()) && (Subtarget->hasCMov());
253389   case 33: return (!Subtarget->hasSSE2()) && (Subtarget->hasCMov());
253389   case 33: return (!Subtarget->hasSSE2()) && (Subtarget->hasCMov());
253390   case 34: return (Subtarget->hasCMov());
253391   case 35: return (Subtarget->hasMMX()) && (Subtarget->hasSSE1());
253391   case 35: return (Subtarget->hasMMX()) && (Subtarget->hasSSE1());
253392   case 36: return (Subtarget->hasMMX()) && (Subtarget->hasSSSE3());
253392   case 36: return (Subtarget->hasMMX()) && (Subtarget->hasSSSE3());
253393   case 37: return (Subtarget->hasBMI2());
253394   case 38: return (Subtarget->hasSSE42());
253395   case 39: return (Subtarget->hasMMX()) && (Subtarget->hasSSE2());
253395   case 39: return (Subtarget->hasMMX()) && (Subtarget->hasSSE2());
253396   case 40: return (Subtarget->has3DNow());
253397   case 41: return (Subtarget->hasSHA());
253398   case 42: return (Subtarget->hasAES()) && (Subtarget->hasAVX());
253398   case 42: return (Subtarget->hasAES()) && (Subtarget->hasAVX());
253399   case 43: return (Subtarget->hasAES()) && (!Subtarget->hasAVX());
253399   case 43: return (Subtarget->hasAES()) && (!Subtarget->hasAVX());
253400   case 44: return (Subtarget->hasPCLMUL()) && (!Subtarget->hasAVX());
253400   case 44: return (Subtarget->hasPCLMUL()) && (!Subtarget->hasAVX());
253401   case 45: return (Subtarget->hasAVX()) && (Subtarget->hasPCLMUL()) && (!Subtarget->hasVLX() || !Subtarget->hasVPCLMULQDQ());
253401   case 45: return (Subtarget->hasAVX()) && (Subtarget->hasPCLMUL()) && (!Subtarget->hasVLX() || !Subtarget->hasVPCLMULQDQ());
253401   case 45: return (Subtarget->hasAVX()) && (Subtarget->hasPCLMUL()) && (!Subtarget->hasVLX() || !Subtarget->hasVPCLMULQDQ());
253401   case 45: return (Subtarget->hasAVX()) && (Subtarget->hasPCLMUL()) && (!Subtarget->hasVLX() || !Subtarget->hasVPCLMULQDQ());
253402   case 46: return (Subtarget->hasVLX()) && (Subtarget->hasVPCLMULQDQ());
253402   case 46: return (Subtarget->hasVLX()) && (Subtarget->hasVPCLMULQDQ());
253403   case 47: return (Subtarget->hasVPCLMULQDQ()) && (!Subtarget->hasVLX());
253403   case 47: return (Subtarget->hasVPCLMULQDQ()) && (!Subtarget->hasVLX());
253404   case 48: return (Subtarget->hasAVX512()) && (Subtarget->hasVPCLMULQDQ());
253404   case 48: return (Subtarget->hasAVX512()) && (Subtarget->hasVPCLMULQDQ());
253405   case 49: return (Subtarget->hasXOP());
253406   case 50: return (Subtarget->hasSSSE3() && !Subtarget->hasAVX());
253406   case 50: return (Subtarget->hasSSSE3() && !Subtarget->hasAVX());
253407   case 51: return (Subtarget->hasAES()) && (Subtarget->hasAVX()) && (!Subtarget->hasVLX() || !Subtarget->hasVAES());
253407   case 51: return (Subtarget->hasAES()) && (Subtarget->hasAVX()) && (!Subtarget->hasVLX() || !Subtarget->hasVAES());
253407   case 51: return (Subtarget->hasAES()) && (Subtarget->hasAVX()) && (!Subtarget->hasVLX() || !Subtarget->hasVAES());
253407   case 51: return (Subtarget->hasAES()) && (Subtarget->hasAVX()) && (!Subtarget->hasVLX() || !Subtarget->hasVAES());
253408   case 52: return (Subtarget->hasVAES()) && (Subtarget->hasVLX());
253408   case 52: return (Subtarget->hasVAES()) && (Subtarget->hasVLX());
253409   case 53: return (Subtarget->hasVAES()) && (!Subtarget->hasVLX());
253409   case 53: return (Subtarget->hasVAES()) && (!Subtarget->hasVLX());
253410   case 54: return (Subtarget->hasAVX512()) && (Subtarget->hasVAES());
253410   case 54: return (Subtarget->hasAVX512()) && (Subtarget->hasVAES());
253411   case 55: return (MF->getFunction().hasOptSize()) && (Subtarget->hasSSE1() && !Subtarget->hasAVX());
253411   case 55: return (MF->getFunction().hasOptSize()) && (Subtarget->hasSSE1() && !Subtarget->hasAVX());
253412   case 56: return (Subtarget->hasAVX()) && (MF->getFunction().hasOptSize());
253413   case 57: return (Subtarget->hasPRFCHW());
253414   case 58: return (Subtarget->hasPREFETCHWT1());
253415   case 59: return (Subtarget->hasSSEPrefetch());
253416   case 60: return (Subtarget->has3DNow()) && (!Subtarget->hasSSEPrefetch());
253416   case 60: return (Subtarget->has3DNow()) && (!Subtarget->hasSSEPrefetch());
253417   case 61: return (Subtarget->hasLWP());
253418   case 62: return (Subtarget->hasPTWRITE());
253419   case 63: return (Subtarget->hasPTWRITE()) && (Subtarget->is64Bit());
253419   case 63: return (Subtarget->hasPTWRITE()) && (Subtarget->is64Bit());
253420   case 64: return (Subtarget->hasMOVDIRI());
253421   case 65: return (Subtarget->hasMOVDIRI()) && (Subtarget->is64Bit());
253421   case 65: return (Subtarget->hasMOVDIRI()) && (Subtarget->is64Bit());
253422   case 66: return (Subtarget->hasMOVDIR64B());
253423   case 67: return (Subtarget->hasMOVDIR64B()) && (Subtarget->is64Bit());
253423   case 67: return (Subtarget->hasMOVDIR64B()) && (Subtarget->is64Bit());
253424   case 68: return (Subtarget->hasCLFLUSHOPT());
253425   case 69: return (Subtarget->hasCLWB());
253426   case 70: return (Subtarget->hasCLDEMOTE());
253427   case 71: return (Subtarget->hasFXSR());
253428   case 72: return (Subtarget->hasFXSR()) && (Subtarget->is64Bit());
253428   case 72: return (Subtarget->hasFXSR()) && (Subtarget->is64Bit());
253429   case 73: return (Subtarget->hasXSAVE());
253430   case 74: return (Subtarget->hasXSAVE()) && (Subtarget->is64Bit());
253430   case 74: return (Subtarget->hasXSAVE()) && (Subtarget->is64Bit());
253431   case 75: return (Subtarget->hasXSAVEOPT());
253432   case 76: return (Subtarget->hasXSAVEOPT()) && (Subtarget->is64Bit());
253432   case 76: return (Subtarget->hasXSAVEOPT()) && (Subtarget->is64Bit());
253433   case 77: return (Subtarget->hasXSAVEC());
253434   case 78: return (Subtarget->hasXSAVEC()) && (Subtarget->is64Bit());
253434   case 78: return (Subtarget->hasXSAVEC()) && (Subtarget->is64Bit());
253435   case 79: return (Subtarget->hasXSAVES());
253436   case 80: return (Subtarget->hasXSAVES()) && (Subtarget->is64Bit());
253436   case 80: return (Subtarget->hasXSAVES()) && (Subtarget->is64Bit());
253437   case 81: return (Subtarget->hasINVPCID()) && (!Subtarget->is64Bit());
253437   case 81: return (Subtarget->hasINVPCID()) && (!Subtarget->is64Bit());
253438   case 82: return (Subtarget->hasINVPCID()) && (Subtarget->is64Bit());
253438   case 82: return (Subtarget->hasINVPCID()) && (Subtarget->is64Bit());
253439   case 83: return (Subtarget->hasRTM());
253440   case 84: return (Subtarget->hasMWAITX());
253441   case 85: return (Subtarget->hasWAITPKG()) && (!Subtarget->is64Bit());
253441   case 85: return (Subtarget->hasWAITPKG()) && (!Subtarget->is64Bit());
253442   case 86: return (Subtarget->hasWAITPKG());
253443   case 87: return (Subtarget->hasWAITPKG()) && (Subtarget->is64Bit());
253443   case 87: return (Subtarget->hasWAITPKG()) && (Subtarget->is64Bit());
253444   case 88: return (Subtarget->hasSSE1());
253445   case 89: return (Subtarget->hasMFence());
253446   case 90: return (Subtarget->hasAVX()) && (!Subtarget->is64Bit());
253446   case 90: return (Subtarget->hasAVX()) && (!Subtarget->is64Bit());
253447   case 91: return (!Subtarget->is64Bit()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253447   case 91: return (!Subtarget->is64Bit()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253447   case 91: return (!Subtarget->is64Bit()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253448   case 92: return (Subtarget->hasAVX()) && (Subtarget->is64Bit());
253448   case 92: return (Subtarget->hasAVX()) && (Subtarget->is64Bit());
253449   case 93: return (Subtarget->is64Bit()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253449   case 93: return (Subtarget->is64Bit()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253449   case 93: return (Subtarget->is64Bit()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253450   case 94: return (Subtarget->hasSSE3());
253451   case 95: return (Subtarget->hasMMX()) && (Subtarget->hasSSE1()) && (!Subtarget->is64Bit());
253451   case 95: return (Subtarget->hasMMX()) && (Subtarget->hasSSE1()) && (!Subtarget->is64Bit());
253451   case 95: return (Subtarget->hasMMX()) && (Subtarget->hasSSE1()) && (!Subtarget->is64Bit());
253452   case 96: return (Subtarget->hasMMX()) && (Subtarget->hasSSE1()) && (Subtarget->is64Bit());
253452   case 96: return (Subtarget->hasMMX()) && (Subtarget->hasSSE1()) && (Subtarget->is64Bit());
253452   case 96: return (Subtarget->hasMMX()) && (Subtarget->hasSSE1()) && (Subtarget->is64Bit());
253453   case 97: return (Subtarget->hasWBNOINVD());
253454   case 98: return (Subtarget->hasFSGSBase()) && (Subtarget->is64Bit());
253454   case 98: return (Subtarget->hasFSGSBase()) && (Subtarget->is64Bit());
253455   case 99: return (!Subtarget->is64Bit());
253456   case 100: return (Subtarget->is64Bit()) && (!Subtarget->useRetpolineIndirectCalls());
253456   case 100: return (Subtarget->is64Bit()) && (!Subtarget->useRetpolineIndirectCalls());
253457   case 101: return (!TM.isPositionIndependent()) && (!Subtarget->is64Bit()) && (!Subtarget->useRetpolineIndirectCalls());
253457   case 101: return (!TM.isPositionIndependent()) && (!Subtarget->is64Bit()) && (!Subtarget->useRetpolineIndirectCalls());
253458   case 102: return (!Subtarget->isTarget64BitLP64());
253459   case 103: return (Subtarget->isTarget64BitLP64());
253460   case 104: return (!Subtarget->is64Bit()) && (!Subtarget->useRetpolineIndirectCalls());
253460   case 104: return (!Subtarget->is64Bit()) && (!Subtarget->useRetpolineIndirectCalls());
253461   case 105: return (Subtarget->is64Bit()) && (Subtarget->useRetpolineIndirectCalls());
253461   case 105: return (Subtarget->is64Bit()) && (Subtarget->useRetpolineIndirectCalls());
253462   case 106: return (!Subtarget->is64Bit()) && (Subtarget->useRetpolineIndirectCalls());
253462   case 106: return (!Subtarget->is64Bit()) && (Subtarget->useRetpolineIndirectCalls());
253463   case 107: return (Subtarget->hasTBM());
253464   case 108: return (Subtarget->hasBMI());
253465   case 109: return (Subtarget->hasBMI()) && (!Subtarget->hasBMI2()) && (!Subtarget->hasTBM());
253465   case 109: return (Subtarget->hasBMI()) && (!Subtarget->hasBMI2()) && (!Subtarget->hasTBM());
253465   case 109: return (Subtarget->hasBMI()) && (!Subtarget->hasBMI2()) && (!Subtarget->hasTBM());
253466   case 110: return (Subtarget->hasBMI2()) && (!Subtarget->hasTBM());
253466   case 110: return (Subtarget->hasBMI2()) && (!Subtarget->hasTBM());
253468   case 112: return (Subtarget->hasDQI()) && (Subtarget->hasVLX());
253468   case 112: return (Subtarget->hasDQI()) && (Subtarget->hasVLX());
253469   case 113: return (Subtarget->hasAVX512()) && (!Subtarget->hasVLX());
253469   case 113: return (Subtarget->hasAVX512()) && (!Subtarget->hasVLX());
253470   case 114: return (Subtarget->hasBITALG());
253471   case 115: return (Subtarget->hasBITALG()) && (Subtarget->hasVLX());
253471   case 115: return (Subtarget->hasBITALG()) && (Subtarget->hasVLX());
253472   case 116: return (!Subtarget->hasDQI());
253473   case 117: return (Subtarget->hasBWI()) && (!Subtarget->hasVLX());
253473   case 117: return (Subtarget->hasBWI()) && (!Subtarget->hasVLX());
253474   case 118: return (Subtarget->hasAVX()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI());
253474   case 118: return (Subtarget->hasAVX()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI());
253474   case 118: return (Subtarget->hasAVX()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI());
253475   case 119: return (Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI());
253475   case 119: return (Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI());
253475   case 119: return (Subtarget->hasAVX2()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI());
253476   case 120: return (Subtarget->hasDQI()) && (!Subtarget->hasVLX());
253476   case 120: return (Subtarget->hasDQI()) && (!Subtarget->hasVLX());
253477   case 121: return (!Subtarget->hasCMov());
253478   case 122: return (!Subtarget->hasAVX512());
253479   case 123: return (!Subtarget->hasVLX());
253480   case 124: return (Subtarget->hasFastSHLDRotate());
253481   case 125: return (MF->getFunction().hasOptSize()) && (Subtarget->hasAVX() && !Subtarget->hasAVX512());
253481   case 125: return (MF->getFunction().hasOptSize()) && (Subtarget->hasAVX() && !Subtarget->hasAVX512());
253482   case 126: return (MF->getFunction().hasOptSize() || !Subtarget->hasSSE41()) && (Subtarget->hasSSE1() && !Subtarget->hasAVX());
253482   case 126: return (MF->getFunction().hasOptSize() || !Subtarget->hasSSE41()) && (Subtarget->hasSSE1() && !Subtarget->hasAVX());
253482   case 126: return (MF->getFunction().hasOptSize() || !Subtarget->hasSSE41()) && (Subtarget->hasSSE1() && !Subtarget->hasAVX());
253483   case 127: return (Subtarget->hasAVX()) && (!MF->getFunction().hasOptSize());
253484   case 128: return (!MF->getFunction().hasOptSize()) && (Subtarget->hasSSE41() && !Subtarget->hasAVX());
253484   case 128: return (!MF->getFunction().hasOptSize()) && (Subtarget->hasSSE41() && !Subtarget->hasAVX());
253485   case 129: return (Subtarget->hasAVX512()) && (MF->getFunction().hasOptSize());
253486   case 130: return (Subtarget->hasAVX512()) && (!MF->getFunction().hasOptSize());
253487   case 131: return (Subtarget->hasFMA4());
253488   case 132: return (Subtarget->hasLZCNT());
253489   case 133: return (Subtarget->hasCDI());
253490   case 134: return (Subtarget->hasCDI()) && (Subtarget->hasVLX());
253490   case 134: return (Subtarget->hasCDI()) && (Subtarget->hasVLX());
253491   case 135: return (Subtarget->hasCDI()) && (!Subtarget->hasVLX());
253491   case 135: return (Subtarget->hasCDI()) && (!Subtarget->hasVLX());
253492   case 136: return (!Subtarget->slowTwoMemOps()) && (!Subtarget->is64Bit());
253492   case 136: return (!Subtarget->slowTwoMemOps()) && (!Subtarget->is64Bit());
253493   case 137: return (!Subtarget->slowTwoMemOps()) && (!Subtarget->is64Bit()) && (!Subtarget->useRetpolineIndirectCalls());
253493   case 137: return (!Subtarget->slowTwoMemOps()) && (!Subtarget->is64Bit()) && (!Subtarget->useRetpolineIndirectCalls());
253493   case 137: return (!Subtarget->slowTwoMemOps()) && (!Subtarget->is64Bit()) && (!Subtarget->useRetpolineIndirectCalls());
253494   case 138: return (!Subtarget->slowTwoMemOps()) && (Subtarget->is64Bit()) && (!Subtarget->useRetpolineIndirectCalls());
253494   case 138: return (!Subtarget->slowTwoMemOps()) && (Subtarget->is64Bit()) && (!Subtarget->useRetpolineIndirectCalls());
253494   case 138: return (!Subtarget->slowTwoMemOps()) && (Subtarget->is64Bit()) && (!Subtarget->useRetpolineIndirectCalls());
253495   case 139: return (Subtarget->isLegalToCallImmediateAddr());
253496   case 140: return (!Subtarget->slowTwoMemOps()) && (Subtarget->is64Bit());
253496   case 140: return (!Subtarget->slowTwoMemOps()) && (Subtarget->is64Bit());
253497   case 141: return (Subtarget->hasPOPCNT());
253498   case 142: return (Subtarget->hasVPOPCNTDQ());
253499   case 143: return (Subtarget->hasVLX()) && (Subtarget->hasVPOPCNTDQ());
253499   case 143: return (Subtarget->hasVLX()) && (Subtarget->hasVPOPCNTDQ());
253500   case 144: return (Subtarget->hasVPOPCNTDQ()) && (!Subtarget->hasVLX());
253500   case 144: return (Subtarget->hasVPOPCNTDQ()) && (!Subtarget->hasVLX());
253501   case 145: return (Subtarget->hasBITALG()) && (!Subtarget->hasVLX());
253501   case 145: return (Subtarget->hasBITALG()) && (!Subtarget->hasVLX());
253502   case 146: return (Subtarget->hasAVX512()) && (Subtarget->hasVP2INTERSECT());
253502   case 146: return (Subtarget->hasAVX512()) && (Subtarget->hasVP2INTERSECT());
253503   case 147: return (Subtarget->hasAVX512()) && (Subtarget->hasVLX()) && (Subtarget->hasVP2INTERSECT());
253503   case 147: return (Subtarget->hasAVX512()) && (Subtarget->hasVLX()) && (Subtarget->hasVP2INTERSECT());
253503   case 147: return (Subtarget->hasAVX512()) && (Subtarget->hasVLX()) && (Subtarget->hasVP2INTERSECT());
253504   case 148: return (Subtarget->hasVNNI());
253505   case 149: return (Subtarget->hasVLX()) && (Subtarget->hasVNNI());
253505   case 149: return (Subtarget->hasVLX()) && (Subtarget->hasVNNI());
253506   case 150: return (Subtarget->hasAVX512()) && (!Subtarget->hasDQI());
253506   case 150: return (Subtarget->hasAVX512()) && (!Subtarget->hasDQI());
253507   case 151: return (Subtarget->hasENQCMD()) && (!Subtarget->is64Bit());
253507   case 151: return (Subtarget->hasENQCMD()) && (!Subtarget->is64Bit());
253508   case 152: return (Subtarget->hasENQCMD());
253509   case 153: return (Subtarget->hasENQCMD()) && (Subtarget->is64Bit());
253509   case 153: return (Subtarget->hasENQCMD()) && (Subtarget->is64Bit());
253510   case 154: return (Subtarget->hasCmpxchg8b());
253511   case 155: return (Subtarget->hasCmpxchg16b()) && (Subtarget->is64Bit());
253511   case 155: return (Subtarget->hasCmpxchg16b()) && (Subtarget->is64Bit());
253512   case 156: return (Subtarget->hasAVX512()) && (!Subtarget->hasBWI());
253512   case 156: return (Subtarget->hasAVX512()) && (!Subtarget->hasBWI());
253513   case 157: return (!Subtarget->is64Bit()) && (MF->getFunction().hasOptSize());
253514   case 158: return (!Subtarget->isTargetWin64() ||Subtarget->getFrameLowering()->hasFP(*MF)) && (MF->getFunction().hasMinSize());
253514   case 158: return (!Subtarget->isTargetWin64() ||Subtarget->getFrameLowering()->hasFP(*MF)) && (MF->getFunction().hasMinSize());
253515   case 159: return (Subtarget->hasDQI()) && (!Subtarget->hasBWI());
253515   case 159: return (Subtarget->hasDQI()) && (!Subtarget->hasBWI());
253516   case 160: return (Subtarget->hasDQI()) && (Subtarget->hasVLX()) && (!Subtarget->hasBWI());
253516   case 160: return (Subtarget->hasDQI()) && (Subtarget->hasVLX()) && (!Subtarget->hasBWI());
253516   case 160: return (Subtarget->hasDQI()) && (Subtarget->hasVLX()) && (!Subtarget->hasBWI());
253517   case 161: return (Subtarget->hasRDPID()) && (!Subtarget->is64Bit());
253517   case 161: return (Subtarget->hasRDPID()) && (!Subtarget->is64Bit());
253518   case 162: return (Subtarget->hasRDPID()) && (Subtarget->is64Bit());
253518   case 162: return (Subtarget->hasRDPID()) && (Subtarget->is64Bit());
253519   case 163: return (Subtarget->hasSSE3() && !Subtarget->hasAVX());
253519   case 163: return (Subtarget->hasSSE3() && !Subtarget->hasAVX());
253521   case 165: return (Subtarget->hasLAHFSAHF());
253522   case 166: return (Subtarget->hasRDRAND());
253523   case 167: return (Subtarget->hasRDSEED());
253524   case 168: return (!Subtarget->isTargetPS4());
253525   case 169: return (Subtarget->isTargetPS4());
253526   case 170: return (Subtarget->is64Bit()) && (!Subtarget->isTarget64BitLP64());
253526   case 170: return (Subtarget->is64Bit()) && (!Subtarget->isTarget64BitLP64());
253527   case 171: return (Subtarget->hasERI());
253528   case 172: return (MF->getFunction().hasOptSize()) && (Subtarget->hasSSE41() && !Subtarget->hasAVX());
253528   case 172: return (MF->getFunction().hasOptSize()) && (Subtarget->hasSSE41() && !Subtarget->hasAVX());
253529   case 173: return (Subtarget->hasFMA()) && (!Subtarget->hasAVX512()) && (!Subtarget->hasFMA4());
253529   case 173: return (Subtarget->hasFMA()) && (!Subtarget->hasAVX512()) && (!Subtarget->hasFMA4());
253529   case 173: return (Subtarget->hasFMA()) && (!Subtarget->hasAVX512()) && (!Subtarget->hasFMA4());
253530   case 174: return (Subtarget->hasFMA4()) && (!Subtarget->hasAVX512());
253530   case 174: return (Subtarget->hasFMA4()) && (!Subtarget->hasAVX512());
253531   case 175: return (Subtarget->hasFMA()) && (!Subtarget->hasFMA4()) && (!Subtarget->hasVLX());
253531   case 175: return (Subtarget->hasFMA()) && (!Subtarget->hasFMA4()) && (!Subtarget->hasVLX());
253531   case 175: return (Subtarget->hasFMA()) && (!Subtarget->hasFMA4()) && (!Subtarget->hasVLX());
253532   case 176: return (Subtarget->hasFMA4()) && (!Subtarget->hasVLX());
253532   case 176: return (Subtarget->hasFMA4()) && (!Subtarget->hasVLX());
253533   case 177: return (MF->getFunction().hasOptSize()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253533   case 177: return (MF->getFunction().hasOptSize()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253534   case 178: return (Subtarget->hasSSE1()) && (!Subtarget->hasAVX512());
253534   case 178: return (Subtarget->hasSSE1()) && (!Subtarget->hasAVX512());
253535   case 179: return (Subtarget->hasSSE2()) && (!Subtarget->hasAVX512());
253535   case 179: return (Subtarget->hasSSE2()) && (!Subtarget->hasAVX512());
253536   case 180: return (Subtarget->hasBWI()) && (Subtarget->hasGFNI()) && (Subtarget->hasVLX());
253536   case 180: return (Subtarget->hasBWI()) && (Subtarget->hasGFNI()) && (Subtarget->hasVLX());
253536   case 180: return (Subtarget->hasBWI()) && (Subtarget->hasGFNI()) && (Subtarget->hasVLX());
253537   case 181: return (Subtarget->hasVBMI()) && (Subtarget->hasVLX());
253537   case 181: return (Subtarget->hasVBMI()) && (Subtarget->hasVLX());
253538   case 182: return (Subtarget->hasBF16()) && (Subtarget->hasVLX());
253538   case 182: return (Subtarget->hasBF16()) && (Subtarget->hasVLX());
253539   case 183: return (Subtarget->hasBF16());
253540   case 184: return (Subtarget->hasIFMA()) && (Subtarget->hasVLX());
253540   case 184: return (Subtarget->hasIFMA()) && (Subtarget->hasVLX());
253541   case 185: return (Subtarget->hasIFMA());
253542   case 186: return (Subtarget->hasAVX512()) && (Subtarget->hasBWI()) && (Subtarget->hasGFNI());
253542   case 186: return (Subtarget->hasAVX512()) && (Subtarget->hasBWI()) && (Subtarget->hasGFNI());
253542   case 186: return (Subtarget->hasAVX512()) && (Subtarget->hasBWI()) && (Subtarget->hasGFNI());
253543   case 187: return (Subtarget->hasVBMI());
253544   case 188: return (Subtarget->hasGFNI()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253544   case 188: return (Subtarget->hasGFNI()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253544   case 188: return (Subtarget->hasGFNI()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253545   case 189: return (Subtarget->hasAVX()) && (Subtarget->hasGFNI()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI());
253545   case 189: return (Subtarget->hasAVX()) && (Subtarget->hasGFNI()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI());
253545   case 189: return (Subtarget->hasAVX()) && (Subtarget->hasGFNI()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI());
253545   case 189: return (Subtarget->hasAVX()) && (Subtarget->hasGFNI()) && (!Subtarget->hasVLX() || !Subtarget->hasBWI());
253546   case 190: return (Subtarget->hasBWI()) && (Subtarget->hasDQI());
253546   case 190: return (Subtarget->hasBWI()) && (Subtarget->hasDQI());
253547   case 191: return (Subtarget->hasBWI()) && (!Subtarget->hasDQI());
253547   case 191: return (Subtarget->hasBWI()) && (!Subtarget->hasDQI());
253548   case 192: return (Subtarget->hasAVX()) && (true);
253549   case 193: return (Subtarget->hasAVX2()) && (true);
253550   case 194: return (Subtarget->hasSSE42() && !Subtarget->hasAVX());
253550   case 194: return (Subtarget->hasSSE42() && !Subtarget->hasAVX());
253551   case 195: return (Subtarget->hasAVX() && !Subtarget->hasAVX2()) && (MF->getFunction().hasMinSize());
253551   case 195: return (Subtarget->hasAVX() && !Subtarget->hasAVX2()) && (MF->getFunction().hasMinSize());
253552   case 196: return (Subtarget->hasFMA()) && (!Subtarget->hasAVX512());
253552   case 196: return (Subtarget->hasFMA()) && (!Subtarget->hasAVX512());
253553   case 197: return (MF->getFunction().hasOptSize() || !Subtarget->hasSSE41()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253553   case 197: return (MF->getFunction().hasOptSize() || !Subtarget->hasSSE41()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253553   case 197: return (MF->getFunction().hasOptSize() || !Subtarget->hasSSE41()) && (Subtarget->hasSSE2() && !Subtarget->hasAVX());
253945   return Subtarget->hasSSEUnalignedMem() ||
253954   return N->getSExtValue() == 3 || !Subtarget->hasPREFETCHWT1();
254438   return Subtarget->hasSSEUnalignedMem() ||
lib/Target/X86/X86ISelDAGToDAG.cpp
  184       Subtarget = &MF.getSubtarget<X86Subtarget>();
  465       return Subtarget->getInstrInfo();
  501         return Subtarget->hasSSE41();
  503         return Subtarget->hasAVX2();
  505         return Subtarget->hasAVX512();
  565     return isLegalMaskCompare(N->getOperand(0).getNode(), Subtarget) ||
  566            isLegalMaskCompare(N->getOperand(1).getNode(), Subtarget);
  568   return isLegalMaskCompare(N, Subtarget);
  915       if (Subtarget->hasSSE2()) {
  945         !Subtarget->useRetpolineIndirectCalls() &&
  946         ((N->getOpcode() == X86ISD::CALL && !Subtarget->slowTwoMemOps()) ||
  948           (Subtarget->is64Bit() ||
 1234           (N0Opc == X86::KANDWrr && Subtarget->hasDQI()) ||
 1313   if (Subtarget->isTargetCygMing()) {
 1357   if (Subtarget->is64Bit()) {
 1384         (Subtarget->isTargetGlibc() || Subtarget->isTargetAndroid() ||
 1384         (Subtarget->isTargetGlibc() || Subtarget->isTargetAndroid() ||
 1385          Subtarget->isTargetFuchsia()))
 1423   if (Subtarget->is64Bit() &&
 1495       if (Subtarget->is64Bit() &&
 1904         (!Subtarget->is64Bit() || isDispSafeForFrameIndex(AM.Disp))) {
 2122       if (!foldMaskedShiftToBEXTR(*CurDAG, N, Mask, Shift, X, AM, *Subtarget))
 2472     if (Subtarget->is64Bit())
 3022     if (!Subtarget->slowIncDec() || OptForSize) {
 3193   if (!Subtarget->hasBMI() && !Subtarget->hasBMI2())
 3193   if (!Subtarget->hasBMI() && !Subtarget->hasBMI2())
 3206   const bool CanHaveExtraUses = Subtarget->hasBMI2();
 3370   if (Subtarget->hasBMI2()) {
 3465       Subtarget->hasTBM() || (Subtarget->hasBMI() && Subtarget->hasFastBEXTR());
 3465       Subtarget->hasTBM() || (Subtarget->hasBMI() && Subtarget->hasFastBEXTR());
 3465       Subtarget->hasTBM() || (Subtarget->hasBMI() && Subtarget->hasFastBEXTR());
 3466   if (!PreferBEXTR && !Subtarget->hasBMI2())
 3515     assert(Subtarget->hasBMI2() && "We must have BMI2's BZHI then.");
 3530     if (Subtarget->hasTBM()) {
 3534       assert(Subtarget->hasBMI() && "We must have BMI1's BEXTR then.");
 4112   assert(Subtarget->hasAVX512() && "Expected AVX512!");
 4155   bool Widen = !Subtarget->hasVLX() && !CmpVT.is512BitVector();
 4308   if (!NVT.isVector() || !Subtarget->hasAVX512())
 4312   if (!(Subtarget->hasVLX() || NVT.is512BitVector()))
 4375         if (!Subtarget->hasSSE3())
 4380         if (!Subtarget->hasMWAITX())
 4385         if (!Subtarget->hasCLZERO())
 4419     if (Subtarget->isTargetNaCl())
 4423     if (Subtarget->isTarget64BitILP32()) {
 4458     assert(Subtarget->hasSSE41() && "Expected SSE4.1 support!");
 5119     if (!Subtarget->hasSSE42())
 5129       unsigned ROpc = Subtarget->hasAVX() ? X86::VPCMPISTRMrr : X86::PCMPISTRMrr;
 5130       unsigned MOpc = Subtarget->hasAVX() ? X86::VPCMPISTRMrm : X86::PCMPISTRMrm;
 5135       unsigned ROpc = Subtarget->hasAVX() ? X86::VPCMPISTRIrr : X86::PCMPISTRIrr;
 5136       unsigned MOpc = Subtarget->hasAVX() ? X86::VPCMPISTRIrm : X86::PCMPISTRIrm;
 5147     if (!Subtarget->hasSSE42())
 5164       unsigned ROpc = Subtarget->hasAVX() ? X86::VPCMPESTRMrr : X86::PCMPESTRMrr;
 5165       unsigned MOpc = Subtarget->hasAVX() ? X86::VPCMPESTRMrm : X86::PCMPESTRMrm;
 5171       unsigned ROpc = Subtarget->hasAVX() ? X86::VPCMPESTRIrr : X86::PCMPESTRIrr;
 5172       unsigned MOpc = Subtarget->hasAVX() ? X86::VPCMPESTRIrm : X86::PCMPESTRIrm;