From e1489caf0b1796db5dc5bc9946db0453838366ea Mon Sep 17 00:00:00 2001 From: Ruud van Asseldonk Date: Fri, 11 Mar 2016 16:22:11 +0100 Subject: [PATCH] Define AVX blend intrinsics This defines the `_mm256_blendv_pd` and `_mm256_blendv_ps` intrinsics. The `_mm256_blend_pd` and `_mm256_blend_ps` intrinsics are not available as LLVM intrinsics. In Clang they are implemented using the shufflevector builtin. Intel reference: https://software.intel.com/en-us/node/524070. --- src/etc/platform-intrinsics/x86/avx.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/etc/platform-intrinsics/x86/avx.json b/src/etc/platform-intrinsics/x86/avx.json index 0625ac63bf1b..05a4721aed83 100644 --- a/src/etc/platform-intrinsics/x86/avx.json +++ b/src/etc/platform-intrinsics/x86/avx.json @@ -8,6 +8,13 @@ "ret": "f(32-64)", "args": ["0", "0"] }, + { + "intrinsic": "256_blendv_{0.data_type}", + "width": [256], + "llvm": "blendv.{0.data_type}.256", + "ret": "f(32-64)", + "args": ["0", "0", "0"] + }, { "intrinsic": "256_broadcast_{0.data_type}", "width": [256],