_mm256_blend_epi16 is being cast to __m256d instead of __m256i

Romanova, Katya Katya_Romanova at playstation.sony.com
Thu Apr 9 17:06:16 PDT 2015


Hello,

_mm256_blend_epi16 is being cast to __m256d instead of __m256i. This needs to be changed.

https://software.intel.com/sites/products/documentation/doclib/iss/2013/compiler/cpp-lin/GUID-5369B2B5-B1E1-4D96-85AB-2019982667B4.htm

The patch is below.
Please review and let me know if it's OK to commit.


Index: avx2intrin.h
===================================================================
--- avx2intrin.h        (revision 233656)
+++ avx2intrin.h        (working copy)
@@ -160,7 +160,7 @@
#define _mm256_blend_epi16(V1, V2, M) __extension__ ({ \
   __m256i __V1 = (V1); \
   __m256i __V2 = (V2); \
-  (__m256d)__builtin_shufflevector((__v16hi)__V1, (__v16hi)__V2, \
+  (__m256i)__builtin_shufflevector((__v16hi)__V1, (__v16hi)__V2, \
                                    (((M) & 0x01) ? 16 : 0), \
                                    (((M) & 0x02) ? 17 : 1), \
                                    (((M) & 0x04) ? 18 : 2), \


Thanks!
Katya.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150410/fb82a431/attachment.html>


More information about the llvm-commits mailing list