Skip to content

Commit 421e289

Browse files
Add missing intrinsic translations
1 parent 4801d8d commit 421e289

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

src/intrinsic/llvm.rs

+69
Original file line numberDiff line numberDiff line change
@@ -1340,6 +1340,75 @@ pub fn intrinsic<'gcc, 'tcx>(name: &str, cx: &CodegenCx<'gcc, 'tcx>) -> Function
13401340
"llvm.x86.tcmmimfp16ps" => "__builtin_trap",
13411341
"llvm.x86.tcmmrlfp16ps" => "__builtin_trap",
13421342

1343+
// Intrinsics not listed by `llvm-tblgen`.
1344+
"llvm.x86.avx2.vperm2i128" => "__builtin_ia32_permti256",
1345+
"llvm.x86.avx512.mask.fpclass.pd.128" => "__builtin_ia32_fpclasspd128_mask",
1346+
"llvm.x86.avx512.mask.fpclass.pd.256" => "__builtin_ia32_fpclasspd256_mask",
1347+
"llvm.x86.avx512.mask.fpclass.pd.512" => "__builtin_ia32_fpclasspd512_mask",
1348+
"llvm.x86.avx512.mask.fpclass.ps.128" => "__builtin_ia32_fpclassps128_mask",
1349+
"llvm.x86.avx512.mask.fpclass.ps.256" => "__builtin_ia32_fpclassps256_mask",
1350+
"llvm.x86.avx512.mask.fpclass.ps.512" => "__builtin_ia32_fpclassps512_mask",
1351+
"llvm.x86.avx512.mask.vcvtph2ps.128" => "__builtin_ia32_vcvtph2ps_mask",
1352+
"llvm.x86.avx512.mask.vcvtph2ps.256" => "__builtin_ia32_vcvtph2ps256_mask",
1353+
"llvm.x86.avx512.mask.vcvtph2ps.512" => "__builtin_ia32_vcvtph2ps512_mask",
1354+
"llvm.x86.avx512.mask.cvttps2dq.128" => "__builtin_ia32_cvttps2dq128_mask",
1355+
"llvm.x86.avx512.mask.cvttps2dq.256" => "__builtin_ia32_cvttps2dq256_mask",
1356+
"llvm.x86.avx512.mask.cvtudq2pd.128" => "__builtin_ia32_cvtudq2pd128_mask",
1357+
"llvm.x86.avx512.mask.cvtudq2pd.256" => "__builtin_ia32_cvtudq2pd256_mask",
1358+
"llvm.x86.avx512.mask.cvtudq2pd.512" => "__builtin_ia32_cvtudq2pd512_mask",
1359+
"llvm.x86.avx512.mask.cvtudq2ps.128" => "__builtin_ia32_cvtudq2ps128_mask",
1360+
"llvm.x86.avx512.mask.cvtudq2ps.256" => "__builtin_ia32_cvtudq2ps256_mask",
1361+
"llvm.x86.avx512.mask.cvtudq2ps.512" => "__builtin_ia32_cvtudq2ps512_mask",
1362+
"llvm.x86.avx512.mask.cvtuqq2pd.128" => "__builtin_ia32_cvtuqq2pd128_mask",
1363+
"llvm.x86.avx512.mask.cvtuqq2pd.256" => "__builtin_ia32_cvtuqq2pd256_mask",
1364+
"llvm.x86.avx512.mask.cvtuqq2pd.512" => "__builtin_ia32_cvtuqq2pd512_mask",
1365+
"llvm.x86.avx512.mask.cvtuqq2ps.256" => "__builtin_ia32_cvtuqq2ps256_mask",
1366+
"llvm.x86.avx512.mask.cvtuqq2ps.512" => "__builtin_ia32_cvtuqq2ps512_mask",
1367+
"llvm.x86.avx512.mask.dbpsadbw.128" => "__builtin_ia32_dbpsadbw128_mask",
1368+
"llvm.x86.avx512.mask.dbpsadbw.256" => "__builtin_ia32_dbpsadbw256_mask",
1369+
"llvm.x86.avx512.mask.dbpsadbw.512" => "__builtin_ia32_dbpsadbw512_mask",
1370+
"llvm.x86.avx512.sqrt.pd.512" => "__builtin_ia32_sqrtpd512_mask",
1371+
"llvm.x86.avx512.sqrt.ps.512" => "__builtin_ia32_sqrtps512_mask",
1372+
"llvm.x86.avx512.sqrt.sd" => "__builtin_ia32_sqrtrndsd",
1373+
"llvm.x86.avx512.sqrt.ss" => "__builtin_ia32_sqrtrndss",
1374+
"llvm.x86.rdtscp" => "__builtin_ia32_rdtscp",
1375+
"llvm.x86.sse2.add.sd" => "__builtin_ia32_addsd",
1376+
"llvm.x86.sse2.cmp.pd" => "__builtin_ia32_cmppd",
1377+
"llvm.x86.sse2.cvtdq2pd" => "__builtin_ia32_cvtdq2pd",
1378+
"llvm.x86.sse2.cvtdq2ps" => "__builtin_ia32_cvtdq2ps",
1379+
"llvm.x86.sse2.cvtps2pd" => "__builtin_ia32_cvtps2pd",
1380+
"llvm.x86.sse2.cvtsi2sd" => "__builtin_ia32_cvtsi2sd",
1381+
"llvm.x86.sse2.cvtsi642sd" => "__builtin_ia32_cvtsi642sd",
1382+
"llvm.x86.sse2.cvtss2sd" => "__builtin_ia32_cvtss2sd",
1383+
"llvm.x86.sse2.div.sd" => "__builtin_ia32_divsd",
1384+
"llvm.x86.sse2.mul.sd" => "__builtin_ia32_mulsd",
1385+
"llvm.x86.sse2.padds.b" => "__builtin_ia32_paddsb128",
1386+
"llvm.x86.sse2.padds.w" => "__builtin_ia32_paddsw128",
1387+
"llvm.x86.sse2.paddus.b" => "__builtin_ia32_paddusb128",
1388+
"llvm.x86.sse2.paddus.w" => "__builtin_ia32_paddusw128",
1389+
"llvm.x86.sse2.pmaxs.w" => "__builtin_ia32_pmaxsw128",
1390+
"llvm.x86.sse2.pmaxu.b" => "__builtin_ia32_pmaxub128",
1391+
"llvm.x86.sse2.pmins.w" => "__builtin_ia32_pminsw128",
1392+
"llvm.x86.sse2.pminu.b" => "__builtin_ia32_pminub128",
1393+
"llvm.x86.sse2.pmulu.dq" => "__builtin_ia32_pmuludq128",
1394+
"llvm.x86.sse2.pshuf.d" => "__builtin_ia32_pshufd",
1395+
"llvm.x86.sse2.pshufh.w" => "__builtin_ia32_pshufhw",
1396+
"llvm.x86.sse2.pshufl.w" => "__builtin_ia32_pshuflw",
1397+
"llvm.x86.sse2.psll.dq" => "__builtin_ia32_pslldqi128",
1398+
"llvm.x86.sse2.psll.dq.bs" => "__builtin_ia32_pslldqi128_byteshift",
1399+
"llvm.x86.sse2.psrl.dq" => "__builtin_ia32_psrldqi128",
1400+
"llvm.x86.sse2.psrl.dq.bs" => "__builtin_ia32_psrldqi128_byteshift",
1401+
"llvm.x86.sse2.psubs.b" => "__builtin_ia32_psubsb128",
1402+
"llvm.x86.sse2.psubs.w" => "__builtin_ia32_psubsw128",
1403+
"llvm.x86.sse2.psubus.b" => "__builtin_ia32_psubusb128",
1404+
"llvm.x86.sse2.psubus.w" => "__builtin_ia32_psubusw128",
1405+
"llvm.x86.sse2.sqrt.pd" => "__builtin_ia32_sqrtpd",
1406+
"llvm.x86.sse2.sqrt.sd" => "__builtin_ia32_sqrtsd",
1407+
"llvm.x86.sse2.storel.dq" => "__builtin_ia32_storelv4si",
1408+
"llvm.x86.sse2.storeu.dq" => "__builtin_ia32_storedqu",
1409+
"llvm.x86.sse2.storeu.pd" => "__builtin_ia32_storeupd",
1410+
"llvm.x86.sse2.sub.sd" => "__builtin_ia32_subsd",
1411+
13431412
// NOTE: this file is generated by https://github.com/GuillaumeGomez/llvmint/blob/master/generate_list.py
13441413
_ => include!("archs.rs"),
13451414
};

0 commit comments

Comments
 (0)