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()
651 StringSwitch<Intrinsic::ID>(Name) in upgradeArmOrAarch64IntrinsicFunction()
672 if (Name.consume_front("bfm")) { in upgradeArmOrAarch64IntrinsicFunction()
674 if (Name.consume_back(".v4f32.v16i8")) { in upgradeArmOrAarch64IntrinsicFunction()
677 StringSwitch<Intrinsic::ID>(Name) in upgradeArmOrAarch64IntrinsicFunction()
704 Intrinsic::ID ID = StringSwitch<Intrinsic::ID>(Name) in upgradeArmOrAarch64IntrinsicFunction()
718 if (Name.consume_front("vst")) { in upgradeArmOrAarch64IntrinsicFunction()
722 if (vstRegex.match(Name, &Groups)) { in upgradeArmOrAarch64IntrinsicFunction()
747 if (Name.consume_front("mve.")) { in upgradeArmOrAarch64IntrinsicFunction()
749 if (Name == "vctp64") { in upgradeArmOrAarch64IntrinsicFunction()
760 if (Name.consume_back(".v4i1")) { in upgradeArmOrAarch64IntrinsicFunction()
762 if (Name.consume_back(".predicated.v2i64.v4i32")) in upgradeArmOrAarch64IntrinsicFunction()
764 return Name == "mull.int" || Name == "vqdmull"; in upgradeArmOrAarch64IntrinsicFunction()
766 if (Name.consume_back(".v2i64")) { in upgradeArmOrAarch64IntrinsicFunction()
768 bool IsGather = Name.consume_front("vldr.gather."); in upgradeArmOrAarch64IntrinsicFunction()
769 if (IsGather || Name.consume_front("vstr.scatter.")) { in upgradeArmOrAarch64IntrinsicFunction()
770 if (Name.consume_front("base.")) { in upgradeArmOrAarch64IntrinsicFunction()
772 Name.consume_front("wb."); in upgradeArmOrAarch64IntrinsicFunction()
775 return Name == "predicated.v2i64"; in upgradeArmOrAarch64IntrinsicFunction()
778 if (Name.consume_front("offset.predicated.")) in upgradeArmOrAarch64IntrinsicFunction()
779 return Name == (IsGather ? "v2i64.p0i64" : "p0i64.v2i64") || in upgradeArmOrAarch64IntrinsicFunction()
780 Name == (IsGather ? "v2i64.p0" : "p0.v2i64"); in upgradeArmOrAarch64IntrinsicFunction()
793 if (Name.consume_front("cde.vcx")) { in upgradeArmOrAarch64IntrinsicFunction()
795 if (Name.consume_back(".predicated.v2i64.v4i1")) in upgradeArmOrAarch64IntrinsicFunction()
797 return Name == "1q" || Name == "1qa" || Name == "2q" || Name == "2qa" || in upgradeArmOrAarch64IntrinsicFunction()
798 Name == "3q" || Name == "3qa"; in upgradeArmOrAarch64IntrinsicFunction()
806 Intrinsic::ID ID = StringSwitch<Intrinsic::ID>(Name) in upgradeArmOrAarch64IntrinsicFunction()
816 if (Name.starts_with("addp")) { in upgradeArmOrAarch64IntrinsicFunction()
829 if (Name.consume_front("sve.")) { in upgradeArmOrAarch64IntrinsicFunction()
831 if (Name.consume_front("bf")) { in upgradeArmOrAarch64IntrinsicFunction()
832 if (Name.consume_back(".lane")) { in upgradeArmOrAarch64IntrinsicFunction()
835 StringSwitch<Intrinsic::ID>(Name) in upgradeArmOrAarch64IntrinsicFunction()
849 if (Name.consume_front("addqv")) { in upgradeArmOrAarch64IntrinsicFunction()
861 if (Name.consume_front("ld")) { in upgradeArmOrAarch64IntrinsicFunction()
864 if (LdRegex.match(Name)) { in upgradeArmOrAarch64IntrinsicFunction()
876 LoadIDs[Name[0] - '2'], Ty); in upgradeArmOrAarch64IntrinsicFunction()
882 if (Name.consume_front("tuple.")) { in upgradeArmOrAarch64IntrinsicFunction()
884 if (Name.starts_with("get")) { in upgradeArmOrAarch64IntrinsicFunction()
892 if (Name.starts_with("set")) { in upgradeArmOrAarch64IntrinsicFunction()
902 if (CreateTupleRegex.match(Name)) { in upgradeArmOrAarch64IntrinsicFunction()
918 static Intrinsic::ID shouldUpgradeNVPTXBF16Intrinsic(StringRef Name) { in shouldUpgradeNVPTXBF16Intrinsic() argument
919 if (Name.consume_front("abs.")) in shouldUpgradeNVPTXBF16Intrinsic()
920 return StringSwitch<Intrinsic::ID>(Name) in shouldUpgradeNVPTXBF16Intrinsic()
925 if (Name.consume_front("fma.rn.")) in shouldUpgradeNVPTXBF16Intrinsic()
926 return StringSwitch<Intrinsic::ID>(Name) in shouldUpgradeNVPTXBF16Intrinsic()
941 if (Name.consume_front("fmax.")) in shouldUpgradeNVPTXBF16Intrinsic()
942 return StringSwitch<Intrinsic::ID>(Name) in shouldUpgradeNVPTXBF16Intrinsic()
965 if (Name.consume_front("fmin.")) in shouldUpgradeNVPTXBF16Intrinsic()
966 return StringSwitch<Intrinsic::ID>(Name) in shouldUpgradeNVPTXBF16Intrinsic()
989 if (Name.consume_front("neg.")) in shouldUpgradeNVPTXBF16Intrinsic()
990 return StringSwitch<Intrinsic::ID>(Name) in shouldUpgradeNVPTXBF16Intrinsic()
1002 StringRef Name = F->getName(); in upgradeIntrinsicFunction1() local
1005 if (!Name.consume_front("llvm.") || Name.empty()) in upgradeIntrinsicFunction1()
1008 switch (Name[0]) { in upgradeIntrinsicFunction1()
1011 bool IsArm = Name.consume_front("arm."); in upgradeIntrinsicFunction1()
1012 if (IsArm || Name.consume_front("aarch64.")) { in upgradeIntrinsicFunction1()
1013 if (upgradeArmOrAarch64IntrinsicFunction(IsArm, F, Name, NewFn)) in upgradeIntrinsicFunction1()
1018 if (Name.consume_front("amdgcn.")) { in upgradeIntrinsicFunction1()
1019 if (Name == "alignbit") { in upgradeIntrinsicFunction1()
1026 if (Name.consume_front("atomic.")) { in upgradeIntrinsicFunction1()
1027 if (Name.starts_with("inc") || Name.starts_with("dec")) { in upgradeIntrinsicFunction1()
1036 if (Name.starts_with("ds.fadd") || Name.starts_with("ds.fmin") || in upgradeIntrinsicFunction1()
1037 Name.starts_with("ds.fmax")) { in upgradeIntrinsicFunction1()
1044 if (Name.starts_with("ldexp.")) { in upgradeIntrinsicFunction1()
1058 Intrinsic::ID ID = StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1070 if (F->arg_size() == 2 && Name == "coro.end") { in upgradeIntrinsicFunction1()
1079 if (Name.consume_front("dbg.")) { in upgradeIntrinsicFunction1()
1083 if (Name == "addr" || Name == "value" || Name == "assign" || in upgradeIntrinsicFunction1()
1084 Name == "declare" || Name == "label") { in upgradeIntrinsicFunction1()
1093 if (Name == "addr" || (Name == "value" && F->arg_size() == 4)) { in upgradeIntrinsicFunction1()
1102 if (Name.consume_front("experimental.vector.")) { in upgradeIntrinsicFunction1()
1104 StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1129 if (Name.consume_front("reduce.")) { in upgradeIntrinsicFunction1()
1132 if (R.match(Name, &Groups)) in upgradeIntrinsicFunction1()
1152 if (R2.match(Name, &Groups)) in upgradeIntrinsicFunction1()
1171 if (Name.starts_with("flt.rounds")) { in upgradeIntrinsicFunction1()
1178 if (Name.starts_with("invariant.group.barrier")) { in upgradeIntrinsicFunction1()
1192 if (unsigned ID = StringSwitch<unsigned>(Name) in upgradeIntrinsicFunction1()
1205 if (Name.starts_with("memset.") && F->arg_size() == 5) { in upgradeIntrinsicFunction1()
1220 if (Name.consume_front("nvvm.")) { in upgradeIntrinsicFunction1()
1224 StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1238 Intrinsic::ID IID = shouldUpgradeNVPTXBF16Intrinsic(Name); in upgradeIntrinsicFunction1()
1250 if (Name.consume_front("abs.")) in upgradeIntrinsicFunction1()
1252 Expand = Name == "i" || Name == "ll"; in upgradeIntrinsicFunction1()
1253 else if (Name == "clz.ll" || Name == "popc.ll" || Name == "h2f") in upgradeIntrinsicFunction1()
1255 else if (Name.consume_front("max.") || Name.consume_front("min.")) in upgradeIntrinsicFunction1()
1257 Expand = Name == "s" || Name == "i" || Name == "ll" || Name == "us" || in upgradeIntrinsicFunction1()
1258 Name == "ui" || Name == "ull"; in upgradeIntrinsicFunction1()
1259 else if (Name.consume_front("atomic.load.add.")) in upgradeIntrinsicFunction1()
1261 Expand = Name.starts_with("f32.p") || Name.starts_with("f64.p"); in upgradeIntrinsicFunction1()
1276 if (Name.starts_with("objectsize.")) { in upgradeIntrinsicFunction1()
1290 if (Name.starts_with("ptr.annotation.") && F->arg_size() == 4) { in upgradeIntrinsicFunction1()
1300 if (Name.consume_front("riscv.")) { in upgradeIntrinsicFunction1()
1302 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1317 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1331 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1352 if (Name == "stackprotectorcheck") { in upgradeIntrinsicFunction1()
1359 if (Name == "var.annotation" && F->arg_size() == 4) { in upgradeIntrinsicFunction1()
1370 if (Name.consume_front("wasm.")) { in upgradeIntrinsicFunction1()
1372 StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1384 if (Name.consume_front("dot.i8x16.i7x16.")) { in upgradeIntrinsicFunction1()
1385 ID = StringSwitch<Intrinsic::ID>(Name) in upgradeIntrinsicFunction1()
1402 if (upgradeX86IntrinsicFunction(F, Name, NewFn)) in upgradeIntrinsicFunction1()
1419 std::string Name = F->getName().str(); in upgradeIntrinsicFunction1() local
1422 Name, F->getParent()); in upgradeIntrinsicFunction1()
1999 static bool upgradeAVX512MaskToSelect(StringRef Name, IRBuilder<> &Builder, in upgradeAVX512MaskToSelect() argument
2001 Name = Name.substr(12); // Remove avx512.mask. in upgradeAVX512MaskToSelect()
2006 if (Name.starts_with("max.p")) { in upgradeAVX512MaskToSelect()
2017 } else if (Name.starts_with("min.p")) { in upgradeAVX512MaskToSelect()
2028 } else if (Name.starts_with("pshuf.b.")) { in upgradeAVX512MaskToSelect()
2037 } else if (Name.starts_with("pmul.hr.sw.")) { in upgradeAVX512MaskToSelect()
2046 } else if (Name.starts_with("pmulh.w.")) { in upgradeAVX512MaskToSelect()
2055 } else if (Name.starts_with("pmulhu.w.")) { in upgradeAVX512MaskToSelect()
2064 } else if (Name.starts_with("pmaddw.d.")) { in upgradeAVX512MaskToSelect()
2073 } else if (Name.starts_with("pmaddubs.w.")) { in upgradeAVX512MaskToSelect()
2082 } else if (Name.starts_with("packsswb.")) { in upgradeAVX512MaskToSelect()
2091 } else if (Name.starts_with("packssdw.")) { in upgradeAVX512MaskToSelect()
2100 } else if (Name.starts_with("packuswb.")) { in upgradeAVX512MaskToSelect()
2109 } else if (Name.starts_with("packusdw.")) { in upgradeAVX512MaskToSelect()
2118 } else if (Name.starts_with("vpermilvar.")) { in upgradeAVX512MaskToSelect()
2133 } else if (Name == "cvtpd2dq.256") { in upgradeAVX512MaskToSelect()
2135 } else if (Name == "cvtpd2ps.256") { in upgradeAVX512MaskToSelect()
2137 } else if (Name == "cvttpd2dq.256") { in upgradeAVX512MaskToSelect()
2139 } else if (Name == "cvttps2dq.128") { in upgradeAVX512MaskToSelect()
2141 } else if (Name == "cvttps2dq.256") { in upgradeAVX512MaskToSelect()
2143 } else if (Name.starts_with("permvar.")) { in upgradeAVX512MaskToSelect()
2175 } else if (Name.starts_with("dbpsadbw.")) { in upgradeAVX512MaskToSelect()
2184 } else if (Name.starts_with("pmultishift.qb.")) { in upgradeAVX512MaskToSelect()
2193 } else if (Name.starts_with("conflict.")) { in upgradeAVX512MaskToSelect()
2194 if (Name[9] == 'd' && VecWidth == 128) in upgradeAVX512MaskToSelect()
2196 else if (Name[9] == 'd' && VecWidth == 256) in upgradeAVX512MaskToSelect()
2198 else if (Name[9] == 'd' && VecWidth == 512) in upgradeAVX512MaskToSelect()
2200 else if (Name[9] == 'q' && VecWidth == 128) in upgradeAVX512MaskToSelect()
2202 else if (Name[9] == 'q' && VecWidth == 256) in upgradeAVX512MaskToSelect()
2204 else if (Name[9] == 'q' && VecWidth == 512) in upgradeAVX512MaskToSelect()
2208 } else if (Name.starts_with("pavg.")) { in upgradeAVX512MaskToSelect()
2209 if (Name[5] == 'b' && VecWidth == 128) in upgradeAVX512MaskToSelect()
2211 else if (Name[5] == 'b' && VecWidth == 256) in upgradeAVX512MaskToSelect()
2213 else if (Name[5] == 'b' && VecWidth == 512) in upgradeAVX512MaskToSelect()
2215 else if (Name[5] == 'w' && VecWidth == 128) in upgradeAVX512MaskToSelect()
2217 else if (Name[5] == 'w' && VecWidth == 256) in upgradeAVX512MaskToSelect()
2219 else if (Name[5] == 'w' && VecWidth == 512) in upgradeAVX512MaskToSelect()
2248 static Value *upgradeX86IntrinsicCall(StringRef Name, CallBase *CI, Function *F, in upgradeX86IntrinsicCall() argument
2253 if (Name.starts_with("sse4a.movnt.")) { in upgradeX86IntrinsicCall()
2272 } else if (Name.starts_with("avx.movnt.") || in upgradeX86IntrinsicCall()
2273 Name.starts_with("avx512.storent.")) { in upgradeX86IntrinsicCall()
2289 } else if (Name == "sse2.storel.dq") { in upgradeX86IntrinsicCall()
2299 } else if (Name.starts_with("sse.storeu.") || in upgradeX86IntrinsicCall()
2300 Name.starts_with("sse2.storeu.") || in upgradeX86IntrinsicCall()
2301 Name.starts_with("avx.storeu.")) { in upgradeX86IntrinsicCall()
2308 } else if (Name == "avx512.mask.store.ss") { in upgradeX86IntrinsicCall()
2312 } else if (Name.starts_with("avx512.mask.store")) { in upgradeX86IntrinsicCall()
2314 bool Aligned = Name[17] != 'u'; // "avx512.mask.storeu". in upgradeX86IntrinsicCall()
2317 } else if (Name.starts_with("sse2.pcmp") || Name.starts_with("avx2.pcmp")) { in upgradeX86IntrinsicCall()
2320 bool CmpEq = Name[9] == 'e'; in upgradeX86IntrinsicCall()
2324 } else if (Name.starts_with("avx512.broadcastm")) { in upgradeX86IntrinsicCall()
2332 } else if (Name == "sse.sqrt.ss" || Name == "sse2.sqrt.sd") { in upgradeX86IntrinsicCall()
2339 } else if (Name.starts_with("avx.sqrt.p") || in upgradeX86IntrinsicCall()
2340 Name.starts_with("sse2.sqrt.p") || in upgradeX86IntrinsicCall()
2341 Name.starts_with("sse.sqrt.p")) { in upgradeX86IntrinsicCall()
2346 } else if (Name.starts_with("avx512.mask.sqrt.p")) { in upgradeX86IntrinsicCall()
2350 Intrinsic::ID IID = Name[18] == 's' ? Intrinsic::x86_avx512_sqrt_ps_512 in upgradeX86IntrinsicCall()
2364 } else if (Name.starts_with("avx512.ptestm") || in upgradeX86IntrinsicCall()
2365 Name.starts_with("avx512.ptestnm")) { in upgradeX86IntrinsicCall()
2372 ICmpInst::Predicate Pred = Name.starts_with("avx512.ptestm") in upgradeX86IntrinsicCall()
2377 } else if (Name.starts_with("avx512.mask.pbroadcast")) { in upgradeX86IntrinsicCall()
2383 } else if (Name.starts_with("avx512.kunpck")) { in upgradeX86IntrinsicCall()
2399 } else if (Name == "avx512.kand.w") { in upgradeX86IntrinsicCall()
2404 } else if (Name == "avx512.kandn.w") { in upgradeX86IntrinsicCall()
2410 } else if (Name == "avx512.kor.w") { in upgradeX86IntrinsicCall()
2415 } else if (Name == "avx512.kxor.w") { in upgradeX86IntrinsicCall()
2420 } else if (Name == "avx512.kxnor.w") { in upgradeX86IntrinsicCall()
2426 } else if (Name == "avx512.knot.w") { in upgradeX86IntrinsicCall()
2430 } else if (Name == "avx512.kortestz.w" || Name == "avx512.kortestc.w") { in upgradeX86IntrinsicCall()
2436 if (Name[14] == 'c') in upgradeX86IntrinsicCall()
2442 } else if (Name == "sse.add.ss" || Name == "sse2.add.sd" || in upgradeX86IntrinsicCall()
2443 Name == "sse.sub.ss" || Name == "sse2.sub.sd" || in upgradeX86IntrinsicCall()
2444 Name == "sse.mul.ss" || Name == "sse2.mul.sd" || in upgradeX86IntrinsicCall()
2445 Name == "sse.div.ss" || Name == "sse2.div.sd") { in upgradeX86IntrinsicCall()
2452 if (Name.contains(".add.")) in upgradeX86IntrinsicCall()
2454 else if (Name.contains(".sub.")) in upgradeX86IntrinsicCall()
2456 else if (Name.contains(".mul.")) in upgradeX86IntrinsicCall()
2462 } else if (Name.starts_with("avx512.mask.pcmp")) { in upgradeX86IntrinsicCall()
2464 bool CmpEq = Name[16] == 'e'; in upgradeX86IntrinsicCall()
2466 } else if (Name.starts_with("avx512.mask.vpshufbitqmb.")) { in upgradeX86IntrinsicCall()
2487 } else if (Name.starts_with("avx512.mask.fpclass.p")) { in upgradeX86IntrinsicCall()
2510 } else if (Name.starts_with("avx512.cmp.p")) { in upgradeX86IntrinsicCall()
2538 } else if (Name.starts_with("avx512.mask.cmp.")) { in upgradeX86IntrinsicCall()
2542 } else if (Name.starts_with("avx512.mask.ucmp.")) { in upgradeX86IntrinsicCall()
2545 } else if (Name.starts_with("avx512.cvtb2mask.") || in upgradeX86IntrinsicCall()
2546 Name.starts_with("avx512.cvtw2mask.") || in upgradeX86IntrinsicCall()
2547 Name.starts_with("avx512.cvtd2mask.") || in upgradeX86IntrinsicCall()
2548 Name.starts_with("avx512.cvtq2mask.")) { in upgradeX86IntrinsicCall()
2553 } else if (Name == "ssse3.pabs.b.128" || Name == "ssse3.pabs.w.128" || in upgradeX86IntrinsicCall()
2554 Name == "ssse3.pabs.d.128" || Name.starts_with("avx2.pabs") || in upgradeX86IntrinsicCall()
2555 Name.starts_with("avx512.mask.pabs")) { in upgradeX86IntrinsicCall()
2557 } else if (Name == "sse41.pmaxsb" || Name == "sse2.pmaxs.w" || in upgradeX86IntrinsicCall()
2558 Name == "sse41.pmaxsd" || Name.starts_with("avx2.pmaxs") || in upgradeX86IntrinsicCall()
2559 Name.starts_with("avx512.mask.pmaxs")) { in upgradeX86IntrinsicCall()
2561 } else if (Name == "sse2.pmaxu.b" || Name == "sse41.pmaxuw" || in upgradeX86IntrinsicCall()
2562 Name == "sse41.pmaxud" || Name.starts_with("avx2.pmaxu") || in upgradeX86IntrinsicCall()
2563 Name.starts_with("avx512.mask.pmaxu")) { in upgradeX86IntrinsicCall()
2565 } else if (Name == "sse41.pminsb" || Name == "sse2.pmins.w" || in upgradeX86IntrinsicCall()
2566 Name == "sse41.pminsd" || Name.starts_with("avx2.pmins") || in upgradeX86IntrinsicCall()
2567 Name.starts_with("avx512.mask.pmins")) { in upgradeX86IntrinsicCall()
2569 } else if (Name == "sse2.pminu.b" || Name == "sse41.pminuw" || in upgradeX86IntrinsicCall()
2570 Name == "sse41.pminud" || Name.starts_with("avx2.pminu") || in upgradeX86IntrinsicCall()
2571 Name.starts_with("avx512.mask.pminu")) { in upgradeX86IntrinsicCall()
2573 } else if (Name == "sse2.pmulu.dq" || Name == "avx2.pmulu.dq" || in upgradeX86IntrinsicCall()
2574 Name == "avx512.pmulu.dq.512" || in upgradeX86IntrinsicCall()
2575 Name.starts_with("avx512.mask.pmulu.dq.")) { in upgradeX86IntrinsicCall()
2577 } else if (Name == "sse41.pmuldq" || Name == "avx2.pmul.dq" || in upgradeX86IntrinsicCall()
2578 Name == "avx512.pmul.dq.512" || in upgradeX86IntrinsicCall()
2579 Name.starts_with("avx512.mask.pmul.dq.")) { in upgradeX86IntrinsicCall()
2581 } else if (Name == "sse.cvtsi2ss" || Name == "sse2.cvtsi2sd" || in upgradeX86IntrinsicCall()
2582 Name == "sse.cvtsi642ss" || Name == "sse2.cvtsi642sd") { in upgradeX86IntrinsicCall()
2587 } else if (Name == "avx512.cvtusi2sd") { in upgradeX86IntrinsicCall()
2592 } else if (Name == "sse2.cvtss2sd") { in upgradeX86IntrinsicCall()
2597 } else if (Name == "sse2.cvtdq2pd" || Name == "sse2.cvtdq2ps" || in upgradeX86IntrinsicCall()
2598 Name == "avx.cvtdq2.pd.256" || Name == "avx.cvtdq2.ps.256" || in upgradeX86IntrinsicCall()
2599 Name.starts_with("avx512.mask.cvtdq2pd.") || in upgradeX86IntrinsicCall()
2600 Name.starts_with("avx512.mask.cvtudq2pd.") || in upgradeX86IntrinsicCall()
2601 Name.starts_with("avx512.mask.cvtdq2ps.") || in upgradeX86IntrinsicCall()
2602 Name.starts_with("avx512.mask.cvtudq2ps.") || in upgradeX86IntrinsicCall()
2603 Name.starts_with("avx512.mask.cvtqq2pd.") || in upgradeX86IntrinsicCall()
2604 Name.starts_with("avx512.mask.cvtuqq2pd.") || in upgradeX86IntrinsicCall()
2605 Name == "avx512.mask.cvtqq2ps.256" || in upgradeX86IntrinsicCall()
2606 Name == "avx512.mask.cvtqq2ps.512" || in upgradeX86IntrinsicCall()
2607 Name == "avx512.mask.cvtuqq2ps.256" || in upgradeX86IntrinsicCall()
2608 Name == "avx512.mask.cvtuqq2ps.512" || Name == "sse2.cvtps2pd" || in upgradeX86IntrinsicCall()
2609 Name == "avx.cvt.ps2.pd.256" || in upgradeX86IntrinsicCall()
2610 Name == "avx512.mask.cvtps2pd.128" || in upgradeX86IntrinsicCall()
2611 Name == "avx512.mask.cvtps2pd.256") { in upgradeX86IntrinsicCall()
2623 bool IsUnsigned = Name.contains("cvtu"); in upgradeX86IntrinsicCall()
2642 } else if (Name.starts_with("avx512.mask.vcvtph2ps.") || in upgradeX86IntrinsicCall()
2643 Name.starts_with("vcvtph2ps.")) { in upgradeX86IntrinsicCall()
2658 } else if (Name.starts_with("avx512.mask.load")) { in upgradeX86IntrinsicCall()
2660 bool Aligned = Name[16] != 'u'; // "avx512.mask.loadu". in upgradeX86IntrinsicCall()
2663 } else if (Name.starts_with("avx512.mask.expand.load.")) { in upgradeX86IntrinsicCall()
2677 } else if (Name.starts_with("avx512.mask.compress.store.")) { in upgradeX86IntrinsicCall()
2692 } else if (Name.starts_with("avx512.mask.compress.") || in upgradeX86IntrinsicCall()
2693 Name.starts_with("avx512.mask.expand.")) { in upgradeX86IntrinsicCall()
2699 bool IsCompress = Name[12] == 'c'; in upgradeX86IntrinsicCall()
2705 } else if (Name.starts_with("xop.vpcom")) { in upgradeX86IntrinsicCall()
2707 if (Name.ends_with("ub") || Name.ends_with("uw") || Name.ends_with("ud") || in upgradeX86IntrinsicCall()
2708 Name.ends_with("uq")) in upgradeX86IntrinsicCall()
2710 else if (Name.ends_with("b") || Name.ends_with("w") || in upgradeX86IntrinsicCall()
2711 Name.ends_with("d") || Name.ends_with("q")) in upgradeX86IntrinsicCall()
2720 Name = Name.substr(9); // strip off "xop.vpcom" in upgradeX86IntrinsicCall()
2721 if (Name.starts_with("lt")) in upgradeX86IntrinsicCall()
2723 else if (Name.starts_with("le")) in upgradeX86IntrinsicCall()
2725 else if (Name.starts_with("gt")) in upgradeX86IntrinsicCall()
2727 else if (Name.starts_with("ge")) in upgradeX86IntrinsicCall()
2729 else if (Name.starts_with("eq")) in upgradeX86IntrinsicCall()
2731 else if (Name.starts_with("ne")) in upgradeX86IntrinsicCall()
2733 else if (Name.starts_with("false")) in upgradeX86IntrinsicCall()
2735 else if (Name.starts_with("true")) in upgradeX86IntrinsicCall()
2742 } else if (Name.starts_with("xop.vpcmov")) { in upgradeX86IntrinsicCall()
2748 } else if (Name.starts_with("xop.vprot") || Name.starts_with("avx512.prol") || in upgradeX86IntrinsicCall()
2749 Name.starts_with("avx512.mask.prol")) { in upgradeX86IntrinsicCall()
2751 } else if (Name.starts_with("avx512.pror") || in upgradeX86IntrinsicCall()
2752 Name.starts_with("avx512.mask.pror")) { in upgradeX86IntrinsicCall()
2754 } else if (Name.starts_with("avx512.vpshld.") || in upgradeX86IntrinsicCall()
2755 Name.starts_with("avx512.mask.vpshld") || in upgradeX86IntrinsicCall()
2756 Name.starts_with("avx512.maskz.vpshld")) { in upgradeX86IntrinsicCall()
2757 bool ZeroMask = Name[11] == 'z'; in upgradeX86IntrinsicCall()
2759 } else if (Name.starts_with("avx512.vpshrd.") || in upgradeX86IntrinsicCall()
2760 Name.starts_with("avx512.mask.vpshrd") || in upgradeX86IntrinsicCall()
2761 Name.starts_with("avx512.maskz.vpshrd")) { in upgradeX86IntrinsicCall()
2762 bool ZeroMask = Name[11] == 'z'; in upgradeX86IntrinsicCall()
2764 } else if (Name == "sse42.crc32.64.8") { in upgradeX86IntrinsicCall()
2771 } else if (Name.starts_with("avx.vbroadcast.s") || in upgradeX86IntrinsicCall()
2772 Name.starts_with("avx512.vbroadcast.s")) { in upgradeX86IntrinsicCall()
2782 } else if (Name.starts_with("sse41.pmovsx") || in upgradeX86IntrinsicCall()
2783 Name.starts_with("sse41.pmovzx") || in upgradeX86IntrinsicCall()
2784 Name.starts_with("avx2.pmovsx") || in upgradeX86IntrinsicCall()
2785 Name.starts_with("avx2.pmovzx") || in upgradeX86IntrinsicCall()
2786 Name.starts_with("avx512.mask.pmovsx") || in upgradeX86IntrinsicCall()
2787 Name.starts_with("avx512.mask.pmovzx")) { in upgradeX86IntrinsicCall()
2798 bool DoSext = Name.contains("pmovsx"); in upgradeX86IntrinsicCall()
2805 } else if (Name == "avx512.mask.pmov.qd.256" || in upgradeX86IntrinsicCall()
2806 Name == "avx512.mask.pmov.qd.512" || in upgradeX86IntrinsicCall()
2807 Name == "avx512.mask.pmov.wb.256" || in upgradeX86IntrinsicCall()
2808 Name == "avx512.mask.pmov.wb.512") { in upgradeX86IntrinsicCall()
2813 } else if (Name.starts_with("avx.vbroadcastf128") || in upgradeX86IntrinsicCall()
2814 Name == "avx2.vbroadcasti128") { in upgradeX86IntrinsicCall()
2827 } else if (Name.starts_with("avx512.mask.shuf.i") || in upgradeX86IntrinsicCall()
2828 Name.starts_with("avx512.mask.shuf.f")) { in upgradeX86IntrinsicCall()
2849 } else if (Name.starts_with("avx512.mask.broadcastf") || in upgradeX86IntrinsicCall()
2850 Name.starts_with("avx512.mask.broadcasti")) { in upgradeX86IntrinsicCall()
2864 } else if (Name.starts_with("avx2.pbroadcast") || in upgradeX86IntrinsicCall()
2865 Name.starts_with("avx2.vbroadcast") || in upgradeX86IntrinsicCall()
2866 Name.starts_with("avx512.pbroadcast") || in upgradeX86IntrinsicCall()
2867 Name.starts_with("avx512.mask.broadcast.s")) { in upgradeX86IntrinsicCall()
2879 } else if (Name.starts_with("sse2.padds.") || in upgradeX86IntrinsicCall()
2880 Name.starts_with("avx2.padds.") || in upgradeX86IntrinsicCall()
2881 Name.starts_with("avx512.padds.") || in upgradeX86IntrinsicCall()
2882 Name.starts_with("avx512.mask.padds.")) { in upgradeX86IntrinsicCall()
2884 } else if (Name.starts_with("sse2.psubs.") || in upgradeX86IntrinsicCall()
2885 Name.starts_with("avx2.psubs.") || in upgradeX86IntrinsicCall()
2886 Name.starts_with("avx512.psubs.") || in upgradeX86IntrinsicCall()
2887 Name.starts_with("avx512.mask.psubs.")) { in upgradeX86IntrinsicCall()
2889 } else if (Name.starts_with("sse2.paddus.") || in upgradeX86IntrinsicCall()
2890 Name.starts_with("avx2.paddus.") || in upgradeX86IntrinsicCall()
2891 Name.starts_with("avx512.mask.paddus.")) { in upgradeX86IntrinsicCall()
2893 } else if (Name.starts_with("sse2.psubus.") || in upgradeX86IntrinsicCall()
2894 Name.starts_with("avx2.psubus.") || in upgradeX86IntrinsicCall()
2895 Name.starts_with("avx512.mask.psubus.")) { in upgradeX86IntrinsicCall()
2897 } else if (Name.starts_with("avx512.mask.palignr.")) { in upgradeX86IntrinsicCall()
2902 } else if (Name.starts_with("avx512.mask.valign.")) { in upgradeX86IntrinsicCall()
2906 } else if (Name == "sse2.psll.dq" || Name == "avx2.psll.dq") { in upgradeX86IntrinsicCall()
2911 } else if (Name == "sse2.psrl.dq" || Name == "avx2.psrl.dq") { in upgradeX86IntrinsicCall()
2916 } else if (Name == "sse2.psll.dq.bs" || Name == "avx2.psll.dq.bs" || in upgradeX86IntrinsicCall()
2917 Name == "avx512.psll.dq.512") { in upgradeX86IntrinsicCall()
2921 } else if (Name == "sse2.psrl.dq.bs" || Name == "avx2.psrl.dq.bs" || in upgradeX86IntrinsicCall()
2922 Name == "avx512.psrl.dq.512") { in upgradeX86IntrinsicCall()
2926 } else if (Name == "sse41.pblendw" || Name.starts_with("sse41.blendp") || in upgradeX86IntrinsicCall()
2927 Name.starts_with("avx.blend.p") || Name == "avx2.pblendw" || in upgradeX86IntrinsicCall()
2928 Name.starts_with("avx2.pblendd.")) { in upgradeX86IntrinsicCall()
2940 } else if (Name.starts_with("avx.vinsertf128.") || in upgradeX86IntrinsicCall()
2941 Name == "avx2.vinserti128" || in upgradeX86IntrinsicCall()
2942 Name.starts_with("avx512.mask.insert")) { in upgradeX86IntrinsicCall()
2986 } else if (Name.starts_with("avx.vextractf128.") || in upgradeX86IntrinsicCall()
2987 Name == "avx2.vextracti128" || in upgradeX86IntrinsicCall()
2988 Name.starts_with("avx512.mask.vextract")) { in upgradeX86IntrinsicCall()
3011 } else if (Name.starts_with("avx512.mask.perm.df.") || in upgradeX86IntrinsicCall()
3012 Name.starts_with("avx512.mask.perm.di.")) { in upgradeX86IntrinsicCall()
3027 } else if (Name.starts_with("avx.vperm2f128.") || Name == "avx2.vperm2i128") { in upgradeX86IntrinsicCall()
3062 } else if (Name.starts_with("avx.vpermil.") || Name == "sse2.pshuf.d" || in upgradeX86IntrinsicCall()
3063 Name.starts_with("avx512.mask.vpermil.p") || in upgradeX86IntrinsicCall()
3064 Name.starts_with("avx512.mask.pshuf.d.")) { in upgradeX86IntrinsicCall()
3085 } else if (Name == "sse2.pshufl.w" || in upgradeX86IntrinsicCall()
3086 Name.starts_with("avx512.mask.pshufl.w.")) { in upgradeX86IntrinsicCall()
3104 } else if (Name == "sse2.pshufh.w" || in upgradeX86IntrinsicCall()
3105 Name.starts_with("avx512.mask.pshufh.w.")) { in upgradeX86IntrinsicCall()
3123 } else if (Name.starts_with("avx512.mask.shuf.p")) { in upgradeX86IntrinsicCall()
3148 } else if (Name.starts_with("avx512.mask.movddup") || in upgradeX86IntrinsicCall()
3149 Name.starts_with("avx512.mask.movshdup") || in upgradeX86IntrinsicCall()
3150 Name.starts_with("avx512.mask.movsldup")) { in upgradeX86IntrinsicCall()
3156 if (Name.starts_with("avx512.mask.movshdup.")) in upgradeX86IntrinsicCall()
3170 } else if (Name.starts_with("avx512.mask.punpckl") || in upgradeX86IntrinsicCall()
3171 Name.starts_with("avx512.mask.unpckl.")) { in upgradeX86IntrinsicCall()
3186 } else if (Name.starts_with("avx512.mask.punpckh") || in upgradeX86IntrinsicCall()
3187 Name.starts_with("avx512.mask.unpckh.")) { in upgradeX86IntrinsicCall()
3202 } else if (Name.starts_with("avx512.mask.and.") || in upgradeX86IntrinsicCall()
3203 Name.starts_with("avx512.mask.pand.")) { in upgradeX86IntrinsicCall()
3211 } else if (Name.starts_with("avx512.mask.andn.") || in upgradeX86IntrinsicCall()
3212 Name.starts_with("avx512.mask.pandn.")) { in upgradeX86IntrinsicCall()
3221 } else if (Name.starts_with("avx512.mask.or.") || in upgradeX86IntrinsicCall()
3222 Name.starts_with("avx512.mask.por.")) { in upgradeX86IntrinsicCall()
3230 } else if (Name.starts_with("avx512.mask.xor.") || in upgradeX86IntrinsicCall()
3231 Name.starts_with("avx512.mask.pxor.")) { in upgradeX86IntrinsicCall()
3239 } else if (Name.starts_with("avx512.mask.padd.")) { in upgradeX86IntrinsicCall()
3243 } else if (Name.starts_with("avx512.mask.psub.")) { in upgradeX86IntrinsicCall()
3247 } else if (Name.starts_with("avx512.mask.pmull.")) { in upgradeX86IntrinsicCall()
3251 } else if (Name.starts_with("avx512.mask.add.p")) { in upgradeX86IntrinsicCall()
3252 if (Name.ends_with(".512")) { in upgradeX86IntrinsicCall()
3254 if (Name[17] == 's') in upgradeX86IntrinsicCall()
3267 } else if (Name.starts_with("avx512.mask.div.p")) { in upgradeX86IntrinsicCall()
3268 if (Name.ends_with(".512")) { in upgradeX86IntrinsicCall()
3270 if (Name[17] == 's') in upgradeX86IntrinsicCall()
3283 } else if (Name.starts_with("avx512.mask.mul.p")) { in upgradeX86IntrinsicCall()
3284 if (Name.ends_with(".512")) { in upgradeX86IntrinsicCall()
3286 if (Name[17] == 's') in upgradeX86IntrinsicCall()
3299 } else if (Name.starts_with("avx512.mask.sub.p")) { in upgradeX86IntrinsicCall()
3300 if (Name.ends_with(".512")) { in upgradeX86IntrinsicCall()
3302 if (Name[17] == 's') in upgradeX86IntrinsicCall()
3315 } else if ((Name.starts_with("avx512.mask.max.p") || in upgradeX86IntrinsicCall()
3316 Name.starts_with("avx512.mask.min.p")) && in upgradeX86IntrinsicCall()
3317 Name.drop_front(18) == ".512") { in upgradeX86IntrinsicCall()
3318 bool IsDouble = Name[17] == 'd'; in upgradeX86IntrinsicCall()
3319 bool IsMin = Name[13] == 'i'; in upgradeX86IntrinsicCall()
3330 } else if (Name.starts_with("avx512.mask.lzcnt.")) { in upgradeX86IntrinsicCall()
3337 } else if (Name.starts_with("avx512.mask.psll")) { in upgradeX86IntrinsicCall()
3338 bool IsImmediate = Name[16] == 'i' || (Name.size() > 18 && Name[18] == 'i'); in upgradeX86IntrinsicCall()
3339 bool IsVariable = Name[16] == 'v'; in upgradeX86IntrinsicCall()
3340 char Size = Name[16] == '.' ? Name[17] in upgradeX86IntrinsicCall()
3341 : Name[17] == '.' ? Name[18] in upgradeX86IntrinsicCall()
3342 : Name[18] == '.' ? Name[19] in upgradeX86IntrinsicCall()
3343 : Name[20]; in upgradeX86IntrinsicCall()
3346 if (IsVariable && Name[17] != '.') { in upgradeX86IntrinsicCall()
3347 if (Size == 'd' && Name[17] == '2') // avx512.mask.psllv2.di in upgradeX86IntrinsicCall()
3349 else if (Size == 'd' && Name[17] == '4') // avx512.mask.psllv4.di in upgradeX86IntrinsicCall()
3351 else if (Size == 's' && Name[17] == '4') // avx512.mask.psllv4.si in upgradeX86IntrinsicCall()
3353 else if (Size == 's' && Name[17] == '8') // avx512.mask.psllv8.si in upgradeX86IntrinsicCall()
3355 else if (Size == 'h' && Name[17] == '8') // avx512.mask.psllv8.hi in upgradeX86IntrinsicCall()
3357 else if (Size == 'h' && Name[17] == '1') // avx512.mask.psllv16.hi in upgradeX86IntrinsicCall()
3359 else if (Name[17] == '3' && Name[18] == '2') // avx512.mask.psllv32hi in upgradeX86IntrinsicCall()
3363 } else if (Name.ends_with(".128")) { in upgradeX86IntrinsicCall()
3375 } else if (Name.ends_with(".256")) { in upgradeX86IntrinsicCall()
3404 } else if (Name.starts_with("avx512.mask.psrl")) { in upgradeX86IntrinsicCall()
3405 bool IsImmediate = Name[16] == 'i' || (Name.size() > 18 && Name[18] == 'i'); in upgradeX86IntrinsicCall()
3406 bool IsVariable = Name[16] == 'v'; in upgradeX86IntrinsicCall()
3407 char Size = Name[16] == '.' ? Name[17] in upgradeX86IntrinsicCall()
3408 : Name[17] == '.' ? Name[18] in upgradeX86IntrinsicCall()
3409 : Name[18] == '.' ? Name[19] in upgradeX86IntrinsicCall()
3410 : Name[20]; in upgradeX86IntrinsicCall()
3413 if (IsVariable && Name[17] != '.') { in upgradeX86IntrinsicCall()
3414 if (Size == 'd' && Name[17] == '2') // avx512.mask.psrlv2.di in upgradeX86IntrinsicCall()
3416 else if (Size == 'd' && Name[17] == '4') // avx512.mask.psrlv4.di in upgradeX86IntrinsicCall()
3418 else if (Size == 's' && Name[17] == '4') // avx512.mask.psrlv4.si in upgradeX86IntrinsicCall()
3420 else if (Size == 's' && Name[17] == '8') // avx512.mask.psrlv8.si in upgradeX86IntrinsicCall()
3422 else if (Size == 'h' && Name[17] == '8') // avx512.mask.psrlv8.hi in upgradeX86IntrinsicCall()
3424 else if (Size == 'h' && Name[17] == '1') // avx512.mask.psrlv16.hi in upgradeX86IntrinsicCall()
3426 else if (Name[17] == '3' && Name[18] == '2') // avx512.mask.psrlv32hi in upgradeX86IntrinsicCall()
3430 } else if (Name.ends_with(".128")) { in upgradeX86IntrinsicCall()
3442 } else if (Name.ends_with(".256")) { in upgradeX86IntrinsicCall()
3471 } else if (Name.starts_with("avx512.mask.psra")) { in upgradeX86IntrinsicCall()
3472 bool IsImmediate = Name[16] == 'i' || (Name.size() > 18 && Name[18] == 'i'); in upgradeX86IntrinsicCall()
3473 bool IsVariable = Name[16] == 'v'; in upgradeX86IntrinsicCall()
3474 char Size = Name[16] == '.' ? Name[17] in upgradeX86IntrinsicCall()
3475 : Name[17] == '.' ? Name[18] in upgradeX86IntrinsicCall()
3476 : Name[18] == '.' ? Name[19] in upgradeX86IntrinsicCall()
3477 : Name[20]; in upgradeX86IntrinsicCall()
3480 if (IsVariable && Name[17] != '.') { in upgradeX86IntrinsicCall()
3481 if (Size == 's' && Name[17] == '4') // avx512.mask.psrav4.si in upgradeX86IntrinsicCall()
3483 else if (Size == 's' && Name[17] == '8') // avx512.mask.psrav8.si in upgradeX86IntrinsicCall()
3485 else if (Size == 'h' && Name[17] == '8') // avx512.mask.psrav8.hi in upgradeX86IntrinsicCall()
3487 else if (Size == 'h' && Name[17] == '1') // avx512.mask.psrav16.hi in upgradeX86IntrinsicCall()
3489 else if (Name[17] == '3' && Name[18] == '2') // avx512.mask.psrav32hi in upgradeX86IntrinsicCall()
3493 } else if (Name.ends_with(".128")) { in upgradeX86IntrinsicCall()
3506 } else if (Name.ends_with(".256")) { in upgradeX86IntrinsicCall()
3536 } else if (Name.starts_with("avx512.mask.move.s")) { in upgradeX86IntrinsicCall()
3538 } else if (Name.starts_with("avx512.cvtmask2")) { in upgradeX86IntrinsicCall()
3540 } else if (Name.ends_with(".movntdqa")) { in upgradeX86IntrinsicCall()
3554 } else if (Name.starts_with("fma.vfmadd.") || in upgradeX86IntrinsicCall()
3555 Name.starts_with("fma.vfmsub.") || in upgradeX86IntrinsicCall()
3556 Name.starts_with("fma.vfnmadd.") || in upgradeX86IntrinsicCall()
3557 Name.starts_with("fma.vfnmsub.")) { in upgradeX86IntrinsicCall()
3558 bool NegMul = Name[6] == 'n'; in upgradeX86IntrinsicCall()
3559 bool NegAcc = NegMul ? Name[8] == 's' : Name[7] == 's'; in upgradeX86IntrinsicCall()
3560 bool IsScalar = NegMul ? Name[12] == 's' : Name[11] == 's'; in upgradeX86IntrinsicCall()
3585 } else if (Name.starts_with("fma4.vfmadd.s")) { in upgradeX86IntrinsicCall()
3600 } else if (Name.starts_with("avx512.mask.vfmadd.s") || in upgradeX86IntrinsicCall()
3601 Name.starts_with("avx512.maskz.vfmadd.s") || in upgradeX86IntrinsicCall()
3602 Name.starts_with("avx512.mask3.vfmadd.s") || in upgradeX86IntrinsicCall()
3603 Name.starts_with("avx512.mask3.vfmsub.s") || in upgradeX86IntrinsicCall()
3604 Name.starts_with("avx512.mask3.vfnmsub.s")) { in upgradeX86IntrinsicCall()
3605 bool IsMask3 = Name[11] == '3'; in upgradeX86IntrinsicCall()
3606 bool IsMaskZ = Name[11] == 'z'; in upgradeX86IntrinsicCall()
3608 Name = Name.drop_front(IsMask3 || IsMaskZ ? 13 : 12); in upgradeX86IntrinsicCall()
3609 bool NegMul = Name[2] == 'n'; in upgradeX86IntrinsicCall()
3610 bool NegAcc = NegMul ? Name[4] == 's' : Name[3] == 's'; in upgradeX86IntrinsicCall()
3632 if (Name.back() == 'd') in upgradeX86IntrinsicCall()
3657 } else if (Name.starts_with("avx512.mask.vfmadd.p") || in upgradeX86IntrinsicCall()
3658 Name.starts_with("avx512.mask.vfnmadd.p") || in upgradeX86IntrinsicCall()
3659 Name.starts_with("avx512.mask.vfnmsub.p") || in upgradeX86IntrinsicCall()
3660 Name.starts_with("avx512.mask3.vfmadd.p") || in upgradeX86IntrinsicCall()
3661 Name.starts_with("avx512.mask3.vfmsub.p") || in upgradeX86IntrinsicCall()
3662 Name.starts_with("avx512.mask3.vfnmsub.p") || in upgradeX86IntrinsicCall()
3663 Name.starts_with("avx512.maskz.vfmadd.p")) { in upgradeX86IntrinsicCall()
3664 bool IsMask3 = Name[11] == '3'; in upgradeX86IntrinsicCall()
3665 bool IsMaskZ = Name[11] == 'z'; in upgradeX86IntrinsicCall()
3667 Name = Name.drop_front(IsMask3 || IsMaskZ ? 13 : 12); in upgradeX86IntrinsicCall()
3668 bool NegMul = Name[2] == 'n'; in upgradeX86IntrinsicCall()
3669 bool NegAcc = NegMul ? Name[4] == 's' : Name[3] == 's'; in upgradeX86IntrinsicCall()
3687 if (Name[Name.size() - 5] == 's') in upgradeX86IntrinsicCall()
3705 } else if (Name.starts_with("fma.vfmsubadd.p")) { in upgradeX86IntrinsicCall()
3725 } else if (Name.starts_with("avx512.mask.vfmaddsub.p") || in upgradeX86IntrinsicCall()
3726 Name.starts_with("avx512.mask3.vfmaddsub.p") || in upgradeX86IntrinsicCall()
3727 Name.starts_with("avx512.maskz.vfmaddsub.p") || in upgradeX86IntrinsicCall()
3728 Name.starts_with("avx512.mask3.vfmsubadd.p")) { in upgradeX86IntrinsicCall()
3729 bool IsMask3 = Name[11] == '3'; in upgradeX86IntrinsicCall()
3730 bool IsMaskZ = Name[11] == 'z'; in upgradeX86IntrinsicCall()
3732 Name = Name.drop_front(IsMask3 || IsMaskZ ? 13 : 12); in upgradeX86IntrinsicCall()
3733 bool IsSubAdd = Name[3] == 's'; in upgradeX86IntrinsicCall()
3737 if (Name[Name.size() - 5] == 's') in upgradeX86IntrinsicCall()
3776 } else if (Name.starts_with("avx512.mask.pternlog.") || in upgradeX86IntrinsicCall()
3777 Name.starts_with("avx512.maskz.pternlog.")) { in upgradeX86IntrinsicCall()
3778 bool ZeroMask = Name[11] == 'z'; in upgradeX86IntrinsicCall()
3804 } else if (Name.starts_with("avx512.mask.vpmadd52") || in upgradeX86IntrinsicCall()
3805 Name.starts_with("avx512.maskz.vpmadd52")) { in upgradeX86IntrinsicCall()
3806 bool ZeroMask = Name[11] == 'z'; in upgradeX86IntrinsicCall()
3807 bool High = Name[20] == 'h' || Name[21] == 'h'; in upgradeX86IntrinsicCall()
3832 } else if (Name.starts_with("avx512.mask.vpermi2var.") || in upgradeX86IntrinsicCall()
3833 Name.starts_with("avx512.mask.vpermt2var.") || in upgradeX86IntrinsicCall()
3834 Name.starts_with("avx512.maskz.vpermt2var.")) { in upgradeX86IntrinsicCall()
3835 bool ZeroMask = Name[11] == 'z'; in upgradeX86IntrinsicCall()
3836 bool IndexForm = Name[17] == 'i'; in upgradeX86IntrinsicCall()
3838 } else if (Name.starts_with("avx512.mask.vpdpbusd.") || in upgradeX86IntrinsicCall()
3839 Name.starts_with("avx512.maskz.vpdpbusd.") || in upgradeX86IntrinsicCall()
3840 Name.starts_with("avx512.mask.vpdpbusds.") || in upgradeX86IntrinsicCall()
3841 Name.starts_with("avx512.maskz.vpdpbusds.")) { in upgradeX86IntrinsicCall()
3842 bool ZeroMask = Name[11] == 'z'; in upgradeX86IntrinsicCall()
3843 bool IsSaturating = Name[ZeroMask ? 21 : 20] == 's'; in upgradeX86IntrinsicCall()
3868 } else if (Name.starts_with("avx512.mask.vpdpwssd.") || in upgradeX86IntrinsicCall()
3869 Name.starts_with("avx512.maskz.vpdpwssd.") || in upgradeX86IntrinsicCall()
3870 Name.starts_with("avx512.mask.vpdpwssds.") || in upgradeX86IntrinsicCall()
3871 Name.starts_with("avx512.maskz.vpdpwssds.")) { in upgradeX86IntrinsicCall()
3872 bool ZeroMask = Name[11] == 'z'; in upgradeX86IntrinsicCall()
3873 bool IsSaturating = Name[ZeroMask ? 21 : 20] == 's'; in upgradeX86IntrinsicCall()
3898 } else if (Name == "addcarryx.u32" || Name == "addcarryx.u64" || in upgradeX86IntrinsicCall()
3899 Name == "addcarry.u32" || Name == "addcarry.u64" || in upgradeX86IntrinsicCall()
3900 Name == "subborrow.u32" || Name == "subborrow.u64") { in upgradeX86IntrinsicCall()
3902 if (Name[0] == 'a' && Name.back() == '2') in upgradeX86IntrinsicCall()
3904 else if (Name[0] == 'a' && Name.back() == '4') in upgradeX86IntrinsicCall()
3906 else if (Name[0] == 's' && Name.back() == '2') in upgradeX86IntrinsicCall()
3908 else if (Name[0] == 's' && Name.back() == '4') in upgradeX86IntrinsicCall()
3930 } else if (Name.starts_with("avx512.mask.") && in upgradeX86IntrinsicCall()
3931 upgradeAVX512MaskToSelect(Name, Builder, *CI, Rep)) { in upgradeX86IntrinsicCall()
3938 static Value *upgradeARMIntrinsicCall(StringRef Name, CallBase *CI, Function *F, in upgradeARMIntrinsicCall() argument
3940 if (Name == "mve.vctp64.old") { in upgradeARMIntrinsicCall()
3956 } else if (Name == "mve.mull.int.predicated.v2i64.v4i32.v4i1" || in upgradeARMIntrinsicCall()
3957 Name == "mve.vqdmull.predicated.v2i64.v4i32.v4i1" || in upgradeARMIntrinsicCall()
3958 Name == "mve.vldr.gather.base.predicated.v2i64.v2i64.v4i1" || in upgradeARMIntrinsicCall()
3959 Name == "mve.vldr.gather.base.wb.predicated.v2i64.v2i64.v4i1" || in upgradeARMIntrinsicCall()
3960 Name == in upgradeARMIntrinsicCall()
3962 Name == "mve.vldr.gather.offset.predicated.v2i64.p0.v2i64.v4i1" || in upgradeARMIntrinsicCall()
3963 Name == "mve.vstr.scatter.base.predicated.v2i64.v2i64.v4i1" || in upgradeARMIntrinsicCall()
3964 Name == "mve.vstr.scatter.base.wb.predicated.v2i64.v2i64.v4i1" || in upgradeARMIntrinsicCall()
3965 Name == in upgradeARMIntrinsicCall()
3967 Name == "mve.vstr.scatter.offset.predicated.p0.v2i64.v2i64.v4i1" || in upgradeARMIntrinsicCall()
3968 Name == "cde.vcx1q.predicated.v2i64.v4i1" || in upgradeARMIntrinsicCall()
3969 Name == "cde.vcx1qa.predicated.v2i64.v4i1" || in upgradeARMIntrinsicCall()
3970 Name == "cde.vcx2q.predicated.v2i64.v4i1" || in upgradeARMIntrinsicCall()
3971 Name == "cde.vcx2qa.predicated.v2i64.v4i1" || in upgradeARMIntrinsicCall()
3972 Name == "cde.vcx3q.predicated.v2i64.v4i1" || in upgradeARMIntrinsicCall()
3973 Name == "cde.vcx3qa.predicated.v2i64.v4i1") { in upgradeARMIntrinsicCall()
4037 static Value *upgradeAMDGCNIntrinsicCall(StringRef Name, CallBase *CI, in upgradeAMDGCNIntrinsicCall() argument
4040 StringSwitch<AtomicRMWInst::BinOp>(Name) in upgradeAMDGCNIntrinsicCall()
4121 static void upgradeDbgIntrinsicToDbgRecord(StringRef Name, CallBase *CI) { in upgradeDbgIntrinsicToDbgRecord() argument
4123 if (Name == "label") { in upgradeDbgIntrinsicToDbgRecord()
4125 } else if (Name == "assign") { in upgradeDbgIntrinsicToDbgRecord()
4131 } else if (Name == "declare") { in upgradeDbgIntrinsicToDbgRecord()
4136 } else if (Name == "addr") { in upgradeDbgIntrinsicToDbgRecord()
4143 } else if (Name == "value") { in upgradeDbgIntrinsicToDbgRecord()
4180 StringRef Name = F->getName(); in UpgradeIntrinsicCall() local
4182 assert(Name.starts_with("llvm.") && "Intrinsic doesn't start with 'llvm.'"); in UpgradeIntrinsicCall()
4183 Name = Name.substr(5); in UpgradeIntrinsicCall()
4185 bool IsX86 = Name.consume_front("x86."); in UpgradeIntrinsicCall()
4186 bool IsNVVM = Name.consume_front("nvvm."); in UpgradeIntrinsicCall()
4187 bool IsARM = Name.consume_front("arm."); in UpgradeIntrinsicCall()
4188 bool IsAMDGCN = Name.consume_front("amdgcn."); in UpgradeIntrinsicCall()
4189 bool IsDbg = Name.consume_front("dbg."); in UpgradeIntrinsicCall()
4192 if (!IsX86 && Name == "stackprotectorcheck") { in UpgradeIntrinsicCall()
4194 } else if (IsNVVM && (Name == "abs.i" || Name == "abs.ll")) { in UpgradeIntrinsicCall()
4200 } else if (IsNVVM && (Name.starts_with("atomic.load.add.f32.p") || in UpgradeIntrinsicCall()
4201 Name.starts_with("atomic.load.add.f64.p"))) { in UpgradeIntrinsicCall()
4206 } else if (IsNVVM && Name.consume_front("max.") && in UpgradeIntrinsicCall()
4207 (Name == "s" || Name == "i" || Name == "ll" || Name == "us" || in UpgradeIntrinsicCall()
4208 Name == "ui" || Name == "ull")) { in UpgradeIntrinsicCall()
4211 Value *Cmp = Name.starts_with("u") in UpgradeIntrinsicCall()
4215 } else if (IsNVVM && Name.consume_front("min.") && in UpgradeIntrinsicCall()
4216 (Name == "s" || Name == "i" || Name == "ll" || Name == "us" || in UpgradeIntrinsicCall()
4217 Name == "ui" || Name == "ull")) { in UpgradeIntrinsicCall()
4220 Value *Cmp = Name.starts_with("u") in UpgradeIntrinsicCall()
4224 } else if (IsNVVM && Name == "clz.ll") { in UpgradeIntrinsicCall()
4232 } else if (IsNVVM && Name == "popc.ll") { in UpgradeIntrinsicCall()
4242 if (Name == "h2f") { in UpgradeIntrinsicCall()
4249 Intrinsic::ID IID = shouldUpgradeNVPTXBF16Intrinsic(Name); in UpgradeIntrinsicCall()
4270 Rep = upgradeX86IntrinsicCall(Name, CI, F, Builder); in UpgradeIntrinsicCall()
4272 Rep = upgradeARMIntrinsicCall(Name, CI, F, Builder); in UpgradeIntrinsicCall()
4274 Rep = upgradeAMDGCNIntrinsicCall(Name, CI, F, Builder); in UpgradeIntrinsicCall()
4287 upgradeDbgIntrinsicToDbgRecord(Name, CI); in UpgradeIntrinsicCall()
4367 StringRef Name = F->getName(); in UpgradeIntrinsicCall() local
4368 Name = Name.substr(5); in UpgradeIntrinsicCall()
4369 unsigned N = StringSwitch<unsigned>(Name) in UpgradeIntrinsicCall()
4396 StringRef Name = F->getName(); in UpgradeIntrinsicCall() local
4397 Name = Name.substr(5); // Strip llvm in UpgradeIntrinsicCall()
4398 if (!Name.starts_with("aarch64.sve.tuple.get")) { in UpgradeIntrinsicCall()
4411 StringRef Name = F->getName(); in UpgradeIntrinsicCall() local
4412 Name = Name.substr(5); in UpgradeIntrinsicCall()
4413 if (!Name.starts_with("aarch64.sve.tuple")) { in UpgradeIntrinsicCall()
4417 if (Name.starts_with("aarch64.sve.tuple.set")) { in UpgradeIntrinsicCall()
4426 if (Name.starts_with("aarch64.sve.tuple.create")) { in UpgradeIntrinsicCall()
4427 unsigned N = StringSwitch<unsigned>(Name) in UpgradeIntrinsicCall()
4501 StringRef Name = F->getName(); in UpgradeIntrinsicCall() local
4502 Name = Name.substr(5); // Strip llvm. in UpgradeIntrinsicCall()
4504 if (Name.starts_with("dbg.addr")) { in UpgradeIntrinsicCall()