Lines Matching refs:Subtarget
35 def HasEGPR : Predicate<"Subtarget->hasEGPR()">;
36 def NoEGPR : Predicate<"!Subtarget->hasEGPR()">;
46 def HasNDD : Predicate<"Subtarget->hasNDD()">;
47 def NoNDD : Predicate<"!Subtarget->hasNDD()">;
48 def HasCF : Predicate<"Subtarget->hasCF()">;
49 def HasCMOV : Predicate<"Subtarget->canUseCMOV()">;
50 def NoCMOV : Predicate<"!Subtarget->canUseCMOV()">;
51 def HasNOPL : Predicate<"Subtarget->hasNOPL()">;
52 def HasMMX : Predicate<"Subtarget->hasMMX()">;
53 def HasSSE1 : Predicate<"Subtarget->hasSSE1()">;
54 def UseSSE1 : Predicate<"Subtarget->hasSSE1() && !Subtarget->hasAVX()">;
55 def HasSSE2 : Predicate<"Subtarget->hasSSE2()">;
56 def UseSSE2 : Predicate<"Subtarget->hasSSE2() && !Subtarget->hasAVX()">;
57 def HasSSE3 : Predicate<"Subtarget->hasSSE3()">;
58 def UseSSE3 : Predicate<"Subtarget->hasSSE3() && !Subtarget->hasAVX()">;
59 def HasSSSE3 : Predicate<"Subtarget->hasSSSE3()">;
60 def UseSSSE3 : Predicate<"Subtarget->hasSSSE3() && !Subtarget->hasAVX()">;
61 def HasSSE41 : Predicate<"Subtarget->hasSSE41()">;
62 def NoSSE41 : Predicate<"!Subtarget->hasSSE41()">;
63 def UseSSE41 : Predicate<"Subtarget->hasSSE41() && !Subtarget->hasAVX()">;
64 def HasSSE42 : Predicate<"Subtarget->hasSSE42()">;
65 def UseSSE42 : Predicate<"Subtarget->hasSSE42() && !Subtarget->hasAVX()">;
66 def HasSSE4A : Predicate<"Subtarget->hasSSE4A()">;
67 def NoAVX : Predicate<"!Subtarget->hasAVX()">;
68 def HasAVX : Predicate<"Subtarget->hasAVX()">;
69 def HasAVX2 : Predicate<"Subtarget->hasAVX2()">;
70 def HasAVX1Only : Predicate<"Subtarget->hasAVX() && !Subtarget->hasAVX2()">;
71 def HasEVEX512 : Predicate<"Subtarget->hasEVEX512()">;
72 def HasAVX10_1 : Predicate<"Subtarget->hasAVX10_1()">;
73 def HasAVX10_1_512 : Predicate<"Subtarget->hasAVX10_1_512()">;
74 def HasAVX512 : Predicate<"Subtarget->hasAVX512()">;
75 def UseAVX : Predicate<"Subtarget->hasAVX() && !Subtarget->hasAVX512()">;
76 def UseAVX2 : Predicate<"Subtarget->hasAVX2() && !Subtarget->hasAVX512()">;
77 def NoAVX512 : Predicate<"!Subtarget->hasAVX512()">;
78 def HasCDI : Predicate<"Subtarget->hasCDI()">;
79 def HasVPOPCNTDQ : Predicate<"Subtarget->hasVPOPCNTDQ()">;
80 def HasDQI : Predicate<"Subtarget->hasDQI()">;
81 def NoDQI : Predicate<"!Subtarget->hasDQI()">;
82 def HasBWI : Predicate<"Subtarget->hasBWI()">;
83 def NoBWI : Predicate<"!Subtarget->hasBWI()">;
84 def HasVLX : Predicate<"Subtarget->hasVLX()">;
85 def NoVLX : Predicate<"!Subtarget->hasVLX()">;
86 def NoVLX_Or_NoBWI : Predicate<"!Subtarget->hasVLX() || !Subtarget->hasBWI()">;
87 def NoVLX_Or_NoDQI : Predicate<"!Subtarget->hasVLX() || !Subtarget->hasDQI()">;
88 def HasPKU : Predicate<"Subtarget->hasPKU()">;
89 def HasVNNI : Predicate<"Subtarget->hasVNNI()">;
90 def HasVP2INTERSECT : Predicate<"Subtarget->hasVP2INTERSECT()">;
91 def HasBF16 : Predicate<"Subtarget->hasBF16()">;
92 def HasFP16 : Predicate<"Subtarget->hasFP16()">;
93 def HasAVXVNNIINT16 : Predicate<"Subtarget->hasAVXVNNIINT16()">;
94 def HasAVXVNNIINT8 : Predicate<"Subtarget->hasAVXVNNIINT8()">;
95 def HasAVXVNNI : Predicate <"Subtarget->hasAVXVNNI()">;
96 def NoVLX_Or_NoVNNI : Predicate<"!Subtarget->hasVLX() || !Subtarget->hasVNNI()">;
98 def HasBITALG : Predicate<"Subtarget->hasBITALG()">;
99 def HasPOPCNT : Predicate<"Subtarget->hasPOPCNT()">;
100 def HasAES : Predicate<"Subtarget->hasAES()">;
101 def HasVAES : Predicate<"Subtarget->hasVAES()">;
102 def NoVLX_Or_NoVAES : Predicate<"!Subtarget->hasVLX() || !Subtarget->hasVAES()">;
103 def HasFXSR : Predicate<"Subtarget->hasFXSR()">;
104 def HasX87 : Predicate<"Subtarget->hasX87()">;
105 def HasXSAVE : Predicate<"Subtarget->hasXSAVE()">;
106 def HasXSAVEOPT : Predicate<"Subtarget->hasXSAVEOPT()">;
107 def HasXSAVEC : Predicate<"Subtarget->hasXSAVEC()">;
108 def HasXSAVES : Predicate<"Subtarget->hasXSAVES()">;
109 def HasPCLMUL : Predicate<"Subtarget->hasPCLMUL()">;
111 Predicate<"!Subtarget->hasVLX() || !Subtarget->hasVPCLMULQDQ()">;
112 def HasVPCLMULQDQ : Predicate<"Subtarget->hasVPCLMULQDQ()">;
113 def HasGFNI : Predicate<"Subtarget->hasGFNI()">;
114 def HasFMA : Predicate<"Subtarget->hasFMA()">;
115 def HasFMA4 : Predicate<"Subtarget->hasFMA4()">;
116 def NoFMA4 : Predicate<"!Subtarget->hasFMA4()">;
117 def HasXOP : Predicate<"Subtarget->hasXOP()">;
118 def HasTBM : Predicate<"Subtarget->hasTBM()">;
119 def NoTBM : Predicate<"!Subtarget->hasTBM()">;
120 def HasLWP : Predicate<"Subtarget->hasLWP()">;
121 def HasMOVBE : Predicate<"Subtarget->hasMOVBE()">;
122 def NoNDD_Or_NoMOVBE : Predicate<"!Subtarget->hasNDD() || !Subtarget->hasMOVBE()">;
123 def HasRDRAND : Predicate<"Subtarget->hasRDRAND()">;
124 def HasF16C : Predicate<"Subtarget->hasF16C()">;
125 def HasFSGSBase : Predicate<"Subtarget->hasFSGSBase()">;
126 def HasLZCNT : Predicate<"Subtarget->hasLZCNT()">;
127 def HasBMI : Predicate<"Subtarget->hasBMI()">;
128 def HasBMI2 : Predicate<"Subtarget->hasBMI2()">;
129 def NoBMI2 : Predicate<"!Subtarget->hasBMI2()">;
130 def HasVBMI : Predicate<"Subtarget->hasVBMI()">;
131 def HasVBMI2 : Predicate<"Subtarget->hasVBMI2()">;
132 def HasIFMA : Predicate<"Subtarget->hasIFMA()">;
133 def HasAVXIFMA : Predicate<"Subtarget->hasAVXIFMA()">;
134 def NoVLX_Or_NoIFMA : Predicate<"!Subtarget->hasVLX() || !Subtarget->hasIFMA()">;
135 def HasRTM : Predicate<"Subtarget->hasRTM()">;
136 def HasSHA : Predicate<"Subtarget->hasSHA()">;
137 def HasSHA512 : Predicate<"Subtarget->hasSHA512()">;
138 def HasSGX : Predicate<"Subtarget->hasSGX()">;
139 def HasSM3 : Predicate<"Subtarget->hasSM3()">;
140 def HasRDSEED : Predicate<"Subtarget->hasRDSEED()">;
141 def HasSSEPrefetch : Predicate<"Subtarget->hasSSEPrefetch()">;
142 def HasPRFCHW : Predicate<"Subtarget->hasPRFCHW()">;
143 def HasPREFETCHI : Predicate<"Subtarget->hasPREFETCHI()">;
144 def HasPrefetchW : Predicate<"Subtarget->hasPrefetchW()">;
145 def HasLAHFSAHF : Predicate<"Subtarget->hasLAHFSAHF()">;
146 def HasLAHFSAHF64 : Predicate<"Subtarget->hasLAHFSAHF64()">;
147 def HasMWAITX : Predicate<"Subtarget->hasMWAITX()">;
148 def HasCLZERO : Predicate<"Subtarget->hasCLZERO()">;
149 def HasCLDEMOTE : Predicate<"Subtarget->hasCLDEMOTE()">;
150 def HasMOVDIRI : Predicate<"Subtarget->hasMOVDIRI()">;
151 def HasMOVDIR64B : Predicate<"Subtarget->hasMOVDIR64B()">;
152 def HasPTWRITE : Predicate<"Subtarget->hasPTWRITE()">;
153 def FPStackf32 : Predicate<"!Subtarget->hasSSE1()">;
154 def FPStackf64 : Predicate<"!Subtarget->hasSSE2()">;
155 def HasSHSTK : Predicate<"Subtarget->hasSHSTK()">;
156 def HasSM4 : Predicate<"Subtarget->hasSM4()">;
157 def HasCLFLUSH : Predicate<"Subtarget->hasCLFLUSH()">;
158 def HasCLFLUSHOPT : Predicate<"Subtarget->hasCLFLUSHOPT()">;
159 def HasCLWB : Predicate<"Subtarget->hasCLWB()">;
160 def HasWBNOINVD : Predicate<"Subtarget->hasWBNOINVD()">;
161 def HasRDPID : Predicate<"Subtarget->hasRDPID()">;
162 def HasRDPRU : Predicate<"Subtarget->hasRDPRU()">;
163 def HasWAITPKG : Predicate<"Subtarget->hasWAITPKG()">;
164 def HasINVPCID : Predicate<"Subtarget->hasINVPCID()">;
165 def HasCX8 : Predicate<"Subtarget->hasCX8()">;
166 def HasCX16 : Predicate<"Subtarget->hasCX16()">;
167 def HasPCONFIG : Predicate<"Subtarget->hasPCONFIG()">;
168 def HasENQCMD : Predicate<"Subtarget->hasENQCMD()">;
169 def HasAMXFP16 : Predicate<"Subtarget->hasAMXFP16()">;
170 def HasCMPCCXADD : Predicate<"Subtarget->hasCMPCCXADD()">;
171 def HasAVXNECONVERT : Predicate<"Subtarget->hasAVXNECONVERT()">;
172 def HasKL : Predicate<"Subtarget->hasKL()">;
173 def HasRAOINT : Predicate<"Subtarget->hasRAOINT()">;
174 def HasWIDEKL : Predicate<"Subtarget->hasWIDEKL()">;
175 def HasHRESET : Predicate<"Subtarget->hasHRESET()">;
176 def HasSERIALIZE : Predicate<"Subtarget->hasSERIALIZE()">;
177 def HasTSXLDTRK : Predicate<"Subtarget->hasTSXLDTRK()">;
178 def HasAMXTILE : Predicate<"Subtarget->hasAMXTILE()">;
179 def HasAMXBF16 : Predicate<"Subtarget->hasAMXBF16()">;
180 def HasAMXINT8 : Predicate<"Subtarget->hasAMXINT8()">;
181 def HasAMXCOMPLEX : Predicate<"Subtarget->hasAMXCOMPLEX()">;
182 def HasUINTR : Predicate<"Subtarget->hasUINTR()">;
183 def HasUSERMSR : Predicate<"Subtarget->hasUSERMSR()">;
184 def HasCRC32 : Predicate<"Subtarget->hasCRC32()">;
186 def HasX86_64 : Predicate<"Subtarget->hasX86_64()">;
187 def Not64BitMode : Predicate<"!Subtarget->is64Bit()">,
189 def In64BitMode : Predicate<"Subtarget->is64Bit()">,
191 def IsLP64 : Predicate<"Subtarget->isTarget64BitLP64()">;
192 def NotLP64 : Predicate<"!Subtarget->isTarget64BitLP64()">;
193 def In16BitMode : Predicate<"Subtarget->is16Bit()">,
195 def Not16BitMode : Predicate<"!Subtarget->is16Bit()">,
197 def In32BitMode : Predicate<"Subtarget->is32Bit()">,
199 def IsWin64 : Predicate<"Subtarget->isTargetWin64()">;
200 def NotWin64 : Predicate<"!Subtarget->isTargetWin64()">;
201 def NotWin64WithoutFP : Predicate<"!Subtarget->isTargetWin64() ||"
202 "Subtarget->getFrameLowering()->hasFP(*MF)"> {
205 def IsPS : Predicate<"Subtarget->isTargetPS()">;
206 def NotPS : Predicate<"!Subtarget->isTargetPS()">;
207 def IsNaCl : Predicate<"Subtarget->isTargetNaCl()">;
208 def NotNaCl : Predicate<"!Subtarget->isTargetNaCl()">;
216 // the Function object through the <Target>Subtarget and objections were raised
222 def UseIncDec : Predicate<"!Subtarget->slowIncDec() || "
225 "!Subtarget->hasSSE41()">;
228 def CallImmAddr : Predicate<"Subtarget->isLegalToCallImmediateAddr()">;
229 def FavorMemIndirectCall : Predicate<"!Subtarget->slowTwoMemOps()">;
230 def HasFastMem32 : Predicate<"!Subtarget->isUnalignedMem32Slow()">;
231 def HasFastLZCNT : Predicate<"Subtarget->hasFastLZCNT()">;
232 def HasFastSHLDRotate : Predicate<"Subtarget->hasFastSHLDRotate()">;
233 def HasERMSB : Predicate<"Subtarget->hasERMSB()">;
234 def HasFSRM : Predicate<"Subtarget->hasFSRM()">;
235 def HasMFence : Predicate<"Subtarget->hasMFence()">;
236 def HasFastDPWSSD: Predicate<"Subtarget->hasFastDPWSSD()">;
237 def UseIndirectThunkCalls : Predicate<"Subtarget->useIndirectThunkCalls()">;
238 def NotUseIndirectThunkCalls : Predicate<"!Subtarget->useIndirectThunkCalls()">;