Skip to content

Commit c207bad

Browse files
Add missing intrinsics translation for llvm.x86.xsavec64 and fix more intrinsic calls
1 parent 623dc09 commit c207bad

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/intrinsic/llvm.rs

+10-2
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,14 @@ pub fn adjust_intrinsic_arguments<'a, 'b, 'gcc, 'tcx>(
361361
let minus_one = builder.context.new_rvalue_from_int(arg4_type, -1);
362362
args = vec![new_args[1], new_args[0], new_args[2], minus_one].into();
363363
}
364-
"__builtin_ia32_xrstor" | "__builtin_ia32_xsavec" => {
364+
"__builtin_ia32_xrstor"
365+
| "__builtin_ia32_xrstor64"
366+
| "__builtin_ia32_xsavec"
367+
| "__builtin_ia32_xsavec64"
368+
| "__builtin_ia32_xsave"
369+
| "__builtin_ia32_xsave64"
370+
| "__builtin_ia32_xsaveopt"
371+
| "__builtin_ia32_xsaveopt64" => {
365372
let new_args = args.to_vec();
366373
let thirty_two = builder.context.new_rvalue_from_int(new_args[1].get_type(), 32);
367374
let arg2 = new_args[1] << thirty_two | new_args[2];
@@ -824,7 +831,7 @@ pub fn intrinsic<'gcc, 'tcx>(name: &str, cx: &CodegenCx<'gcc, 'tcx>) -> Function
824831
"llvm.x86.xrstor" => "__builtin_ia32_xrstor",
825832
"llvm.x86.xrstor64" => "__builtin_ia32_xrstor64",
826833
"llvm.x86.xsavec" => "__builtin_ia32_xsavec",
827-
"llvm.x86.xsave64" => "__builtin_ia32_xsave64",
834+
"llvm.x86.xsavec64" => "__builtin_ia32_xsavec64",
828835
"llvm.x86.addcarry.32" => "__builtin_ia32_addcarryx_u32",
829836
"llvm.x86.subborrow.32" => "__builtin_ia32_sbb_u32",
830837
"llvm.x86.avx512.mask.compress.store.w.512" => "__builtin_ia32_compressstoreuhi512_mask",
@@ -1029,6 +1036,7 @@ pub fn intrinsic<'gcc, 'tcx>(name: &str, cx: &CodegenCx<'gcc, 'tcx>) -> Function
10291036
"llvm.x86.avx512.vpdpbusds.256" => "__builtin_ia32_vpdpbusds_v8si",
10301037
"llvm.x86.avx512.vpdpbusds.128" => "__builtin_ia32_vpdpbusds_v4si",
10311038
"llvm.x86.xsave" => "__builtin_ia32_xsave",
1039+
"llvm.x86.xsave64" => "__builtin_ia32_xsave64",
10321040
"llvm.x86.xsaveopt" => "__builtin_ia32_xsaveopt",
10331041
"llvm.x86.xsaveopt64" => "__builtin_ia32_xsaveopt64",
10341042
"llvm.x86.avx512.mask.loadu.w.512" => "__builtin_ia32_loaddquhi512_mask",

0 commit comments

Comments
 (0)