diff options
| author | antoyo <antoyo@users.noreply.github.com> | 2022-11-24 21:27:42 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-24 21:27:42 -0500 |
| commit | 57b50df17e32ff3b147aa3d4239c35e1068935f1 (patch) | |
| tree | cab20c78feb726ccc386e63b5c73353b8300225b | |
| parent | 83c55fc4dff8a09ff7ca958cfec63e1b630e4c32 (diff) | |
| parent | 69341c44cced1fe7a8dac8ac7ffb2b9c3e63e48a (diff) | |
| download | rust-57b50df17e32ff3b147aa3d4239c35e1068935f1.tar.gz rust-57b50df17e32ff3b147aa3d4239c35e1068935f1.zip | |
Merge pull request #241 from rust-lang/fix/avx-intrinsics
Fix the argument order for some AVX-512 intrinsics
| -rw-r--r-- | src/intrinsic/llvm.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/intrinsic/llvm.rs b/src/intrinsic/llvm.rs index 621ef328a8c..4552ab95e53 100644 --- a/src/intrinsic/llvm.rs +++ b/src/intrinsic/llvm.rs @@ -304,6 +304,15 @@ pub fn adjust_intrinsic_arguments<'a, 'b, 'gcc, 'tcx>(builder: &Builder<'a, 'gcc new_args[0] = arg1.dereference(None).to_rvalue(); args = new_args.into(); }, + "__builtin_ia32_rcp14sd_mask" | "__builtin_ia32_rcp14ss_mask" | "__builtin_ia32_rsqrt14sd_mask" + | "__builtin_ia32_rsqrt14ss_mask" => { + let new_args = args.to_vec(); + args = vec![new_args[1], new_args[0], new_args[2], new_args[3]].into(); + }, + "__builtin_ia32_sqrtsd_mask_round" | "__builtin_ia32_sqrtss_mask_round" => { + let new_args = args.to_vec(); + args = vec![new_args[1], new_args[0], new_args[2], new_args[3], new_args[4]].into(); + }, _ => (), } } |
