PR7588: Fix the _mm_shufflehi_epi16 macro. (The issue was an oversight

involving operator precedence.)

llvm-svn: 107902
This commit is contained in:
Eli Friedman 2010-07-08 20:09:45 +00:00
parent 8f3f76f991
commit 07c89c6b3e
1 changed files with 4 additions and 3 deletions

View File

@ -1222,9 +1222,10 @@ _mm_movemask_epi8(__m128i a)
4, 5, 6, 7))
#define _mm_shufflehi_epi16(a, imm) \
((__m128i)__builtin_shufflevector((__v8hi)(a), (__v8hi) {0}, 0, 1, 2, 3, \
4 + ((imm) & 0x3), 4 + ((imm) & 0xc) >> 2, \
4 + ((imm) & 0x30) >> 4, \
4 + ((imm) & 0xc0) >> 6))
4 + (((imm) & 0x03) >> 0), \
4 + (((imm) & 0x0c) >> 2), \
4 + (((imm) & 0x30) >> 4), \
4 + (((imm) & 0xc0) >> 6)))
static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
_mm_unpackhi_epi8(__m128i a, __m128i b)