about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRuud van Asseldonk <ruuda@google.com>2016-03-09 21:37:44 +0100
committerRuud van Asseldonk <ruuda@google.com>2016-03-13 15:04:14 +0100
commitddfe9b6d7dff1d0e357a751229dec2db81a2267c (patch)
treef264496a1b8261d66fdeb9c956a412e256701baf
parentdb6dd8e4fecd365157ecf51fc492c366359d4064 (diff)
downloadrust-ddfe9b6d7dff1d0e357a751229dec2db81a2267c.tar.gz
rust-ddfe9b6d7dff1d0e357a751229dec2db81a2267c.zip
Define AVX comparison intrinsics
This defines `_mm256_cmp_pd` and `_mm256_cmp_ps`.

Intel reference: https://software.intel.com/en-us/node/524075.
-rw-r--r--src/etc/platform-intrinsics/x86/avx.json7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/etc/platform-intrinsics/x86/avx.json b/src/etc/platform-intrinsics/x86/avx.json
index 08524fbd6dd..0625ac63bf1 100644
--- a/src/etc/platform-intrinsics/x86/avx.json
+++ b/src/etc/platform-intrinsics/x86/avx.json
@@ -16,6 +16,13 @@
             "args": ["s8SPc"]
         },
         {
+            "intrinsic": "256_cmp_{0.data_type}",
+            "width": [256],
+            "llvm": "cmp.{1.data_type}.256",
+            "ret": "f(32-64)",
+            "args": ["0", "0", "s8S"]
+        },
+        {
             "intrinsic": "256_cvtepi32_pd",
             "width": [256],
             "llvm": "cvtdq2.pd.256",