about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbjorn3 <17426603+bjorn3@users.noreply.github.com>2023-05-12 17:07:38 +0000
committerbjorn3 <17426603+bjorn3@users.noreply.github.com>2023-05-12 17:07:38 +0000
commite39191594f44667dc3dd602ed5de7485adb219ac (patch)
tree366bbcf86e788bee21c095d8aa3cf3a54843cf58
parent899d193c9dc4d1dbe13698baf76c5368ad117b34 (diff)
downloadrust-e39191594f44667dc3dd602ed5de7485adb219ac.tar.gz
rust-e39191594f44667dc3dd602ed5de7485adb219ac.zip
Support _mm_movemask_ps
-rwxr-xr-xscripts/test_rustc_tests.sh1
-rw-r--r--src/intrinsics/llvm_x86.rs5
2 files changed, 4 insertions, 2 deletions
diff --git a/scripts/test_rustc_tests.sh b/scripts/test_rustc_tests.sh
index 9e5aefb7753..cb2211c7b1e 100755
--- a/scripts/test_rustc_tests.sh
+++ b/scripts/test_rustc_tests.sh
@@ -46,7 +46,6 @@ rm tests/ui/proc-macro/allowed-signatures.rs
 
 # vendor intrinsics
 rm tests/ui/sse2.rs # cpuid not supported, so sse2 not detected
-rm tests/ui/intrinsics/const-eval-select-x86_64.rs # requires x86_64 vendor intrinsics
 rm tests/ui/simd/array-type.rs # "Index argument for `simd_insert` is not a constant"
 
 # exotic linkages
diff --git a/src/intrinsics/llvm_x86.rs b/src/intrinsics/llvm_x86.rs
index 56d8f13cec5..8b6f8ca672d 100644
--- a/src/intrinsics/llvm_x86.rs
+++ b/src/intrinsics/llvm_x86.rs
@@ -19,7 +19,10 @@ pub(crate) fn codegen_x86_llvm_intrinsic_call<'tcx>(
         }
 
         // Used by `_mm_movemask_epi8` and `_mm256_movemask_epi8`
-        "llvm.x86.sse2.pmovmskb.128" | "llvm.x86.avx2.pmovmskb" | "llvm.x86.sse2.movmsk.pd" => {
+        "llvm.x86.sse2.pmovmskb.128"
+        | "llvm.x86.avx2.pmovmskb"
+        | "llvm.x86.sse.movmsk.ps"
+        | "llvm.x86.sse2.movmsk.pd" => {
             intrinsic_args!(fx, args => (a); intrinsic);
 
             let (lane_count, lane_ty) = a.layout().ty.simd_size_and_type(fx.tcx);