diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2019-09-16 20:36:55 -0700 |
---|---|---|
committer | Hans Wennborg <hans@chromium.org> | 2020-01-17 09:45:35 +0100 |
commit | fdb501e59f25e59b9dff7d51db468d590909cfef (patch) | |
tree | 801cbc9958b8efad277329cb6c2991c9bf7c5baa /clang/lib | |
parent | ac2c2db1674f200f87b05bee528c761600d87615 (diff) | |
download | bcm5719-llvm-fdb501e59f25e59b9dff7d51db468d590909cfef.tar.gz bcm5719-llvm-fdb501e59f25e59b9dff7d51db468d590909cfef.zip |
Work around PR43337: don't try to use the vec_sel overloads for vector long long, since clang's <altivec.h> doesn't provide it yet!
(cherry picked from commit 388eaa1270c2762d61b756759b6db8cf15bd3a83)
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Headers/ppc_wrappers/emmintrin.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Headers/ppc_wrappers/emmintrin.h b/clang/lib/Headers/ppc_wrappers/emmintrin.h index 293276cc9be..4dcb8485e2e 100644 --- a/clang/lib/Headers/ppc_wrappers/emmintrin.h +++ b/clang/lib/Headers/ppc_wrappers/emmintrin.h @@ -1749,7 +1749,7 @@ _mm_sll_epi64 (__m128i __A, __m128i __B) lshift = vec_splat ((__v2du) __B, 0); shmask = vec_cmplt (lshift, shmax); result = vec_sl ((__v2du) __A, lshift); - result = vec_sel ((__v2du) shmask, result, shmask); + result = (__v2du)vec_sel ((__v2df) shmask, (__v2df)result, shmask); return (__m128i) result; } @@ -1843,7 +1843,7 @@ _mm_srl_epi64 (__m128i __A, __m128i __B) rshift = vec_splat ((__v2du) __B, 0); shmask = vec_cmplt (rshift, shmax); result = vec_sr ((__v2du) __A, rshift); - result = vec_sel ((__v2du) shmask, result, shmask); + result = (__v2du)vec_sel ((__v2df) shmask, (__v2df)result, shmask); return (__m128i) result; } |