diff options
author | Manman Ren <manman.ren@gmail.com> | 2013-10-22 19:24:42 +0000 |
---|---|---|
committer | Manman Ren <manman.ren@gmail.com> | 2013-10-22 19:24:42 +0000 |
commit | be38b9e15fde35e15cf87f28540bd34edfce4db6 (patch) | |
tree | 370844e60c8b3df7dd8317944611c5f000d0c66c /clang/lib | |
parent | 7c5bc2fc2bd1d57f870009bb71548ee7a0756056 (diff) | |
download | bcm5719-llvm-be38b9e15fde35e15cf87f28540bd34edfce4db6.tar.gz bcm5719-llvm-be38b9e15fde35e15cf87f28540bd34edfce4db6.zip |
_mm_extract_epi16: use "& 7" when index is out of bound.
This is in line with implementation of _mm_extract_pi16.
rdar://15250497
llvm-svn: 193187
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Headers/emmintrin.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Headers/emmintrin.h b/clang/lib/Headers/emmintrin.h index 9ab0a73aad6..a78eb54c45a 100644 --- a/clang/lib/Headers/emmintrin.h +++ b/clang/lib/Headers/emmintrin.h @@ -1266,7 +1266,7 @@ static __inline__ int __attribute__((__always_inline__, __nodebug__)) _mm_extract_epi16(__m128i __a, int __imm) { __v8hi __b = (__v8hi)__a; - return (unsigned short)__b[__imm]; + return (unsigned short)__b[__imm & 7]; } static __inline__ __m128i __attribute__((__always_inline__, __nodebug__)) |