Lines Matching refs:Name

119 static bool shouldUpgradeX86Intrinsic(Function *F, StringRef Name) {  in shouldUpgradeX86Intrinsic()  argument
125 if (Name.consume_front("avx.")) in shouldUpgradeX86Intrinsic()
126 return (Name.starts_with("blend.p") || // Added in 3.7 in shouldUpgradeX86Intrinsic()
127 Name == "cvt.ps2.pd.256" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
128 Name == "cvtdq2.pd.256" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
129 Name == "cvtdq2.ps.256" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
130 Name.starts_with("movnt.") || // Added in 3.2 in shouldUpgradeX86Intrinsic()
131 Name.starts_with("sqrt.p") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
132 Name.starts_with("storeu.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
133 Name.starts_with("vbroadcast.s") || // Added in 3.5 in shouldUpgradeX86Intrinsic()
134 Name.starts_with("vbroadcastf128") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
135 Name.starts_with("vextractf128.") || // Added in 3.7 in shouldUpgradeX86Intrinsic()
136 Name.starts_with("vinsertf128.") || // Added in 3.7 in shouldUpgradeX86Intrinsic()
137 Name.starts_with("vperm2f128.") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
138 Name.starts_with("vpermil.")); // Added in 3.1 in shouldUpgradeX86Intrinsic()
140 if (Name.consume_front("avx2.")) in shouldUpgradeX86Intrinsic()
141 return (Name == "movntdqa" || // Added in 5.0 in shouldUpgradeX86Intrinsic()
142 Name.starts_with("pabs.") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
143 Name.starts_with("padds.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
144 Name.starts_with("paddus.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
145 Name.starts_with("pblendd.") || // Added in 3.7 in shouldUpgradeX86Intrinsic()
146 Name == "pblendw" || // Added in 3.7 in shouldUpgradeX86Intrinsic()
147 Name.starts_with("pbroadcast") || // Added in 3.8 in shouldUpgradeX86Intrinsic()
148 Name.starts_with("pcmpeq.") || // Added in 3.1 in shouldUpgradeX86Intrinsic()
149 Name.starts_with("pcmpgt.") || // Added in 3.1 in shouldUpgradeX86Intrinsic()
150 Name.starts_with("pmax") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
151 Name.starts_with("pmin") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
152 Name.starts_with("pmovsx") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
153 Name.starts_with("pmovzx") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
154 Name == "pmul.dq" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
155 Name == "pmulu.dq" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
156 Name.starts_with("psll.dq") || // Added in 3.7 in shouldUpgradeX86Intrinsic()
157 Name.starts_with("psrl.dq") || // Added in 3.7 in shouldUpgradeX86Intrinsic()
158 Name.starts_with("psubs.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
159 Name.starts_with("psubus.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
160 Name.starts_with("vbroadcast") || // Added in 3.8 in shouldUpgradeX86Intrinsic()
161 Name == "vbroadcasti128" || // Added in 3.7 in shouldUpgradeX86Intrinsic()
162 Name == "vextracti128" || // Added in 3.7 in shouldUpgradeX86Intrinsic()
163 Name == "vinserti128" || // Added in 3.7 in shouldUpgradeX86Intrinsic()
164 Name == "vperm2i128"); // Added in 6.0 in shouldUpgradeX86Intrinsic()
166 if (Name.consume_front("avx512.")) { in shouldUpgradeX86Intrinsic()
167 if (Name.consume_front("mask.")) in shouldUpgradeX86Intrinsic()
169 return (Name.starts_with("add.p") || // Added in 7.0. 128/256 in 4.0 in shouldUpgradeX86Intrinsic()
170 Name.starts_with("and.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
171 Name.starts_with("andn.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
172 Name.starts_with("broadcast.s") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
173 Name.starts_with("broadcastf32x4.") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
174 Name.starts_with("broadcastf32x8.") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
175 Name.starts_with("broadcastf64x2.") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
176 Name.starts_with("broadcastf64x4.") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
177 Name.starts_with("broadcasti32x4.") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
178 Name.starts_with("broadcasti32x8.") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
179 Name.starts_with("broadcasti64x2.") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
180 Name.starts_with("broadcasti64x4.") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
181 Name.starts_with("cmp.b") || // Added in 5.0 in shouldUpgradeX86Intrinsic()
182 Name.starts_with("cmp.d") || // Added in 5.0 in shouldUpgradeX86Intrinsic()
183 Name.starts_with("cmp.q") || // Added in 5.0 in shouldUpgradeX86Intrinsic()
184 Name.starts_with("cmp.w") || // Added in 5.0 in shouldUpgradeX86Intrinsic()
185 Name.starts_with("compress.b") || // Added in 9.0 in shouldUpgradeX86Intrinsic()
186 Name.starts_with("compress.d") || // Added in 9.0 in shouldUpgradeX86Intrinsic()
187 Name.starts_with("compress.p") || // Added in 9.0 in shouldUpgradeX86Intrinsic()
188 Name.starts_with("compress.q") || // Added in 9.0 in shouldUpgradeX86Intrinsic()
189 Name.starts_with("compress.store.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
190 Name.starts_with("compress.w") || // Added in 9.0 in shouldUpgradeX86Intrinsic()
191 Name.starts_with("conflict.") || // Added in 9.0 in shouldUpgradeX86Intrinsic()
192 Name.starts_with("cvtdq2pd.") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
193 Name.starts_with("cvtdq2ps.") || // Added in 7.0 updated 9.0 in shouldUpgradeX86Intrinsic()
194 Name == "cvtpd2dq.256" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
195 Name == "cvtpd2ps.256" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
196 Name == "cvtps2pd.128" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
197 Name == "cvtps2pd.256" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
198 Name.starts_with("cvtqq2pd.") || // Added in 7.0 updated 9.0 in shouldUpgradeX86Intrinsic()
199 Name == "cvtqq2ps.256" || // Added in 9.0 in shouldUpgradeX86Intrinsic()
200 Name == "cvtqq2ps.512" || // Added in 9.0 in shouldUpgradeX86Intrinsic()
201 Name == "cvttpd2dq.256" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
202 Name == "cvttps2dq.128" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
203 Name == "cvttps2dq.256" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
204 Name.starts_with("cvtudq2pd.") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
205 Name.starts_with("cvtudq2ps.") || // Added in 7.0 updated 9.0 in shouldUpgradeX86Intrinsic()
206 Name.starts_with("cvtuqq2pd.") || // Added in 7.0 updated 9.0 in shouldUpgradeX86Intrinsic()
207 Name == "cvtuqq2ps.256" || // Added in 9.0 in shouldUpgradeX86Intrinsic()
208 Name == "cvtuqq2ps.512" || // Added in 9.0 in shouldUpgradeX86Intrinsic()
209 Name.starts_with("dbpsadbw.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
210 Name.starts_with("div.p") || // Added in 7.0. 128/256 in 4.0 in shouldUpgradeX86Intrinsic()
211 Name.starts_with("expand.b") || // Added in 9.0 in shouldUpgradeX86Intrinsic()
212 Name.starts_with("expand.d") || // Added in 9.0 in shouldUpgradeX86Intrinsic()
213 Name.starts_with("expand.load.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
214 Name.starts_with("expand.p") || // Added in 9.0 in shouldUpgradeX86Intrinsic()
215 Name.starts_with("expand.q") || // Added in 9.0 in shouldUpgradeX86Intrinsic()
216 Name.starts_with("expand.w") || // Added in 9.0 in shouldUpgradeX86Intrinsic()
217 Name.starts_with("fpclass.p") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
218 Name.starts_with("insert") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
219 Name.starts_with("load.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
220 Name.starts_with("loadu.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
221 Name.starts_with("lzcnt.") || // Added in 5.0 in shouldUpgradeX86Intrinsic()
222 Name.starts_with("max.p") || // Added in 7.0. 128/256 in 5.0 in shouldUpgradeX86Intrinsic()
223 Name.starts_with("min.p") || // Added in 7.0. 128/256 in 5.0 in shouldUpgradeX86Intrinsic()
224 Name.starts_with("movddup") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
225 Name.starts_with("move.s") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
226 Name.starts_with("movshdup") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
227 Name.starts_with("movsldup") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
228 Name.starts_with("mul.p") || // Added in 7.0. 128/256 in 4.0 in shouldUpgradeX86Intrinsic()
229 Name.starts_with("or.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
230 Name.starts_with("pabs.") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
231 Name.starts_with("packssdw.") || // Added in 5.0 in shouldUpgradeX86Intrinsic()
232 Name.starts_with("packsswb.") || // Added in 5.0 in shouldUpgradeX86Intrinsic()
233 Name.starts_with("packusdw.") || // Added in 5.0 in shouldUpgradeX86Intrinsic()
234 Name.starts_with("packuswb.") || // Added in 5.0 in shouldUpgradeX86Intrinsic()
235 Name.starts_with("padd.") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
236 Name.starts_with("padds.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
237 Name.starts_with("paddus.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
238 Name.starts_with("palignr.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
239 Name.starts_with("pand.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
240 Name.starts_with("pandn.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
241 Name.starts_with("pavg") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
242 Name.starts_with("pbroadcast") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
243 Name.starts_with("pcmpeq.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
244 Name.starts_with("pcmpgt.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
245 Name.starts_with("perm.df.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
246 Name.starts_with("perm.di.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
247 Name.starts_with("permvar.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
248 Name.starts_with("pmaddubs.w.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
249 Name.starts_with("pmaddw.d.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
250 Name.starts_with("pmax") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
251 Name.starts_with("pmin") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
252 Name == "pmov.qd.256" || // Added in 9.0 in shouldUpgradeX86Intrinsic()
253 Name == "pmov.qd.512" || // Added in 9.0 in shouldUpgradeX86Intrinsic()
254 Name == "pmov.wb.256" || // Added in 9.0 in shouldUpgradeX86Intrinsic()
255 Name == "pmov.wb.512" || // Added in 9.0 in shouldUpgradeX86Intrinsic()
256 Name.starts_with("pmovsx") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
257 Name.starts_with("pmovzx") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
258 Name.starts_with("pmul.dq.") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
259 Name.starts_with("pmul.hr.sw.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
260 Name.starts_with("pmulh.w.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
261 Name.starts_with("pmulhu.w.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
262 Name.starts_with("pmull.") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
263 Name.starts_with("pmultishift.qb.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
264 Name.starts_with("pmulu.dq.") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
265 Name.starts_with("por.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
266 Name.starts_with("prol.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
267 Name.starts_with("prolv.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
268 Name.starts_with("pror.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
269 Name.starts_with("prorv.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
270 Name.starts_with("pshuf.b.") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
271 Name.starts_with("pshuf.d.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
272 Name.starts_with("pshufh.w.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
273 Name.starts_with("pshufl.w.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
274 Name.starts_with("psll.d") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
275 Name.starts_with("psll.q") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
276 Name.starts_with("psll.w") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
277 Name.starts_with("pslli") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
278 Name.starts_with("psllv") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
279 Name.starts_with("psra.d") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
280 Name.starts_with("psra.q") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
281 Name.starts_with("psra.w") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
282 Name.starts_with("psrai") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
283 Name.starts_with("psrav") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
284 Name.starts_with("psrl.d") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
285 Name.starts_with("psrl.q") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
286 Name.starts_with("psrl.w") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
287 Name.starts_with("psrli") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
288 Name.starts_with("psrlv") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
289 Name.starts_with("psub.") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
290 Name.starts_with("psubs.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
291 Name.starts_with("psubus.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
292 Name.starts_with("pternlog.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
293 Name.starts_with("punpckh") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
294 Name.starts_with("punpckl") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
295 Name.starts_with("pxor.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
296 Name.starts_with("shuf.f") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
297 Name.starts_with("shuf.i") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
298 Name.starts_with("shuf.p") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
299 Name.starts_with("sqrt.p") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
300 Name.starts_with("store.b.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
301 Name.starts_with("store.d.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
302 Name.starts_with("store.p") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
303 Name.starts_with("store.q.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
304 Name.starts_with("store.w.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
305 Name == "store.ss" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
306 Name.starts_with("storeu.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
307 Name.starts_with("sub.p") || // Added in 7.0. 128/256 in 4.0 in shouldUpgradeX86Intrinsic()
308 Name.starts_with("ucmp.") || // Added in 5.0 in shouldUpgradeX86Intrinsic()
309 Name.starts_with("unpckh.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
310 Name.starts_with("unpckl.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
311 Name.starts_with("valign.") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
312 Name == "vcvtph2ps.128" || // Added in 11.0 in shouldUpgradeX86Intrinsic()
313 Name == "vcvtph2ps.256" || // Added in 11.0 in shouldUpgradeX86Intrinsic()
314 Name.starts_with("vextract") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
315 Name.starts_with("vfmadd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
316 Name.starts_with("vfmaddsub.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
317 Name.starts_with("vfnmadd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
318 Name.starts_with("vfnmsub.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
319 Name.starts_with("vpdpbusd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
320 Name.starts_with("vpdpbusds.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
321 Name.starts_with("vpdpwssd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
322 Name.starts_with("vpdpwssds.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
323 Name.starts_with("vpermi2var.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
324 Name.starts_with("vpermil.p") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
325 Name.starts_with("vpermilvar.") || // Added in 4.0 in shouldUpgradeX86Intrinsic()
326 Name.starts_with("vpermt2var.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
327 Name.starts_with("vpmadd52") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
328 Name.starts_with("vpshld.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
329 Name.starts_with("vpshldv.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
330 Name.starts_with("vpshrd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
331 Name.starts_with("vpshrdv.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
332 Name.starts_with("vpshufbitqmb.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
333 Name.starts_with("xor.")); // Added in 3.9 in shouldUpgradeX86Intrinsic()
335 if (Name.consume_front("mask3.")) in shouldUpgradeX86Intrinsic()
337 return (Name.starts_with("vfmadd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
338 Name.starts_with("vfmaddsub.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
339 Name.starts_with("vfmsub.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
340 Name.starts_with("vfmsubadd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
341 Name.starts_with("vfnmsub.")); // Added in 7.0 in shouldUpgradeX86Intrinsic()
343 if (Name.consume_front("maskz.")) in shouldUpgradeX86Intrinsic()
345 return (Name.starts_with("pternlog.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
346 Name.starts_with("vfmadd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
347 Name.starts_with("vfmaddsub.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
348 Name.starts_with("vpdpbusd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
349 Name.starts_with("vpdpbusds.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
350 Name.starts_with("vpdpwssd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
351 Name.starts_with("vpdpwssds.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
352 Name.starts_with("vpermt2var.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
353 Name.starts_with("vpmadd52") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
354 Name.starts_with("vpshldv.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
355 Name.starts_with("vpshrdv.")); // Added in 8.0 in shouldUpgradeX86Intrinsic()
358 return (Name == "movntdqa" || // Added in 5.0 in shouldUpgradeX86Intrinsic()
359 Name == "pmul.dq.512" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
360 Name == "pmulu.dq.512" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
361 Name.starts_with("broadcastm") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
362 Name.starts_with("cmp.p") || // Added in 12.0 in shouldUpgradeX86Intrinsic()
363 Name.starts_with("cvtb2mask.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
364 Name.starts_with("cvtd2mask.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
365 Name.starts_with("cvtmask2") || // Added in 5.0 in shouldUpgradeX86Intrinsic()
366 Name.starts_with("cvtq2mask.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
367 Name == "cvtusi2sd" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
368 Name.starts_with("cvtw2mask.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
369 Name == "kand.w" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
370 Name == "kandn.w" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
371 Name == "knot.w" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
372 Name == "kor.w" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
373 Name == "kortestc.w" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
374 Name == "kortestz.w" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
375 Name.starts_with("kunpck") || // added in 6.0 in shouldUpgradeX86Intrinsic()
376 Name == "kxnor.w" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
377 Name == "kxor.w" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
378 Name.starts_with("padds.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
379 Name.starts_with("pbroadcast") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
380 Name.starts_with("prol") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
381 Name.starts_with("pror") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
382 Name.starts_with("psll.dq") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
383 Name.starts_with("psrl.dq") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
384 Name.starts_with("psubs.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
385 Name.starts_with("ptestm") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
386 Name.starts_with("ptestnm") || // Added in 6.0 in shouldUpgradeX86Intrinsic()
387 Name.starts_with("storent.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
388 Name.starts_with("vbroadcast.s") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
389 Name.starts_with("vpshld.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
390 Name.starts_with("vpshrd.")); // Added in 8.0 in shouldUpgradeX86Intrinsic()
393 if (Name.consume_front("fma.")) in shouldUpgradeX86Intrinsic()
394 return (Name.starts_with("vfmadd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
395 Name.starts_with("vfmsub.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
396 Name.starts_with("vfmsubadd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
397 Name.starts_with("vfnmadd.") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
398 Name.starts_with("vfnmsub.")); // Added in 7.0 in shouldUpgradeX86Intrinsic()
400 if (Name.consume_front("fma4.")) in shouldUpgradeX86Intrinsic()
401 return Name.starts_with("vfmadd.s"); // Added in 7.0 in shouldUpgradeX86Intrinsic()
403 if (Name.consume_front("sse.")) in shouldUpgradeX86Intrinsic()
404 return (Name == "add.ss" || // Added in 4.0 in shouldUpgradeX86Intrinsic()
405 Name == "cvtsi2ss" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
406 Name == "cvtsi642ss" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
407 Name == "div.ss" || // Added in 4.0 in shouldUpgradeX86Intrinsic()
408 Name == "mul.ss" || // Added in 4.0 in shouldUpgradeX86Intrinsic()
409 Name.starts_with("sqrt.p") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
410 Name == "sqrt.ss" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
411 Name.starts_with("storeu.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
412 Name == "sub.ss"); // Added in 4.0 in shouldUpgradeX86Intrinsic()
414 if (Name.consume_front("sse2.")) in shouldUpgradeX86Intrinsic()
415 return (Name == "add.sd" || // Added in 4.0 in shouldUpgradeX86Intrinsic()
416 Name == "cvtdq2pd" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
417 Name == "cvtdq2ps" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
418 Name == "cvtps2pd" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
419 Name == "cvtsi2sd" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
420 Name == "cvtsi642sd" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
421 Name == "cvtss2sd" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
422 Name == "div.sd" || // Added in 4.0 in shouldUpgradeX86Intrinsic()
423 Name == "mul.sd" || // Added in 4.0 in shouldUpgradeX86Intrinsic()
424 Name.starts_with("padds.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
425 Name.starts_with("paddus.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
426 Name.starts_with("pcmpeq.") || // Added in 3.1 in shouldUpgradeX86Intrinsic()
427 Name.starts_with("pcmpgt.") || // Added in 3.1 in shouldUpgradeX86Intrinsic()
428 Name == "pmaxs.w" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
429 Name == "pmaxu.b" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
430 Name == "pmins.w" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
431 Name == "pminu.b" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
432 Name == "pmulu.dq" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
433 Name.starts_with("pshuf") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
434 Name.starts_with("psll.dq") || // Added in 3.7 in shouldUpgradeX86Intrinsic()
435 Name.starts_with("psrl.dq") || // Added in 3.7 in shouldUpgradeX86Intrinsic()
436 Name.starts_with("psubs.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
437 Name.starts_with("psubus.") || // Added in 8.0 in shouldUpgradeX86Intrinsic()
438 Name.starts_with("sqrt.p") || // Added in 7.0 in shouldUpgradeX86Intrinsic()
439 Name == "sqrt.sd" || // Added in 7.0 in shouldUpgradeX86Intrinsic()
440 Name == "storel.dq" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
441 Name.starts_with("storeu.") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
442 Name == "sub.sd"); // Added in 4.0 in shouldUpgradeX86Intrinsic()
444 if (Name.consume_front("sse41.")) in shouldUpgradeX86Intrinsic()
445 return (Name.starts_with("blendp") || // Added in 3.7 in shouldUpgradeX86Intrinsic()
446 Name == "movntdqa" || // Added in 5.0 in shouldUpgradeX86Intrinsic()
447 Name == "pblendw" || // Added in 3.7 in shouldUpgradeX86Intrinsic()
448 Name == "pmaxsb" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
449 Name == "pmaxsd" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
450 Name == "pmaxud" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
451 Name == "pmaxuw" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
452 Name == "pminsb" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
453 Name == "pminsd" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
454 Name == "pminud" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
455 Name == "pminuw" || // Added in 3.9 in shouldUpgradeX86Intrinsic()
456 Name.starts_with("pmovsx") || // Added in 3.8 in shouldUpgradeX86Intrinsic()
457 Name.starts_with("pmovzx") || // Added in 3.9 in shouldUpgradeX86Intrinsic()
458 Name == "pmuldq"); // Added in 7.0 in shouldUpgradeX86Intrinsic()
460 if (Name.consume_front("sse42.")) in shouldUpgradeX86Intrinsic()
461 return Name == "crc32.64.8"; // Added in 3.4 in shouldUpgradeX86Intrinsic()
463 if (Name.consume_front("sse4a.")) in shouldUpgradeX86Intrinsic()
464 return Name.starts_with("movnt."); // Added in 3.9 in shouldUpgradeX86Intrinsic()
466 if (Name.consume_front("ssse3.")) in shouldUpgradeX86Intrinsic()
467 return (Name == "pabs.b.128" || // Added in 6.0 in shouldUpgradeX86Intrinsic()
468 Name == "pabs.d.128" || // Added in 6.0 in shouldUpgradeX86Intrinsic()
469 Name == "pabs.w.128"); // Added in 6.0 in shouldUpgradeX86Intrinsic()
471 if (Name.consume_front("xop.")) in shouldUpgradeX86Intrinsic()
472 return (Name == "vpcmov" || // Added in 3.8 in shouldUpgradeX86Intrinsic()
473 Name == "vpcmov.256" || // Added in 5.0 in shouldUpgradeX86Intrinsic()
474 Name.starts_with("vpcom") || // Added in 3.2, Updated in 9.0 in shouldUpgradeX86Intrinsic()
475 Name.starts_with("vprot")); // Added in 8.0 in shouldUpgradeX86Intrinsic()
477 return (Name == "addcarry.u32" || // Added in 8.0 in shouldUpgradeX86Intrinsic()
478 Name == "addcarry.u64" || // Added in 8.0 in shouldUpgradeX86Intrinsic()
479 Name == "addcarryx.u32" || // Added in 8.0 in shouldUpgradeX86Intrinsic()
480 Name == "addcarryx.u64" || // Added in 8.0 in shouldUpgradeX86Intrinsic()
481 Name == "subborrow.u32" || // Added in 8.0 in shouldUpgradeX86Intrinsic()
482 Name == "subborrow.u64" || // Added in 8.0 in shouldUpgradeX86Intrinsic()
483 Name.starts_with("vcvtph2ps.")); // Added in 11.0 in shouldUpgradeX86Intrinsic()
486 static bool upgradeX86IntrinsicFunction(Function *F, StringRef Name, in upgradeX86IntrinsicFunction() argument
489 if (!Name.consume_front("x86.")) in upgradeX86IntrinsicFunction()
492 if (shouldUpgradeX86Intrinsic(F, Name)) { in upgradeX86IntrinsicFunction()
497 if (Name == "rdtscp") { // Added in 8.0 in upgradeX86IntrinsicFunction()
511 if (Name.consume_front("sse41.ptest")) { // Added in 3.2 in upgradeX86IntrinsicFunction()
512 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeX86IntrinsicFunction()
527 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeX86IntrinsicFunction()
538 if (Name.consume_front("avx512.mask.cmp.")) { in upgradeX86IntrinsicFunction()
540 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeX86IntrinsicFunction()
553 if (Name.consume_front("avx512bf16.")) { in upgradeX86IntrinsicFunction()
555 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeX86IntrinsicFunction()
573 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeX86IntrinsicFunction()
583 if (Name.consume_front("xop.")) { in upgradeX86IntrinsicFunction()
585 if (Name.starts_with("vpermil2")) { // Added in 3.9 in upgradeX86IntrinsicFunction()
603 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeX86IntrinsicFunction()
616 if (Name == "seh.recoverfp") { in upgradeX86IntrinsicFunction()
627 StringRef Name, in upgradeArmOrAarch64IntrinsicFunction() argument
629 if (Name.starts_with("rbit")) { in upgradeArmOrAarch64IntrinsicFunction()
636 if (Name == "thread.pointer") { in upgradeArmOrAarch64IntrinsicFunction()
643 bool Neon = Name.consume_front("neon."); in upgradeArmOrAarch64IntrinsicFunction()
648 if (Name.consume_front("bfdot.")) { in upgradeArmOrAarch64IntrinsicFunction()
650 Intrinsic::ID ID = StringSwitch<Intrinsic::ID>(Name) in upgradeArmOrAarch64IntrinsicFunction()
671 if (Name.consume_front("bfm")) { in upgradeArmOrAarch64IntrinsicFunction()
673 if (Name.consume_back(".v4f32.v16i8")) { in upgradeArmOrAarch64IntrinsicFunction()
676 StringSwitch<Intrinsic::ID>(Name) in upgradeArmOrAarch64IntrinsicFunction()
700 Intrinsic::ID ID = StringSwitch<Intrinsic::ID>(Name) in upgradeArmOrAarch64IntrinsicFunction()
714 if (Name.consume_front("vst")) { in upgradeArmOrAarch64IntrinsicFunction()
718 if (vstRegex.match(Name, &Groups)) { in upgradeArmOrAarch64IntrinsicFunction()
743 if (Name.consume_front("mve.")) { in upgradeArmOrAarch64IntrinsicFunction()
745 if (Name == "vctp64") { in upgradeArmOrAarch64IntrinsicFunction()
756 if (Name.consume_back(".v4i1")) { in upgradeArmOrAarch64IntrinsicFunction()
758 if (Name.consume_back(".predicated.v2i64.v4i32")) in upgradeArmOrAarch64IntrinsicFunction()
760 return Name == "mull.int" || Name == "vqdmull"; in upgradeArmOrAarch64IntrinsicFunction()
762 if (Name.consume_back(".v2i64")) { in upgradeArmOrAarch64IntrinsicFunction()
764 bool IsGather = Name.consume_front("vldr.gather."); in upgradeArmOrAarch64IntrinsicFunction()
765 if (IsGather || Name.consume_front("vstr.scatter.")) { in upgradeArmOrAarch64IntrinsicFunction()
766 if (Name.consume_front("base.")) { in upgradeArmOrAarch64IntrinsicFunction()
768 Name.consume_front("wb."); in upgradeArmOrAarch64IntrinsicFunction()
771 return Name == "predicated.v2i64"; in upgradeArmOrAarch64IntrinsicFunction()
774 if (Name.consume_front("offset.predicated.")) in upgradeArmOrAarch64IntrinsicFunction()
775 return Name == (IsGather ? "v2i64.p0i64" : "p0i64.v2i64") || in upgradeArmOrAarch64IntrinsicFunction()
776 Name == (IsGather ? "v2i64.p0" : "p0.v2i64"); in upgradeArmOrAarch64IntrinsicFunction()
789 if (Name.consume_front("cde.vcx")) { in upgradeArmOrAarch64IntrinsicFunction()
791 if (Name.consume_back(".predicated.v2i64.v4i1")) in upgradeArmOrAarch64IntrinsicFunction()
793 return Name == "1q" || Name == "1qa" || Name == "2q" || Name == "2qa" || in upgradeArmOrAarch64IntrinsicFunction()
794 Name == "3q" || Name == "3qa"; in upgradeArmOrAarch64IntrinsicFunction()
802 Intrinsic::ID ID = StringSwitch<Intrinsic::ID>(Name) in upgradeArmOrAarch64IntrinsicFunction()
812 if (Name.starts_with("addp")) { in upgradeArmOrAarch64IntrinsicFunction()
825 if (Name.consume_front("sve.")) { in upgradeArmOrAarch64IntrinsicFunction()
827 if (Name.consume_front("bf")) { in upgradeArmOrAarch64IntrinsicFunction()
828 if (Name.consume_back(".lane")) { in upgradeArmOrAarch64IntrinsicFunction()
831 StringSwitch<Intrinsic::ID>(Name) in upgradeArmOrAarch64IntrinsicFunction()
845 if (Name.consume_front("ld")) { in upgradeArmOrAarch64IntrinsicFunction()
848 if (LdRegex.match(Name)) { in upgradeArmOrAarch64IntrinsicFunction()
860 LoadIDs[Name[0] - '2'], Ty); in upgradeArmOrAarch64IntrinsicFunction()
866 if (Name.consume_front("tuple.")) { in upgradeArmOrAarch64IntrinsicFunction()
868 if (Name.starts_with("get")) { in upgradeArmOrAarch64IntrinsicFunction()
876 if (Name.starts_with("set")) { in upgradeArmOrAarch64IntrinsicFunction()
886 if (CreateTupleRegex.match(Name)) { in upgradeArmOrAarch64IntrinsicFunction()
902 static Intrinsic::ID shouldUpgradeNVPTXBF16Intrinsic(StringRef Name) { in shouldUpgradeNVPTXBF16Intrinsic() argument
903 if (Name.consume_front("abs.")) in shouldUpgradeNVPTXBF16Intrinsic()
904 return StringSwitch<Intrinsic::ID>(Name) in shouldUpgradeNVPTXBF16Intrinsic()
909 if (Name.consume_front("fma.rn.")) in shouldUpgradeNVPTXBF16Intrinsic()
910 return StringSwitch<Intrinsic::ID>(Name) in shouldUpgradeNVPTXBF16Intrinsic()
925 if (Name.consume_front("fmax.")) in shouldUpgradeNVPTXBF16Intrinsic()
926 return StringSwitch<Intrinsic::ID>(Name) in shouldUpgradeNVPTXBF16Intrinsic()
949 if (Name.consume_front("fmin.")) in shouldUpgradeNVPTXBF16Intrinsic()
950 return StringSwitch<Intrinsic::ID>(Name) in shouldUpgradeNVPTXBF16Intrinsic()
973 if (Name.consume_front("neg.")) in shouldUpgradeNVPTXBF16Intrinsic()
974 return StringSwitch<Intrinsic::ID>(Name) in shouldUpgradeNVPTXBF16Intrinsic()
985 StringRef Name = F->getName(); in upgradeIntrinsicFunction1() local
988 if (!Name.consume_front("llvm.") || Name.empty()) in upgradeIntrinsicFunction1()
991 switch (Name[0]) { in upgradeIntrinsicFunction1()
994 bool IsArm = Name.consume_front("arm."); in upgradeIntrinsicFunction1()
995 if (IsArm || Name.consume_front("aarch64.")) { in upgradeIntrinsicFunction1()
996 if (upgradeArmOrAarch64IntrinsicFunction(IsArm, F, Name, NewFn)) in upgradeIntrinsicFunction1()
1001 if (Name.consume_front("amdgcn.")) { in upgradeIntrinsicFunction1()
1002 if (Name == "alignbit") { in upgradeIntrinsicFunction1()
1009 if (Name.consume_front("atomic.")) { in upgradeIntrinsicFunction1()
1010 if (Name.starts_with("inc") || Name.starts_with("dec")) { in upgradeIntrinsicFunction1()
1019 if (Name.starts_with("ldexp.")) { in upgradeIntrinsicFunction1()
1033 Intrinsic::ID ID = StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1045 if (F->arg_size() == 2 && Name.equals("coro.end")) { in upgradeIntrinsicFunction1()
1054 if (Name.consume_front("dbg.")) { in upgradeIntrinsicFunction1()
1055 if (Name == "addr" || (Name == "value" && F->arg_size() == 4)) { in upgradeIntrinsicFunction1()
1064 if (Name.consume_front("experimental.vector.")) { in upgradeIntrinsicFunction1()
1065 Intrinsic::ID ID = StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1084 if (Name.consume_front("reduce.")) { in upgradeIntrinsicFunction1()
1087 if (R.match(Name, &Groups)) in upgradeIntrinsicFunction1()
1107 if (R2.match(Name, &Groups)) in upgradeIntrinsicFunction1()
1126 if (Name.starts_with("flt.rounds")) { in upgradeIntrinsicFunction1()
1133 if (Name.starts_with("invariant.group.barrier")) { in upgradeIntrinsicFunction1()
1147 if (unsigned ID = StringSwitch<unsigned>(Name) in upgradeIntrinsicFunction1()
1160 if (Name.starts_with("memset.") && F->arg_size() == 5) { in upgradeIntrinsicFunction1()
1175 if (Name.consume_front("nvvm.")) { in upgradeIntrinsicFunction1()
1179 StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1193 Intrinsic::ID IID = shouldUpgradeNVPTXBF16Intrinsic(Name); in upgradeIntrinsicFunction1()
1205 if (Name.consume_front("abs.")) in upgradeIntrinsicFunction1()
1207 Expand = Name == "i" || Name == "ll"; in upgradeIntrinsicFunction1()
1208 else if (Name == "clz.ll" || Name == "popc.ll" || Name == "h2f") in upgradeIntrinsicFunction1()
1210 else if (Name.consume_front("max.") || Name.consume_front("min.")) in upgradeIntrinsicFunction1()
1212 Expand = Name == "s" || Name == "i" || Name == "ll" || Name == "us" || in upgradeIntrinsicFunction1()
1213 Name == "ui" || Name == "ull"; in upgradeIntrinsicFunction1()
1214 else if (Name.consume_front("atomic.load.add.")) in upgradeIntrinsicFunction1()
1216 Expand = Name.starts_with("f32.p") || Name.starts_with("f64.p"); in upgradeIntrinsicFunction1()
1231 if (Name.starts_with("objectsize.")) { in upgradeIntrinsicFunction1()
1245 if (Name.starts_with("ptr.annotation.") && F->arg_size() == 4) { in upgradeIntrinsicFunction1()
1255 if (Name.consume_front("riscv.")) { in upgradeIntrinsicFunction1()
1257 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1272 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1286 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1307 if (Name == "stackprotectorcheck") { in upgradeIntrinsicFunction1()
1314 if (Name == "var.annotation" && F->arg_size() == 4) { in upgradeIntrinsicFunction1()
1325 if (Name.consume_front("wasm.")) { in upgradeIntrinsicFunction1()
1327 StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1339 if (Name.consume_front("dot.i8x16.i7x16.")) { in upgradeIntrinsicFunction1()
1340 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1357 if (upgradeX86IntrinsicFunction(F, Name, NewFn)) in upgradeIntrinsicFunction1()
1374 std::string Name = F->getName().str(); in upgradeIntrinsicFunction1() local
1377 Name, F->getParent()); in upgradeIntrinsicFunction1()
1952 static bool upgradeAVX512MaskToSelect(StringRef Name, IRBuilder<> &Builder, in upgradeAVX512MaskToSelect() argument
1954 Name = Name.substr(12); // Remove avx512.mask. in upgradeAVX512MaskToSelect()
1959 if (Name.starts_with("max.p")) { in upgradeAVX512MaskToSelect()
1970 } else if (Name.starts_with("min.p")) { in upgradeAVX512MaskToSelect()
1981 } else if (Name.starts_with("pshuf.b.")) { in upgradeAVX512MaskToSelect()
1990 } else if (Name.starts_with("pmul.hr.sw.")) { in upgradeAVX512MaskToSelect()
1999 } else if (Name.starts_with("pmulh.w.")) { in upgradeAVX512MaskToSelect()
2008 } else if (Name.starts_with("pmulhu.w.")) { in upgradeAVX512MaskToSelect()
2017 } else if (Name.starts_with("pmaddw.d.")) { in upgradeAVX512MaskToSelect()
2026 } else if (Name.starts_with("pmaddubs.w.")) { in upgradeAVX512MaskToSelect()
2035 } else if (Name.starts_with("packsswb.")) { in upgradeAVX512MaskToSelect()
2044 } else if (Name.starts_with("packssdw.")) { in upgradeAVX512MaskToSelect()
2053 } else if (Name.starts_with("packuswb.")) { in upgradeAVX512MaskToSelect()
2062 } else if (Name.starts_with("packusdw.")) { in upgradeAVX512MaskToSelect()
2071 } else if (Name.starts_with("vpermilvar.")) { in upgradeAVX512MaskToSelect()
2086 } else if (Name == "cvtpd2dq.256") { in upgradeAVX512MaskToSelect()
2088 } else if (Name == "cvtpd2ps.256") { in upgradeAVX512MaskToSelect()
2090 } else if (Name == "cvttpd2dq.256") { in upgradeAVX512MaskToSelect()
2092 } else if (Name == "cvttps2dq.128") { in upgradeAVX512MaskToSelect()
2094 } else if (Name == "cvttps2dq.256") { in upgradeAVX512MaskToSelect()
2096 } else if (Name.starts_with("permvar.")) { in upgradeAVX512MaskToSelect()
2128 } else if (Name.starts_with("dbpsadbw.")) { in upgradeAVX512MaskToSelect()
2137 } else if (Name.starts_with("pmultishift.qb.")) { in upgradeAVX512MaskToSelect()
2146 } else if (Name.starts_with("conflict.")) { in upgradeAVX512MaskToSelect()
2147 if (Name[9] == 'd' && VecWidth == 128) in upgradeAVX512MaskToSelect()
2149 else if (Name[9] == 'd' && VecWidth == 256) in upgradeAVX512MaskToSelect()
2151 else if (Name[9] == 'd' && VecWidth == 512) in upgradeAVX512MaskToSelect()
2153 else if (Name[9] == 'q' && VecWidth == 128) in upgradeAVX512MaskToSelect()
2155 else if (Name[9] == 'q' && VecWidth == 256) in upgradeAVX512MaskToSelect()
2157 else if (Name[9] == 'q' && VecWidth == 512) in upgradeAVX512MaskToSelect()
2161 } else if (Name.starts_with("pavg.")) { in upgradeAVX512MaskToSelect()
2162 if (Name[5] == 'b' && VecWidth == 128) in upgradeAVX512MaskToSelect()
2164 else if (Name[5] == 'b' && VecWidth == 256) in upgradeAVX512MaskToSelect()
2166 else if (Name[5] == 'b' && VecWidth == 512) in upgradeAVX512MaskToSelect()
2168 else if (Name[5] == 'w' && VecWidth == 128) in upgradeAVX512MaskToSelect()
2170 else if (Name[5] == 'w' && VecWidth == 256) in upgradeAVX512MaskToSelect()
2172 else if (Name[5] == 'w' && VecWidth == 512) in upgradeAVX512MaskToSelect()
2201 static Value *upgradeARMIntrinsicCall(StringRef Name, CallBase *CI, Function *F, in upgradeARMIntrinsicCall() argument
2203 if (Name == "mve.vctp64.old") { in upgradeARMIntrinsicCall()
2219 } else if (Name == "mve.mull.int.predicated.v2i64.v4i32.v4i1" || in upgradeARMIntrinsicCall()
2220 Name == "mve.vqdmull.predicated.v2i64.v4i32.v4i1" || in upgradeARMIntrinsicCall()
2221 Name == "mve.vldr.gather.base.predicated.v2i64.v2i64.v4i1" || in upgradeARMIntrinsicCall()
2222 Name == "mve.vldr.gather.base.wb.predicated.v2i64.v2i64.v4i1" || in upgradeARMIntrinsicCall()
2223 Name == in upgradeARMIntrinsicCall()
2225 Name == "mve.vldr.gather.offset.predicated.v2i64.p0.v2i64.v4i1" || in upgradeARMIntrinsicCall()
2226 Name == "mve.vstr.scatter.base.predicated.v2i64.v2i64.v4i1" || in upgradeARMIntrinsicCall()
2227 Name == "mve.vstr.scatter.base.wb.predicated.v2i64.v2i64.v4i1" || in upgradeARMIntrinsicCall()
2228 Name == in upgradeARMIntrinsicCall()
2230 Name == "mve.vstr.scatter.offset.predicated.p0.v2i64.v2i64.v4i1" || in upgradeARMIntrinsicCall()
2231 Name == "cde.vcx1q.predicated.v2i64.v4i1" || in upgradeARMIntrinsicCall()
2232 Name == "cde.vcx1qa.predicated.v2i64.v4i1" || in upgradeARMIntrinsicCall()
2233 Name == "cde.vcx2q.predicated.v2i64.v4i1" || in upgradeARMIntrinsicCall()
2234 Name == "cde.vcx2qa.predicated.v2i64.v4i1" || in upgradeARMIntrinsicCall()
2235 Name == "cde.vcx3q.predicated.v2i64.v4i1" || in upgradeARMIntrinsicCall()
2236 Name == "cde.vcx3qa.predicated.v2i64.v4i1") { in upgradeARMIntrinsicCall()
2295 static Value *upgradeAMDGCNIntrinsicCall(StringRef Name, CallBase *CI, in upgradeAMDGCNIntrinsicCall() argument
2297 const bool IsInc = Name.starts_with("atomic.inc."); in upgradeAMDGCNIntrinsicCall()
2298 if (IsInc || Name.starts_with("atomic.dec.")) { in upgradeAMDGCNIntrinsicCall()
2347 StringRef Name = F->getName(); in UpgradeIntrinsicCall() local
2349 assert(Name.starts_with("llvm.") && "Intrinsic doesn't start with 'llvm.'"); in UpgradeIntrinsicCall()
2350 Name = Name.substr(5); in UpgradeIntrinsicCall()
2352 bool IsX86 = Name.consume_front("x86."); in UpgradeIntrinsicCall()
2353 bool IsNVVM = Name.consume_front("nvvm."); in UpgradeIntrinsicCall()
2354 bool IsARM = Name.consume_front("arm."); in UpgradeIntrinsicCall()
2355 bool IsAMDGCN = Name.consume_front("amdgcn."); in UpgradeIntrinsicCall()
2357 if (IsX86 && Name.starts_with("sse4a.movnt.")) { in UpgradeIntrinsicCall()
2382 if (IsX86 && (Name.starts_with("avx.movnt.") || in UpgradeIntrinsicCall()
2383 Name.starts_with("avx512.storent."))) { in UpgradeIntrinsicCall()
2406 if (IsX86 && Name == "sse2.storel.dq") { in UpgradeIntrinsicCall()
2423 if (IsX86 && (Name.starts_with("sse.storeu.") || in UpgradeIntrinsicCall()
2424 Name.starts_with("sse2.storeu.") || in UpgradeIntrinsicCall()
2425 Name.starts_with("avx.storeu."))) { in UpgradeIntrinsicCall()
2439 if (IsX86 && Name == "avx512.mask.store.ss") { in UpgradeIntrinsicCall()
2449 if (IsX86 && Name.starts_with("avx512.mask.store")) { in UpgradeIntrinsicCall()
2451 bool Aligned = Name[17] != 'u'; // "avx512.mask.storeu". in UpgradeIntrinsicCall()
2462 if (IsX86 && (Name.starts_with("sse2.pcmp") || in UpgradeIntrinsicCall()
2463 Name.starts_with("avx2.pcmp"))) { in UpgradeIntrinsicCall()
2465 bool CmpEq = Name[9] == 'e'; in UpgradeIntrinsicCall()
2469 } else if (IsX86 && (Name.starts_with("avx512.broadcastm"))) { in UpgradeIntrinsicCall()
2477 } else if (IsX86 && (Name == "sse.sqrt.ss" || in UpgradeIntrinsicCall()
2478 Name == "sse2.sqrt.sd")) { in UpgradeIntrinsicCall()
2485 } else if (IsX86 && (Name.starts_with("avx.sqrt.p") || in UpgradeIntrinsicCall()
2486 Name.starts_with("sse2.sqrt.p") || in UpgradeIntrinsicCall()
2487 Name.starts_with("sse.sqrt.p"))) { in UpgradeIntrinsicCall()
2492 } else if (IsX86 && (Name.starts_with("avx512.mask.sqrt.p"))) { in UpgradeIntrinsicCall()
2496 Intrinsic::ID IID = Name[18] == 's' ? Intrinsic::x86_avx512_sqrt_ps_512 in UpgradeIntrinsicCall()
2510 } else if (IsX86 && (Name.starts_with("avx512.ptestm") || in UpgradeIntrinsicCall()
2511 Name.starts_with("avx512.ptestnm"))) { in UpgradeIntrinsicCall()
2519 Name.starts_with("avx512.ptestm") ? ICmpInst::ICMP_NE : ICmpInst::ICMP_EQ; in UpgradeIntrinsicCall()
2522 } else if (IsX86 && (Name.starts_with("avx512.mask.pbroadcast"))){ in UpgradeIntrinsicCall()
2528 } else if (IsX86 && (Name.starts_with("avx512.kunpck"))) { in UpgradeIntrinsicCall()
2546 } else if (IsX86 && Name == "avx512.kand.w") { in UpgradeIntrinsicCall()
2551 } else if (IsX86 && Name == "avx512.kandn.w") { in UpgradeIntrinsicCall()
2557 } else if (IsX86 && Name == "avx512.kor.w") { in UpgradeIntrinsicCall()
2562 } else if (IsX86 && Name == "avx512.kxor.w") { in UpgradeIntrinsicCall()
2567 } else if (IsX86 && Name == "avx512.kxnor.w") { in UpgradeIntrinsicCall()
2573 } else if (IsX86 && Name == "avx512.knot.w") { in UpgradeIntrinsicCall()
2578 (Name == "avx512.kortestz.w" || Name == "avx512.kortestc.w")) { in UpgradeIntrinsicCall()
2584 if (Name[14] == 'c') in UpgradeIntrinsicCall()
2590 } else if (IsX86 && (Name == "sse.add.ss" || Name == "sse2.add.sd" || in UpgradeIntrinsicCall()
2591 Name == "sse.sub.ss" || Name == "sse2.sub.sd" || in UpgradeIntrinsicCall()
2592 Name == "sse.mul.ss" || Name == "sse2.mul.sd" || in UpgradeIntrinsicCall()
2593 Name == "sse.div.ss" || Name == "sse2.div.sd")) { in UpgradeIntrinsicCall()
2600 if (Name.contains(".add.")) in UpgradeIntrinsicCall()
2602 else if (Name.contains(".sub.")) in UpgradeIntrinsicCall()
2604 else if (Name.contains(".mul.")) in UpgradeIntrinsicCall()
2610 } else if (IsX86 && Name.starts_with("avx512.mask.pcmp")) { in UpgradeIntrinsicCall()
2612 bool CmpEq = Name[16] == 'e'; in UpgradeIntrinsicCall()
2614 } else if (IsX86 && Name.starts_with("avx512.mask.vpshufbitqmb.")) { in UpgradeIntrinsicCall()
2628 } else if (IsX86 && Name.starts_with("avx512.mask.fpclass.p")) { in UpgradeIntrinsicCall()
2651 } else if (IsX86 && Name.starts_with("avx512.cmp.p")) { in UpgradeIntrinsicCall()
2679 } else if (IsX86 && Name.starts_with("avx512.mask.cmp.")) { in UpgradeIntrinsicCall()
2683 } else if (IsX86 && Name.starts_with("avx512.mask.ucmp.")) { in UpgradeIntrinsicCall()
2686 } else if (IsX86 && (Name.starts_with("avx512.cvtb2mask.") || in UpgradeIntrinsicCall()
2687 Name.starts_with("avx512.cvtw2mask.") || in UpgradeIntrinsicCall()
2688 Name.starts_with("avx512.cvtd2mask.") || in UpgradeIntrinsicCall()
2689 Name.starts_with("avx512.cvtq2mask."))) { in UpgradeIntrinsicCall()
2694 } else if(IsX86 && (Name == "ssse3.pabs.b.128" || in UpgradeIntrinsicCall()
2695 Name == "ssse3.pabs.w.128" || in UpgradeIntrinsicCall()
2696 Name == "ssse3.pabs.d.128" || in UpgradeIntrinsicCall()
2697 Name.starts_with("avx2.pabs") || in UpgradeIntrinsicCall()
2698 Name.starts_with("avx512.mask.pabs"))) { in UpgradeIntrinsicCall()
2700 } else if (IsX86 && (Name == "sse41.pmaxsb" || in UpgradeIntrinsicCall()
2701 Name == "sse2.pmaxs.w" || in UpgradeIntrinsicCall()
2702 Name == "sse41.pmaxsd" || in UpgradeIntrinsicCall()
2703 Name.starts_with("avx2.pmaxs") || in UpgradeIntrinsicCall()
2704 Name.starts_with("avx512.mask.pmaxs"))) { in UpgradeIntrinsicCall()
2706 } else if (IsX86 && (Name == "sse2.pmaxu.b" || in UpgradeIntrinsicCall()
2707 Name == "sse41.pmaxuw" || in UpgradeIntrinsicCall()
2708 Name == "sse41.pmaxud" || in UpgradeIntrinsicCall()
2709 Name.starts_with("avx2.pmaxu") || in UpgradeIntrinsicCall()
2710 Name.starts_with("avx512.mask.pmaxu"))) { in UpgradeIntrinsicCall()
2712 } else if (IsX86 && (Name == "sse41.pminsb" || in UpgradeIntrinsicCall()
2713 Name == "sse2.pmins.w" || in UpgradeIntrinsicCall()
2714 Name == "sse41.pminsd" || in UpgradeIntrinsicCall()
2715 Name.starts_with("avx2.pmins") || in UpgradeIntrinsicCall()
2716 Name.starts_with("avx512.mask.pmins"))) { in UpgradeIntrinsicCall()
2718 } else if (IsX86 && (Name == "sse2.pminu.b" || in UpgradeIntrinsicCall()
2719 Name == "sse41.pminuw" || in UpgradeIntrinsicCall()
2720 Name == "sse41.pminud" || in UpgradeIntrinsicCall()
2721 Name.starts_with("avx2.pminu") || in UpgradeIntrinsicCall()
2722 Name.starts_with("avx512.mask.pminu"))) { in UpgradeIntrinsicCall()
2724 } else if (IsX86 && (Name == "sse2.pmulu.dq" || in UpgradeIntrinsicCall()
2725 Name == "avx2.pmulu.dq" || in UpgradeIntrinsicCall()
2726 Name == "avx512.pmulu.dq.512" || in UpgradeIntrinsicCall()
2727 Name.starts_with("avx512.mask.pmulu.dq."))) { in UpgradeIntrinsicCall()
2729 } else if (IsX86 && (Name == "sse41.pmuldq" || in UpgradeIntrinsicCall()
2730 Name == "avx2.pmul.dq" || in UpgradeIntrinsicCall()
2731 Name == "avx512.pmul.dq.512" || in UpgradeIntrinsicCall()
2732 Name.starts_with("avx512.mask.pmul.dq."))) { in UpgradeIntrinsicCall()
2734 } else if (IsX86 && (Name == "sse.cvtsi2ss" || in UpgradeIntrinsicCall()
2735 Name == "sse2.cvtsi2sd" || in UpgradeIntrinsicCall()
2736 Name == "sse.cvtsi642ss" || in UpgradeIntrinsicCall()
2737 Name == "sse2.cvtsi642sd")) { in UpgradeIntrinsicCall()
2742 } else if (IsX86 && Name == "avx512.cvtusi2sd") { in UpgradeIntrinsicCall()
2747 } else if (IsX86 && Name == "sse2.cvtss2sd") { in UpgradeIntrinsicCall()
2752 } else if (IsX86 && (Name == "sse2.cvtdq2pd" || in UpgradeIntrinsicCall()
2753 Name == "sse2.cvtdq2ps" || in UpgradeIntrinsicCall()
2754 Name == "avx.cvtdq2.pd.256" || in UpgradeIntrinsicCall()
2755 Name == "avx.cvtdq2.ps.256" || in UpgradeIntrinsicCall()
2756 Name.starts_with("avx512.mask.cvtdq2pd.") || in UpgradeIntrinsicCall()
2757 Name.starts_with("avx512.mask.cvtudq2pd.") || in UpgradeIntrinsicCall()
2758 Name.starts_with("avx512.mask.cvtdq2ps.") || in UpgradeIntrinsicCall()
2759 Name.starts_with("avx512.mask.cvtudq2ps.") || in UpgradeIntrinsicCall()
2760 Name.starts_with("avx512.mask.cvtqq2pd.") || in UpgradeIntrinsicCall()
2761 Name.starts_with("avx512.mask.cvtuqq2pd.") || in UpgradeIntrinsicCall()
2762 Name == "avx512.mask.cvtqq2ps.256" || in UpgradeIntrinsicCall()
2763 Name == "avx512.mask.cvtqq2ps.512" || in UpgradeIntrinsicCall()
2764 Name == "avx512.mask.cvtuqq2ps.256" || in UpgradeIntrinsicCall()
2765 Name == "avx512.mask.cvtuqq2ps.512" || in UpgradeIntrinsicCall()
2766 Name == "sse2.cvtps2pd" || in UpgradeIntrinsicCall()
2767 Name == "avx.cvt.ps2.pd.256" || in UpgradeIntrinsicCall()
2768 Name == "avx512.mask.cvtps2pd.128" || in UpgradeIntrinsicCall()
2769 Name == "avx512.mask.cvtps2pd.256")) { in UpgradeIntrinsicCall()
2781 bool IsUnsigned = Name.contains("cvtu"); in UpgradeIntrinsicCall()
2800 } else if (IsX86 && (Name.starts_with("avx512.mask.vcvtph2ps.") || in UpgradeIntrinsicCall()
2801 Name.starts_with("vcvtph2ps."))) { in UpgradeIntrinsicCall()
2816 } else if (IsX86 && Name.starts_with("avx512.mask.load")) { in UpgradeIntrinsicCall()
2818 bool Aligned = Name[16] != 'u'; // "avx512.mask.loadu". in UpgradeIntrinsicCall()
2822 } else if (IsX86 && Name.starts_with("avx512.mask.expand.load.")) { in UpgradeIntrinsicCall()
2837 } else if (IsX86 && Name.starts_with("avx512.mask.compress.store.")) { in UpgradeIntrinsicCall()
2853 } else if (IsX86 && (Name.starts_with("avx512.mask.compress.") || in UpgradeIntrinsicCall()
2854 Name.starts_with("avx512.mask.expand."))) { in UpgradeIntrinsicCall()
2860 bool IsCompress = Name[12] == 'c'; in UpgradeIntrinsicCall()
2866 } else if (IsX86 && Name.starts_with("xop.vpcom")) { in UpgradeIntrinsicCall()
2868 if (Name.ends_with("ub") || Name.ends_with("uw") || Name.ends_with("ud") || in UpgradeIntrinsicCall()
2869 Name.ends_with("uq")) in UpgradeIntrinsicCall()
2871 else if (Name.ends_with("b") || Name.ends_with("w") || Name.ends_with("d") || in UpgradeIntrinsicCall()
2872 Name.ends_with("q")) in UpgradeIntrinsicCall()
2881 Name = Name.substr(9); // strip off "xop.vpcom" in UpgradeIntrinsicCall()
2882 if (Name.starts_with("lt")) in UpgradeIntrinsicCall()
2884 else if (Name.starts_with("le")) in UpgradeIntrinsicCall()
2886 else if (Name.starts_with("gt")) in UpgradeIntrinsicCall()
2888 else if (Name.starts_with("ge")) in UpgradeIntrinsicCall()
2890 else if (Name.starts_with("eq")) in UpgradeIntrinsicCall()
2892 else if (Name.starts_with("ne")) in UpgradeIntrinsicCall()
2894 else if (Name.starts_with("false")) in UpgradeIntrinsicCall()
2896 else if (Name.starts_with("true")) in UpgradeIntrinsicCall()
2903 } else if (IsX86 && Name.starts_with("xop.vpcmov")) { in UpgradeIntrinsicCall()
2909 } else if (IsX86 && (Name.starts_with("xop.vprot") || in UpgradeIntrinsicCall()
2910 Name.starts_with("avx512.prol") || in UpgradeIntrinsicCall()
2911 Name.starts_with("avx512.mask.prol"))) { in UpgradeIntrinsicCall()
2913 } else if (IsX86 && (Name.starts_with("avx512.pror") || in UpgradeIntrinsicCall()
2914 Name.starts_with("avx512.mask.pror"))) { in UpgradeIntrinsicCall()
2916 } else if (IsX86 && (Name.starts_with("avx512.vpshld.") || in UpgradeIntrinsicCall()
2917 Name.starts_with("avx512.mask.vpshld") || in UpgradeIntrinsicCall()
2918 Name.starts_with("avx512.maskz.vpshld"))) { in UpgradeIntrinsicCall()
2919 bool ZeroMask = Name[11] == 'z'; in UpgradeIntrinsicCall()
2921 } else if (IsX86 && (Name.starts_with("avx512.vpshrd.") || in UpgradeIntrinsicCall()
2922 Name.starts_with("avx512.mask.vpshrd") || in UpgradeIntrinsicCall()
2923 Name.starts_with("avx512.maskz.vpshrd"))) { in UpgradeIntrinsicCall()
2924 bool ZeroMask = Name[11] == 'z'; in UpgradeIntrinsicCall()
2926 } else if (IsX86 && Name == "sse42.crc32.64.8") { in UpgradeIntrinsicCall()
2932 } else if (IsX86 && (Name.starts_with("avx.vbroadcast.s") || in UpgradeIntrinsicCall()
2933 Name.starts_with("avx512.vbroadcast.s"))) { in UpgradeIntrinsicCall()
2944 } else if (IsX86 && (Name.starts_with("sse41.pmovsx") || in UpgradeIntrinsicCall()
2945 Name.starts_with("sse41.pmovzx") || in UpgradeIntrinsicCall()
2946 Name.starts_with("avx2.pmovsx") || in UpgradeIntrinsicCall()
2947 Name.starts_with("avx2.pmovzx") || in UpgradeIntrinsicCall()
2948 Name.starts_with("avx512.mask.pmovsx") || in UpgradeIntrinsicCall()
2949 Name.starts_with("avx512.mask.pmovzx"))) { in UpgradeIntrinsicCall()
2961 bool DoSext = Name.contains("pmovsx"); in UpgradeIntrinsicCall()
2968 } else if (Name == "avx512.mask.pmov.qd.256" || in UpgradeIntrinsicCall()
2969 Name == "avx512.mask.pmov.qd.512" || in UpgradeIntrinsicCall()
2970 Name == "avx512.mask.pmov.wb.256" || in UpgradeIntrinsicCall()
2971 Name == "avx512.mask.pmov.wb.512") { in UpgradeIntrinsicCall()
2976 } else if (IsX86 && (Name.starts_with("avx.vbroadcastf128") || in UpgradeIntrinsicCall()
2977 Name == "avx2.vbroadcasti128")) { in UpgradeIntrinsicCall()
2990 } else if (IsX86 && (Name.starts_with("avx512.mask.shuf.i") || in UpgradeIntrinsicCall()
2991 Name.starts_with("avx512.mask.shuf.f"))) { in UpgradeIntrinsicCall()
3012 }else if (IsX86 && (Name.starts_with("avx512.mask.broadcastf") || in UpgradeIntrinsicCall()
3013 Name.starts_with("avx512.mask.broadcasti"))) { in UpgradeIntrinsicCall()
3029 } else if (IsX86 && (Name.starts_with("avx2.pbroadcast") || in UpgradeIntrinsicCall()
3030 Name.starts_with("avx2.vbroadcast") || in UpgradeIntrinsicCall()
3031 Name.starts_with("avx512.pbroadcast") || in UpgradeIntrinsicCall()
3032 Name.starts_with("avx512.mask.broadcast.s"))) { in UpgradeIntrinsicCall()
3044 } else if (IsX86 && (Name.starts_with("sse2.padds.") || in UpgradeIntrinsicCall()
3045 Name.starts_with("avx2.padds.") || in UpgradeIntrinsicCall()
3046 Name.starts_with("avx512.padds.") || in UpgradeIntrinsicCall()
3047 Name.starts_with("avx512.mask.padds."))) { in UpgradeIntrinsicCall()
3049 } else if (IsX86 && (Name.starts_with("sse2.psubs.") || in UpgradeIntrinsicCall()
3050 Name.starts_with("avx2.psubs.") || in UpgradeIntrinsicCall()
3051 Name.starts_with("avx512.psubs.") || in UpgradeIntrinsicCall()
3052 Name.starts_with("avx512.mask.psubs."))) { in UpgradeIntrinsicCall()
3054 } else if (IsX86 && (Name.starts_with("sse2.paddus.") || in UpgradeIntrinsicCall()
3055 Name.starts_with("avx2.paddus.") || in UpgradeIntrinsicCall()
3056 Name.starts_with("avx512.mask.paddus."))) { in UpgradeIntrinsicCall()
3058 } else if (IsX86 && (Name.starts_with("sse2.psubus.") || in UpgradeIntrinsicCall()
3059 Name.starts_with("avx2.psubus.") || in UpgradeIntrinsicCall()
3060 Name.starts_with("avx512.mask.psubus."))) { in UpgradeIntrinsicCall()
3062 } else if (IsX86 && Name.starts_with("avx512.mask.palignr.")) { in UpgradeIntrinsicCall()
3067 } else if (IsX86 && Name.starts_with("avx512.mask.valign.")) { in UpgradeIntrinsicCall()
3072 } else if (IsX86 && (Name == "sse2.psll.dq" || in UpgradeIntrinsicCall()
3073 Name == "avx2.psll.dq")) { in UpgradeIntrinsicCall()
3078 } else if (IsX86 && (Name == "sse2.psrl.dq" || in UpgradeIntrinsicCall()
3079 Name == "avx2.psrl.dq")) { in UpgradeIntrinsicCall()
3084 } else if (IsX86 && (Name == "sse2.psll.dq.bs" || in UpgradeIntrinsicCall()
3085 Name == "avx2.psll.dq.bs" || in UpgradeIntrinsicCall()
3086 Name == "avx512.psll.dq.512")) { in UpgradeIntrinsicCall()
3090 } else if (IsX86 && (Name == "sse2.psrl.dq.bs" || in UpgradeIntrinsicCall()
3091 Name == "avx2.psrl.dq.bs" || in UpgradeIntrinsicCall()
3092 Name == "avx512.psrl.dq.512")) { in UpgradeIntrinsicCall()
3096 } else if (IsX86 && (Name == "sse41.pblendw" || in UpgradeIntrinsicCall()
3097 Name.starts_with("sse41.blendp") || in UpgradeIntrinsicCall()
3098 Name.starts_with("avx.blend.p") || in UpgradeIntrinsicCall()
3099 Name == "avx2.pblendw" || in UpgradeIntrinsicCall()
3100 Name.starts_with("avx2.pblendd."))) { in UpgradeIntrinsicCall()
3112 } else if (IsX86 && (Name.starts_with("avx.vinsertf128.") || in UpgradeIntrinsicCall()
3113 Name == "avx2.vinserti128" || in UpgradeIntrinsicCall()
3114 Name.starts_with("avx512.mask.insert"))) { in UpgradeIntrinsicCall()
3158 } else if (IsX86 && (Name.starts_with("avx.vextractf128.") || in UpgradeIntrinsicCall()
3159 Name == "avx2.vextracti128" || in UpgradeIntrinsicCall()
3160 Name.starts_with("avx512.mask.vextract"))) { in UpgradeIntrinsicCall()
3183 } else if (!IsX86 && Name == "stackprotectorcheck") { in UpgradeIntrinsicCall()
3185 } else if (IsX86 && (Name.starts_with("avx512.mask.perm.df.") || in UpgradeIntrinsicCall()
3186 Name.starts_with("avx512.mask.perm.di."))) { in UpgradeIntrinsicCall()
3201 } else if (IsX86 && (Name.starts_with("avx.vperm2f128.") || in UpgradeIntrinsicCall()
3202 Name == "avx2.vperm2i128")) { in UpgradeIntrinsicCall()
3237 } else if (IsX86 && (Name.starts_with("avx.vpermil.") || in UpgradeIntrinsicCall()
3238 Name == "sse2.pshuf.d" || in UpgradeIntrinsicCall()
3239 Name.starts_with("avx512.mask.vpermil.p") || in UpgradeIntrinsicCall()
3240 Name.starts_with("avx512.mask.pshuf.d."))) { in UpgradeIntrinsicCall()
3261 } else if (IsX86 && (Name == "sse2.pshufl.w" || in UpgradeIntrinsicCall()
3262 Name.starts_with("avx512.mask.pshufl.w."))) { in UpgradeIntrinsicCall()
3280 } else if (IsX86 && (Name == "sse2.pshufh.w" || in UpgradeIntrinsicCall()
3281 Name.starts_with("avx512.mask.pshufh.w."))) { in UpgradeIntrinsicCall()
3299 } else if (IsX86 && Name.starts_with("avx512.mask.shuf.p")) { in UpgradeIntrinsicCall()
3324 } else if (IsX86 && (Name.starts_with("avx512.mask.movddup") || in UpgradeIntrinsicCall()
3325 Name.starts_with("avx512.mask.movshdup") || in UpgradeIntrinsicCall()
3326 Name.starts_with("avx512.mask.movsldup"))) { in UpgradeIntrinsicCall()
3332 if (Name.starts_with("avx512.mask.movshdup.")) in UpgradeIntrinsicCall()
3346 } else if (IsX86 && (Name.starts_with("avx512.mask.punpckl") || in UpgradeIntrinsicCall()
3347 Name.starts_with("avx512.mask.unpckl."))) { in UpgradeIntrinsicCall()
3362 } else if (IsX86 && (Name.starts_with("avx512.mask.punpckh") || in UpgradeIntrinsicCall()
3363 Name.starts_with("avx512.mask.unpckh."))) { in UpgradeIntrinsicCall()
3378 } else if (IsX86 && (Name.starts_with("avx512.mask.and.") || in UpgradeIntrinsicCall()
3379 Name.starts_with("avx512.mask.pand."))) { in UpgradeIntrinsicCall()
3387 } else if (IsX86 && (Name.starts_with("avx512.mask.andn.") || in UpgradeIntrinsicCall()
3388 Name.starts_with("avx512.mask.pandn."))) { in UpgradeIntrinsicCall()
3397 } else if (IsX86 && (Name.starts_with("avx512.mask.or.") || in UpgradeIntrinsicCall()
3398 Name.starts_with("avx512.mask.por."))) { in UpgradeIntrinsicCall()
3406 } else if (IsX86 && (Name.starts_with("avx512.mask.xor.") || in UpgradeIntrinsicCall()
3407 Name.starts_with("avx512.mask.pxor."))) { in UpgradeIntrinsicCall()
3415 } else if (IsX86 && Name.starts_with("avx512.mask.padd.")) { in UpgradeIntrinsicCall()
3419 } else if (IsX86 && Name.starts_with("avx512.mask.psub.")) { in UpgradeIntrinsicCall()
3423 } else if (IsX86 && Name.starts_with("avx512.mask.pmull.")) { in UpgradeIntrinsicCall()
3427 } else if (IsX86 && Name.starts_with("avx512.mask.add.p")) { in UpgradeIntrinsicCall()
3428 if (Name.ends_with(".512")) { in UpgradeIntrinsicCall()
3430 if (Name[17] == 's') in UpgradeIntrinsicCall()
3443 } else if (IsX86 && Name.starts_with("avx512.mask.div.p")) { in UpgradeIntrinsicCall()
3444 if (Name.ends_with(".512")) { in UpgradeIntrinsicCall()
3446 if (Name[17] == 's') in UpgradeIntrinsicCall()
3459 } else if (IsX86 && Name.starts_with("avx512.mask.mul.p")) { in UpgradeIntrinsicCall()
3460 if (Name.ends_with(".512")) { in UpgradeIntrinsicCall()
3462 if (Name[17] == 's') in UpgradeIntrinsicCall()
3475 } else if (IsX86 && Name.starts_with("avx512.mask.sub.p")) { in UpgradeIntrinsicCall()
3476 if (Name.ends_with(".512")) { in UpgradeIntrinsicCall()
3478 if (Name[17] == 's') in UpgradeIntrinsicCall()
3491 } else if (IsX86 && (Name.starts_with("avx512.mask.max.p") || in UpgradeIntrinsicCall()
3492 Name.starts_with("avx512.mask.min.p")) && in UpgradeIntrinsicCall()
3493 Name.drop_front(18) == ".512") { in UpgradeIntrinsicCall()
3494 bool IsDouble = Name[17] == 'd'; in UpgradeIntrinsicCall()
3495 bool IsMin = Name[13] == 'i'; in UpgradeIntrinsicCall()
3507 } else if (IsX86 && Name.starts_with("avx512.mask.lzcnt.")) { in UpgradeIntrinsicCall()
3514 } else if (IsX86 && Name.starts_with("avx512.mask.psll")) { in UpgradeIntrinsicCall()
3515 bool IsImmediate = Name[16] == 'i' || in UpgradeIntrinsicCall()
3516 (Name.size() > 18 && Name[18] == 'i'); in UpgradeIntrinsicCall()
3517 bool IsVariable = Name[16] == 'v'; in UpgradeIntrinsicCall()
3518 char Size = Name[16] == '.' ? Name[17] : in UpgradeIntrinsicCall()
3519 Name[17] == '.' ? Name[18] : in UpgradeIntrinsicCall()
3520 Name[18] == '.' ? Name[19] : in UpgradeIntrinsicCall()
3521 Name[20]; in UpgradeIntrinsicCall()
3524 if (IsVariable && Name[17] != '.') { in UpgradeIntrinsicCall()
3525 if (Size == 'd' && Name[17] == '2') // avx512.mask.psllv2.di in UpgradeIntrinsicCall()
3527 else if (Size == 'd' && Name[17] == '4') // avx512.mask.psllv4.di in UpgradeIntrinsicCall()
3529 else if (Size == 's' && Name[17] == '4') // avx512.mask.psllv4.si in UpgradeIntrinsicCall()
3531 else if (Size == 's' && Name[17] == '8') // avx512.mask.psllv8.si in UpgradeIntrinsicCall()
3533 else if (Size == 'h' && Name[17] == '8') // avx512.mask.psllv8.hi in UpgradeIntrinsicCall()
3535 else if (Size == 'h' && Name[17] == '1') // avx512.mask.psllv16.hi in UpgradeIntrinsicCall()
3537 else if (Name[17] == '3' && Name[18] == '2') // avx512.mask.psllv32hi in UpgradeIntrinsicCall()
3541 } else if (Name.ends_with(".128")) { in UpgradeIntrinsicCall()
3553 } else if (Name.ends_with(".256")) { in UpgradeIntrinsicCall()
3582 } else if (IsX86 && Name.starts_with("avx512.mask.psrl")) { in UpgradeIntrinsicCall()
3583 bool IsImmediate = Name[16] == 'i' || in UpgradeIntrinsicCall()
3584 (Name.size() > 18 && Name[18] == 'i'); in UpgradeIntrinsicCall()
3585 bool IsVariable = Name[16] == 'v'; in UpgradeIntrinsicCall()
3586 char Size = Name[16] == '.' ? Name[17] : in UpgradeIntrinsicCall()
3587 Name[17] == '.' ? Name[18] : in UpgradeIntrinsicCall()
3588 Name[18] == '.' ? Name[19] : in UpgradeIntrinsicCall()
3589 Name[20]; in UpgradeIntrinsicCall()
3592 if (IsVariable && Name[17] != '.') { in UpgradeIntrinsicCall()
3593 if (Size == 'd' && Name[17] == '2') // avx512.mask.psrlv2.di in UpgradeIntrinsicCall()
3595 else if (Size == 'd' && Name[17] == '4') // avx512.mask.psrlv4.di in UpgradeIntrinsicCall()
3597 else if (Size == 's' && Name[17] == '4') // avx512.mask.psrlv4.si in UpgradeIntrinsicCall()
3599 else if (Size == 's' && Name[17] == '8') // avx512.mask.psrlv8.si in UpgradeIntrinsicCall()
3601 else if (Size == 'h' && Name[17] == '8') // avx512.mask.psrlv8.hi in UpgradeIntrinsicCall()
3603 else if (Size == 'h' && Name[17] == '1') // avx512.mask.psrlv16.hi in UpgradeIntrinsicCall()
3605 else if (Name[17] == '3' && Name[18] == '2') // avx512.mask.psrlv32hi in UpgradeIntrinsicCall()
3609 } else if (Name.ends_with(".128")) { in UpgradeIntrinsicCall()
3621 } else if (Name.ends_with(".256")) { in UpgradeIntrinsicCall()
3650 } else if (IsX86 && Name.starts_with("avx512.mask.psra")) { in UpgradeIntrinsicCall()
3651 bool IsImmediate = Name[16] == 'i' || in UpgradeIntrinsicCall()
3652 (Name.size() > 18 && Name[18] == 'i'); in UpgradeIntrinsicCall()
3653 bool IsVariable = Name[16] == 'v'; in UpgradeIntrinsicCall()
3654 char Size = Name[16] == '.' ? Name[17] : in UpgradeIntrinsicCall()
3655 Name[17] == '.' ? Name[18] : in UpgradeIntrinsicCall()
3656 Name[18] == '.' ? Name[19] : in UpgradeIntrinsicCall()
3657 Name[20]; in UpgradeIntrinsicCall()
3660 if (IsVariable && Name[17] != '.') { in UpgradeIntrinsicCall()
3661 if (Size == 's' && Name[17] == '4') // avx512.mask.psrav4.si in UpgradeIntrinsicCall()
3663 else if (Size == 's' && Name[17] == '8') // avx512.mask.psrav8.si in UpgradeIntrinsicCall()
3665 else if (Size == 'h' && Name[17] == '8') // avx512.mask.psrav8.hi in UpgradeIntrinsicCall()
3667 else if (Size == 'h' && Name[17] == '1') // avx512.mask.psrav16.hi in UpgradeIntrinsicCall()
3669 else if (Name[17] == '3' && Name[18] == '2') // avx512.mask.psrav32hi in UpgradeIntrinsicCall()
3673 } else if (Name.ends_with(".128")) { in UpgradeIntrinsicCall()
3686 } else if (Name.ends_with(".256")) { in UpgradeIntrinsicCall()
3716 } else if (IsX86 && Name.starts_with("avx512.mask.move.s")) { in UpgradeIntrinsicCall()
3718 } else if (IsX86 && Name.starts_with("avx512.cvtmask2")) { in UpgradeIntrinsicCall()
3720 } else if (IsX86 && Name.ends_with(".movntdqa")) { in UpgradeIntrinsicCall()
3734 } else if (IsX86 && (Name.starts_with("fma.vfmadd.") || in UpgradeIntrinsicCall()
3735 Name.starts_with("fma.vfmsub.") || in UpgradeIntrinsicCall()
3736 Name.starts_with("fma.vfnmadd.") || in UpgradeIntrinsicCall()
3737 Name.starts_with("fma.vfnmsub."))) { in UpgradeIntrinsicCall()
3738 bool NegMul = Name[6] == 'n'; in UpgradeIntrinsicCall()
3739 bool NegAcc = NegMul ? Name[8] == 's' : Name[7] == 's'; in UpgradeIntrinsicCall()
3740 bool IsScalar = NegMul ? Name[12] == 's' : Name[11] == 's'; in UpgradeIntrinsicCall()
3766 } else if (IsX86 && Name.starts_with("fma4.vfmadd.s")) { in UpgradeIntrinsicCall()
3781 } else if (IsX86 && (Name.starts_with("avx512.mask.vfmadd.s") || in UpgradeIntrinsicCall()
3782 Name.starts_with("avx512.maskz.vfmadd.s") || in UpgradeIntrinsicCall()
3783 Name.starts_with("avx512.mask3.vfmadd.s") || in UpgradeIntrinsicCall()
3784 Name.starts_with("avx512.mask3.vfmsub.s") || in UpgradeIntrinsicCall()
3785 Name.starts_with("avx512.mask3.vfnmsub.s"))) { in UpgradeIntrinsicCall()
3786 bool IsMask3 = Name[11] == '3'; in UpgradeIntrinsicCall()
3787 bool IsMaskZ = Name[11] == 'z'; in UpgradeIntrinsicCall()
3789 Name = Name.drop_front(IsMask3 || IsMaskZ ? 13 : 12); in UpgradeIntrinsicCall()
3790 bool NegMul = Name[2] == 'n'; in UpgradeIntrinsicCall()
3791 bool NegAcc = NegMul ? Name[4] == 's' : Name[3] == 's'; in UpgradeIntrinsicCall()
3813 if (Name.back() == 'd') in UpgradeIntrinsicCall()
3838 } else if (IsX86 && (Name.starts_with("avx512.mask.vfmadd.p") || in UpgradeIntrinsicCall()
3839 Name.starts_with("avx512.mask.vfnmadd.p") || in UpgradeIntrinsicCall()
3840 Name.starts_with("avx512.mask.vfnmsub.p") || in UpgradeIntrinsicCall()
3841 Name.starts_with("avx512.mask3.vfmadd.p") || in UpgradeIntrinsicCall()
3842 Name.starts_with("avx512.mask3.vfmsub.p") || in UpgradeIntrinsicCall()
3843 Name.starts_with("avx512.mask3.vfnmsub.p") || in UpgradeIntrinsicCall()
3844 Name.starts_with("avx512.maskz.vfmadd.p"))) { in UpgradeIntrinsicCall()
3845 bool IsMask3 = Name[11] == '3'; in UpgradeIntrinsicCall()
3846 bool IsMaskZ = Name[11] == 'z'; in UpgradeIntrinsicCall()
3848 Name = Name.drop_front(IsMask3 || IsMaskZ ? 13 : 12); in UpgradeIntrinsicCall()
3849 bool NegMul = Name[2] == 'n'; in UpgradeIntrinsicCall()
3850 bool NegAcc = NegMul ? Name[4] == 's' : Name[3] == 's'; in UpgradeIntrinsicCall()
3868 if (Name[Name.size()-5] == 's') in UpgradeIntrinsicCall()
3887 } else if (IsX86 && Name.starts_with("fma.vfmsubadd.p")) { in UpgradeIntrinsicCall()
3907 } else if (IsX86 && (Name.starts_with("avx512.mask.vfmaddsub.p") || in UpgradeIntrinsicCall()
3908 Name.starts_with("avx512.mask3.vfmaddsub.p") || in UpgradeIntrinsicCall()
3909 Name.starts_with("avx512.maskz.vfmaddsub.p") || in UpgradeIntrinsicCall()
3910 Name.starts_with("avx512.mask3.vfmsubadd.p"))) { in UpgradeIntrinsicCall()
3911 bool IsMask3 = Name[11] == '3'; in UpgradeIntrinsicCall()
3912 bool IsMaskZ = Name[11] == 'z'; in UpgradeIntrinsicCall()
3914 Name = Name.drop_front(IsMask3 || IsMaskZ ? 13 : 12); in UpgradeIntrinsicCall()
3915 bool IsSubAdd = Name[3] == 's'; in UpgradeIntrinsicCall()
3919 if (Name[Name.size()-5] == 's') in UpgradeIntrinsicCall()
3958 } else if (IsX86 && (Name.starts_with("avx512.mask.pternlog.") || in UpgradeIntrinsicCall()
3959 Name.starts_with("avx512.maskz.pternlog."))) { in UpgradeIntrinsicCall()
3960 bool ZeroMask = Name[11] == 'z'; in UpgradeIntrinsicCall()
3986 } else if (IsX86 && (Name.starts_with("avx512.mask.vpmadd52") || in UpgradeIntrinsicCall()
3987 Name.starts_with("avx512.maskz.vpmadd52"))) { in UpgradeIntrinsicCall()
3988 bool ZeroMask = Name[11] == 'z'; in UpgradeIntrinsicCall()
3989 bool High = Name[20] == 'h' || Name[21] == 'h'; in UpgradeIntrinsicCall()
4014 } else if (IsX86 && (Name.starts_with("avx512.mask.vpermi2var.") || in UpgradeIntrinsicCall()
4015 Name.starts_with("avx512.mask.vpermt2var.") || in UpgradeIntrinsicCall()
4016 Name.starts_with("avx512.maskz.vpermt2var."))) { in UpgradeIntrinsicCall()
4017 bool ZeroMask = Name[11] == 'z'; in UpgradeIntrinsicCall()
4018 bool IndexForm = Name[17] == 'i'; in UpgradeIntrinsicCall()
4020 } else if (IsX86 && (Name.starts_with("avx512.mask.vpdpbusd.") || in UpgradeIntrinsicCall()
4021 Name.starts_with("avx512.maskz.vpdpbusd.") || in UpgradeIntrinsicCall()
4022 Name.starts_with("avx512.mask.vpdpbusds.") || in UpgradeIntrinsicCall()
4023 Name.starts_with("avx512.maskz.vpdpbusds."))) { in UpgradeIntrinsicCall()
4024 bool ZeroMask = Name[11] == 'z'; in UpgradeIntrinsicCall()
4025 bool IsSaturating = Name[ZeroMask ? 21 : 20] == 's'; in UpgradeIntrinsicCall()
4050 } else if (IsX86 && (Name.starts_with("avx512.mask.vpdpwssd.") || in UpgradeIntrinsicCall()
4051 Name.starts_with("avx512.maskz.vpdpwssd.") || in UpgradeIntrinsicCall()
4052 Name.starts_with("avx512.mask.vpdpwssds.") || in UpgradeIntrinsicCall()
4053 Name.starts_with("avx512.maskz.vpdpwssds."))) { in UpgradeIntrinsicCall()
4054 bool ZeroMask = Name[11] == 'z'; in UpgradeIntrinsicCall()
4055 bool IsSaturating = Name[ZeroMask ? 21 : 20] == 's'; in UpgradeIntrinsicCall()
4080 } else if (IsX86 && (Name == "addcarryx.u32" || Name == "addcarryx.u64" || in UpgradeIntrinsicCall()
4081 Name == "addcarry.u32" || Name == "addcarry.u64" || in UpgradeIntrinsicCall()
4082 Name == "subborrow.u32" || Name == "subborrow.u64")) { in UpgradeIntrinsicCall()
4084 if (Name[0] == 'a' && Name.back() == '2') in UpgradeIntrinsicCall()
4086 else if (Name[0] == 'a' && Name.back() == '4') in UpgradeIntrinsicCall()
4088 else if (Name[0] == 's' && Name.back() == '2') in UpgradeIntrinsicCall()
4090 else if (Name[0] == 's' && Name.back() == '4') in UpgradeIntrinsicCall()
4113 } else if (IsX86 && Name.starts_with("avx512.mask.") && in UpgradeIntrinsicCall()
4114 upgradeAVX512MaskToSelect(Name, Builder, *CI, Rep)) { in UpgradeIntrinsicCall()
4116 } else if (IsNVVM && (Name == "abs.i" || Name == "abs.ll")) { in UpgradeIntrinsicCall()
4122 } else if (IsNVVM && (Name.starts_with("atomic.load.add.f32.p") || in UpgradeIntrinsicCall()
4123 Name.starts_with("atomic.load.add.f64.p"))) { in UpgradeIntrinsicCall()
4128 } else if (IsNVVM && Name.consume_front("max.") && in UpgradeIntrinsicCall()
4129 (Name == "s" || Name == "i" || Name == "ll" || Name == "us" || in UpgradeIntrinsicCall()
4130 Name == "ui" || Name == "ull")) { in UpgradeIntrinsicCall()
4133 Value *Cmp = Name.starts_with("u") in UpgradeIntrinsicCall()
4137 } else if (IsNVVM && Name.consume_front("min.") && in UpgradeIntrinsicCall()
4138 (Name == "s" || Name == "i" || Name == "ll" || Name == "us" || in UpgradeIntrinsicCall()
4139 Name == "ui" || Name == "ull")) { in UpgradeIntrinsicCall()
4142 Value *Cmp = Name.starts_with("u") in UpgradeIntrinsicCall()
4146 } else if (IsNVVM && Name == "clz.ll") { in UpgradeIntrinsicCall()
4154 } else if (IsNVVM && Name == "popc.ll") { in UpgradeIntrinsicCall()
4164 if (Name == "h2f") { in UpgradeIntrinsicCall()
4171 Intrinsic::ID IID = shouldUpgradeNVPTXBF16Intrinsic(Name); in UpgradeIntrinsicCall()
4192 Rep = upgradeARMIntrinsicCall(Name, CI, F, Builder); in UpgradeIntrinsicCall()
4194 Rep = upgradeAMDGCNIntrinsicCall(Name, CI, F, Builder); in UpgradeIntrinsicCall()
4271 StringRef Name = F->getName(); in UpgradeIntrinsicCall() local
4272 Name = Name.substr(5); in UpgradeIntrinsicCall()
4273 unsigned N = StringSwitch<unsigned>(Name) in UpgradeIntrinsicCall()
4301 StringRef Name = F->getName(); in UpgradeIntrinsicCall() local
4302 Name = Name.substr(5); // Strip llvm in UpgradeIntrinsicCall()
4303 if (!Name.starts_with("aarch64.sve.tuple.get")) { in UpgradeIntrinsicCall()
4317 StringRef Name = F->getName(); in UpgradeIntrinsicCall() local
4318 Name = Name.substr(5); in UpgradeIntrinsicCall()
4319 if (!Name.starts_with("aarch64.sve.tuple")) { in UpgradeIntrinsicCall()
4323 if (Name.starts_with("aarch64.sve.tuple.set")) { in UpgradeIntrinsicCall()
4333 if (Name.starts_with("aarch64.sve.tuple.create")) { in UpgradeIntrinsicCall()
4334 unsigned N = StringSwitch<unsigned>(Name) in UpgradeIntrinsicCall()
4409 StringRef Name = F->getName(); in UpgradeIntrinsicCall() local
4410 Name = Name.substr(5); // Strip llvm. in UpgradeIntrinsicCall()
4412 if (Name.starts_with("dbg.addr")) { in UpgradeIntrinsicCall()