about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvarkor <github@varkor.com>2017-12-21 22:58:03 +0000
committervarkor <github@varkor.com>2017-12-21 22:58:03 +0000
commit20eece1f774953d5f088fb6f9dd7e2eab79db360 (patch)
treeff1772a6a5d105bab91043c2b54cec76f48be319
parenteff3de0927c36e6483ccb8a35c3d2da6e063de0b (diff)
downloadrust-20eece1f774953d5f088fb6f9dd7e2eab79db360.tar.gz
rust-20eece1f774953d5f088fb6f9dd7e2eab79db360.zip
Correct the return type for `x86_mm256_sad_epu8`
Fixes #43439.
-rw-r--r--src/etc/platform-intrinsics/x86/avx2.json2
-rw-r--r--src/librustc_platform_intrinsics/x86.rs2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/etc/platform-intrinsics/x86/avx2.json b/src/etc/platform-intrinsics/x86/avx2.json
index 4e006c1c4cf..dc055b583c5 100644
--- a/src/etc/platform-intrinsics/x86/avx2.json
+++ b/src/etc/platform-intrinsics/x86/avx2.json
@@ -174,7 +174,7 @@
             "intrinsic": "256_sad_epu8",
             "width": [256],
             "llvm": "psad.bw",
-            "ret": "u8",
+            "ret": "u64",
             "args": ["0", "0"]
         },
         {
diff --git a/src/librustc_platform_intrinsics/x86.rs b/src/librustc_platform_intrinsics/x86.rs
index acb69423ffe..e23222ad50b 100644
--- a/src/librustc_platform_intrinsics/x86.rs
+++ b/src/librustc_platform_intrinsics/x86.rs
@@ -354,7 +354,7 @@ pub fn find(name: &str) -> Option<Intrinsic> {
         },
         "_mm256_sad_epu8" => Intrinsic {
             inputs: { static INPUTS: [&'static Type; 2] = [&::U8x32, &::U8x32]; &INPUTS },
-            output: &::U8x32,
+            output: &::U64x4,
             definition: Named("llvm.x86.avx2.psad.bw")
         },
         "_mm256_shuffle_epi8" => Intrinsic {