@@ -16,6 +16,7 @@ pub fn intrinsic<'gcc, 'tcx>(name: &str, cx: &CodegenCx<'gcc, 'tcx>) -> Function
16
16
"llvm.x86.avx2.pshuf.b" => "__builtin_ia32_pshufb256" ,
17
17
"llvm.x86.avx2.pslli.d" => "__builtin_ia32_pslldi256" ,
18
18
"llvm.x86.avx2.psrli.d" => "__builtin_ia32_psrldi256" ,
19
+ "llvm.x86.sse2.pslli.q" => "__builtin_ia32_psllqi128" ,
19
20
"llvm.x86.avx.vzeroupper" => "__builtin_ia32_vzeroupper" ,
20
21
"llvm.x86.avx2.vperm2i128" => "__builtin_ia32_permti256" ,
21
22
"llvm.x86.avx2.psrli.w" => "__builtin_ia32_psrlwi256" ,
@@ -28,6 +29,11 @@ pub fn intrinsic<'gcc, 'tcx>(name: &str, cx: &CodegenCx<'gcc, 'tcx>) -> Function
28
29
"llvm.x86.avx2.pabs.b" => "__builtin_ia32_pabsb256" ,
29
30
"llvm.x86.avx2.psrli.q" => "__builtin_ia32_psrlqi256" ,
30
31
"llvm.x86.sse41.pblendvb" => "__builtin_ia32_pblendvb128" ,
32
+ "llvm.x86.sse41.pblendw" => "__builtin_ia32_pblendw128" ,
33
+ "llvm.x86.sse42.crc32.32.8" => "__builtin_ia32_crc32qi" ,
34
+ "llvm.x86.sse42.crc32.32.16" => "__builtin_ia32_crc32hi" ,
35
+ "llvm.x86.sse42.crc32.32.32" => "__builtin_ia32_crc32si" ,
36
+ "llvm.x86.sse42.crc32.64.64" => "__builtin_ia32_crc32di" ,
31
37
"llvm.x86.avx2.pavg.w" => "__builtin_ia32_pavgw256" ,
32
38
"llvm.x86.avx2.pavg.b" => "__builtin_ia32_pavgb256" ,
33
39
"llvm.x86.avx2.phadd.w" => "__builtin_ia32_phaddw256" ,
@@ -113,6 +119,14 @@ pub fn intrinsic<'gcc, 'tcx>(name: &str, cx: &CodegenCx<'gcc, 'tcx>) -> Function
113
119
"llvm.x86.avx2.psrlv.q" => "__builtin_ia32_psrlv2di" ,
114
120
"llvm.x86.avx2.psrlv.q.256" => "__builtin_ia32_psrlv4di" ,
115
121
"llvm.x86.sse.sqrt.ss" => "__builtin_ia32_sqrtss" ,
122
+ "llvm.x86.pclmulqdq" => "__builtin_ia32_pclmulqdq128" ,
123
+ "llvm.x86.sha1msg1" => "__builtin_ia32_sha1msg1" ,
124
+ "llvm.x86.sha1msg2" => "__builtin_ia32_sha1msg2" ,
125
+ "llvm.x86.sha1nexte" => "__builtin_ia32_sha1nexte" ,
126
+ "llvm.x86.sha1rnds4" => "__builtin_ia32_sha1rnds4" ,
127
+ "llvm.x86.sha256msg1" => "__builtin_ia32_sha256msg1" ,
128
+ "llvm.x86.sha256msg2" => "__builtin_ia32_sha256msg2" ,
129
+ "llvm.x86.sha256rnds2" => "__builtin_ia32_sha256rnds2" ,
116
130
117
131
"llvm.sqrt.v2f64" => "__builtin_ia32_sqrtpd" ,
118
132
_ => unimplemented ! ( "***** unsupported LLVM intrinsic {}" , name) ,
0 commit comments