--- Begin Message ---
This has a simple fix that I have tested on power8 and Seurer are
tested on power9.
While there may be a more elegent coding for the require casts, this is
the simplest change, considering the current stage.
2018-02-09 Steven Munroe <munro...@gcc.gnu.org>
* config/rs6000/mmintrin.h (_mm_cmpeq_pi32 [_ARCH_PWR9]):
Cast vec_cmpeq result to correct type.
* config/rs6000/mmintrin.h (_mm_cmpgt_pi32 [_ARCH_PWR9]):
Cast vec_cmpgt result to correct type.
Index: gcc/config/rs6000/mmintrin.h
===================================================================
--- gcc/config/rs6000/mmintrin.h (revision 257533)
+++ gcc/config/rs6000/mmintrin.h (working copy)
@@ -854,7 +854,7 @@
a = (__vector signed int)vec_splats (__m1);
b = (__vector signed int)vec_splats (__m2);
- c = (__vector signed short)vec_cmpeq (a, b);
+ c = (__vector signed int)vec_cmpeq (a, b);
return (__builtin_unpack_vector_int128 ((__vector __int128_t)c, 0));
#else
__m64_union m1, m2, res;
@@ -883,7 +883,7 @@
a = (__vector signed int)vec_splats (__m1);
b = (__vector signed int)vec_splats (__m2);
- c = (__vector signed short)vec_cmpgt (a, b);
+ c = (__vector signed int)vec_cmpgt (a, b);
return (__builtin_unpack_vector_int128 ((__vector __int128_t)c, 0));
#else
__m64_union m1, m2, res;
ready to commit?
--- End Message ---