@@ -13,6 +13,11 @@ pub fn adjust_intrinsic_arguments<'a, 'b, 'gcc, 'tcx>(
1313 func_name : & str ,
1414 original_function_name : Option < & String > ,
1515) -> Cow < ' b , [ RValue < ' gcc > ] > {
16+ // TODO: this might not be a good way to workaround the missing tile builtins.
17+ if func_name == "__builtin_trap" {
18+ return vec ! [ ] . into ( ) ;
19+ }
20+
1621 // Some LLVM intrinsics do not map 1-to-1 to GCC intrinsics, so we add the missing
1722 // arguments here.
1823 if gcc_func. get_param_count ( ) != args. len ( ) {
@@ -287,7 +292,9 @@ pub fn adjust_intrinsic_arguments<'a, 'b, 'gcc, 'tcx>(
287292 new_args. push ( last_arg) ;
288293 args = new_args. into ( ) ;
289294 }
290- "__builtin_ia32_vfmaddsubps512_mask" | "__builtin_ia32_vfmaddsubpd512_mask" => {
295+ "__builtin_ia32_vfmaddsubps512_mask"
296+ | "__builtin_ia32_vfmaddsubpd512_mask"
297+ | "__builtin_ia32_cmpsh_mask_round" => {
291298 let mut new_args = args. to_vec ( ) ;
292299 let last_arg = new_args. pop ( ) . expect ( "last arg" ) ;
293300 let arg4_type = gcc_func. get_param_type ( 3 ) ;
@@ -1085,6 +1092,17 @@ pub fn intrinsic<'gcc, 'tcx>(name: &str, cx: &CodegenCx<'gcc, 'tcx>) -> Function
10851092 "llvm.x86.avx512.mask.load.pd.512" => "__builtin_ia32_loadapd512_mask" ,
10861093 "llvm.x86.avx512.mask.load.d.256" => "__builtin_ia32_movdqa32load256_mask" ,
10871094 "llvm.x86.avx512.mask.load.q.256" => "__builtin_ia32_movdqa64load256_mask" ,
1095+ "llvm.x86.avx512fp16.mask.cmp.sh" => "__builtin_ia32_cmpsh_mask_round" ,
1096+ "llvm.x86.avx512fp16.vcomi.sh" => "__builtin_ia32_cmpsh_mask_round" ,
1097+ // TODO: support the tile builtins:
1098+ "llvm.x86.ldtilecfg" => "__builtin_trap" ,
1099+ "llvm.x86.sttilecfg" => "__builtin_trap" ,
1100+ "llvm.x86.tileloadd64" => "__builtin_trap" ,
1101+ "llvm.x86.tilerelease" => "__builtin_trap" ,
1102+ "llvm.x86.tilestored64" => "__builtin_trap" ,
1103+ "llvm.x86.tileloaddt164" => "__builtin_trap" ,
1104+ "llvm.x86.tilezero" => "__builtin_trap" ,
1105+ "llvm.x86.tdpbf16ps" => "__builtin_trap" ,
10881106
10891107 // NOTE: this file is generated by https://github.com/GuillaumeGomez/llvmint/blob/master/generate_list.py
10901108 _ => include ! ( "archs.rs" ) ,
0 commit comments