From 71c3949eeae32f0c242fa00c48be998b13cfdd7a Mon Sep 17 00:00:00 2001 From: Bill Schmidt Date: Thu, 25 Oct 2018 20:09:24 +0000 Subject: [PATCH] emmintrin.h (_mm_sll_epi64): Remove wrong cast. 2018-10-25 Bill Schmidt Jinsong Ji * 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 From-SVN: r265506 --- gcc/ChangeLog | 48 +++++++++++++++++++++++++++++++++++ gcc/config/rs6000/emmintrin.h | 3 +-- gcc/config/rs6000/xmmintrin.h | 4 +-- 3 files changed, 51 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 186ffe83a8a..f6d77513a2b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2018-10-25 Bill Schmidt + Jinsong Ji + + * 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 * config/rl78/rl78.c (insn_ok_now): Always re-recognize the insn @@ -59,6 +68,17 @@ * options.texi (Deprecated): Move list to Var section. +2018-10-24 Bill Schmidt + Jinsong Ji + + * 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 PR rtl-optimization/87720 @@ -217,6 +237,15 @@ * tree-ssa-threadedge.c (thread_around_empty_blocks): Handle the case we do not find the taken edge. +2018-10-22 Bill Schmidt + Jinsong Ji + + * 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 * symtab.c (symtab_node::increase_alignment): Correct max @@ -468,6 +497,25 @@ (*sub3_bcst): New. (*add3_bcst): Likewise. +2018-10-21 Bill Schmidt + Jinsong Ji + + * 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 PR target/72782 diff --git a/gcc/config/rs6000/emmintrin.h b/gcc/config/rs6000/emmintrin.h index c499c9dc029..0d73ffe518b 100644 --- a/gcc/config/rs6000/emmintrin.h +++ b/gcc/config/rs6000/emmintrin.h @@ -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; } diff --git a/gcc/config/rs6000/xmmintrin.h b/gcc/config/rs6000/xmmintrin.h index a691712d4c8..528937552c6 100644 --- a/gcc/config/rs6000/xmmintrin.h +++ b/gcc/config/rs6000/xmmintrin.h @@ -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); } -- 2.30.2