@@ -13,6 +13,11 @@ pub fn adjust_intrinsic_arguments<'a, 'b, 'gcc, 'tcx>(
13
13
func_name : & str ,
14
14
original_function_name : Option < & String > ,
15
15
) -> 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
+
16
21
// Some LLVM intrinsics do not map 1-to-1 to GCC intrinsics, so we add the missing
17
22
// arguments here.
18
23
if gcc_func. get_param_count ( ) != args. len ( ) {
@@ -287,7 +292,9 @@ pub fn adjust_intrinsic_arguments<'a, 'b, 'gcc, 'tcx>(
287
292
new_args. push ( last_arg) ;
288
293
args = new_args. into ( ) ;
289
294
}
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" => {
291
298
let mut new_args = args. to_vec ( ) ;
292
299
let last_arg = new_args. pop ( ) . expect ( "last arg" ) ;
293
300
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
1085
1092
"llvm.x86.avx512.mask.load.pd.512" => "__builtin_ia32_loadapd512_mask" ,
1086
1093
"llvm.x86.avx512.mask.load.d.256" => "__builtin_ia32_movdqa32load256_mask" ,
1087
1094
"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" ,
1088
1106
1089
1107
// NOTE: this file is generated by https://github.com/GuillaumeGomez/llvmint/blob/master/generate_list.py
1090
1108
_ => include ! ( "archs.rs" ) ,
0 commit comments