emmintrin.h (_mm_sll_epi64): Remove wrong cast.
authorBill Schmidt <wschmidt@linux.ibm.com>
Thu, 25 Oct 2018 20:09:24 +0000 (20:09 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Thu, 25 Oct 2018 20:09:24 +0000 (20:09 +0000)
2018-10-25  Bill Schmidt  <wschmidt@linux.ibm.com>
    Jinsong Ji <jji@us.ibm.com>

* config/rs6000/emmintrin.h (_mm_sll_epi64): Remove wrong cast.
* config/rs6000/xmmintrin.h (_mm_min_ps): Change m's type to
__vector __bool int.  Use vec_cmpgt in preference to deprecated
function vec_vcmpgtfp.
(_mm_max_ps): Likewise.

Co-Authored-By: Jinsong Ji <jji@us.ibm.com>
From-SVN: r265506

gcc/ChangeLog
gcc/config/rs6000/emmintrin.h
gcc/config/rs6000/xmmintrin.h

index 186ffe83a8a2ec493959c9a6c74d32b9f3ba7f99..f6d77513a2b8137170571b6925ad0a8cae55a97a 100644 (file)
@@ -1,3 +1,12 @@
+2018-10-25  Bill Schmidt  <wschmidt@linux.ibm.com>
+           Jinsong Ji <jji@us.ibm.com>
+
+       * config/rs6000/emmintrin.h (_mm_sll_epi64): Remove wrong cast.
+       * config/rs6000/xmmintrin.h (_mm_min_ps): Change m's type to
+       __vector __bool int.  Use vec_cmpgt in preference to deprecated
+       function vec_vcmpgtfp.
+       (_mm_max_ps): Likewise.
+
 2018-10-25  Jeff Law  <law@redhat.com>
 
        * config/rl78/rl78.c (insn_ok_now): Always re-recognize the insn
 
        * options.texi (Deprecated): Move list to Var section.
 
+2018-10-24  Bill Schmidt  <wschmidt@linux.ibm.com>
+            Jinsong Ji <jji@us.ibm.com>
+
+        * config/rs6000/emmintrin.h (_mm_cvtpd_epi32): Change deprecated
+        __vector long to __vector long long.
+        (_mm_cvtpd_ps): Likewise.
+        (_mm_cvttpd_epi32): Likewise.
+        (_mm_cvtpi32_pd): Likewise.
+        (_mm_unpackhi_epi64): Likewise.
+        (_mm_unpacklo_epi64): Likewise.
+
 2018-10-24  Segher Boessenkool  <segher@kernel.crashing.org>
 
        PR rtl-optimization/87720
        * tree-ssa-threadedge.c (thread_around_empty_blocks): Handle
        the case we do not find the taken edge.
 
+2018-10-22  Bill Schmidt  <wschmidt@linux.ibm.com>
+            Jinsong Ji  <jji@us.ibm.com>
+
+        * config/rs6000/emmintrin.h (_MM_SHUFFLE2): Comment cleanup.
+        (_mm_store_pd): Use unaligned vector type for pointer cast.
+        (_mm_maskmoveu_si128): Likewise.
+        * config/rs6000/xmmintrin.h (__m128_u): New typedef.
+        (_mm_store_ps): Use unaligned vector type for pointer cast.
+
 2018-10-22  Paul Koning  <ni1d@arrl.net>
 
        * symtab.c (symtab_node::increase_alignment): Correct max
        (*sub<mode>3<mask_name>_bcst): New.
        (*add<mode>3<mask_name>_bcst): Likewise.
 
+2018-10-21  Bill Schmidt  <wschmidt@linux.ibm.com>
+            Jinsong Ji  <jji@us.ibm.com>
+
+        * config/rs6000/emmintrin.h (_mm_movemask_pd): Replace __vector
+        __m64 with __vector unsigned long long for compatibility.
+        (_mm_movemask_epi8): Likewise.
+        * config/rs6000/xmmintrin.h (_mm_cvtps_pi32): Likewise.
+        (_mm_cvttps_pi32): Likewise.
+        (_mm_cvtpi32_ps): Likewise.
+        (_mm_cvtps_pi16): Likewise.
+        (_mm_loadh_pi): Likewise.
+        (_mm_storeh_pi): Likewise.
+        (_mm_movehl_ps): Likewise.
+        (_mm_movelh_ps): Likewise.
+        (_mm_loadl_pi): Likewise.
+        (_mm_storel_pi): Likewise.
+        (_mm_movemask_ps): Likewise.
+        (_mm_shuffle_pi16): Likewise.
+
 2018-10-21  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/72782
index c499c9dc029cc948ae395b73fb1851c35a18b662..0d73ffe518b71a79a4244c9606744204bfe8184e 100644 (file)
@@ -1770,8 +1770,7 @@ _mm_sll_epi64 (__m128i __A, __m128i __B)
   lshift = (__v2du) vec_splat ((__v2du)__B, 0);
   shmask = lshift < shmax;
   result = vec_vsld ((__v2du) __A, lshift);
-  result = (__v2du) vec_sel ((__v2df) shmask, (__v2df) result,
-                             (__v2df) shmask);
+  result = (__v2du) vec_sel ((__v2df) shmask, (__v2df) result, shmask);
 
   return (__m128i) result;
 }
index a691712d4c8ceede26cb87410df6ed32a35c3733..528937552c6bc7e2f6ffcc214fce0d414e59b892 100644 (file)
@@ -457,14 +457,14 @@ _mm_max_ss (__m128 __A, __m128 __B)
 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 _mm_min_ps (__m128 __A, __m128 __B)
 {
-  __m128 m = (__m128) vec_vcmpgtfp ((__v4sf) __B, (__v4sf) __A);
+  __vector __bool int m = vec_cmpgt ((__v4sf) __B, (__v4sf) __A);
   return vec_sel (__B, __A, m);
 }
 
 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 _mm_max_ps (__m128 __A, __m128 __B)
 {
-  __m128 m = (__m128) vec_vcmpgtfp ((__v4sf) __A, (__v4sf) __B);
+  __vector __bool int m = vec_cmpgt ((__v4sf) __A, (__v4sf) __B);
   return vec_sel (__B, __A, m);
 }