From: Jan Hubicka Date: Thu, 17 Oct 2002 15:11:57 +0000 (+0200) Subject: Really commit patch announced at Oct 14 PR c/7344 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ccc4bdea164b72e5bdd281f0ec1b9aff83edf75f;p=gcc.git Really commit patch announced at Oct 14 PR c/7344 Really commit patch announced at Oct 14 PR c/7344 * predict.c (can_predict_insn_p): New function. (estimate_probability): Avoid unnecesary work. (process_note_prediction): Likewise. * toplev.c (rest_of_compilation): Account early branch prediction pass as TV_BRANCH_PROB. PR other/8048 Found by Ian Ollmann * xmmintrin.h (_mm_shuffle_pd): Fix typo. (_mm_load?_pd): Likewise. (_mm_store?_pd): Likewise. PR target/7386 * i386.c (builtin_description):Drop cmpg[te]s[sd]. * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using swapped alternative. PR opt/7630 * reload1.c (reload_inner_reg_of_subreg): New argument output; (push_reload): Update call. From-SVN: r58247 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 61175522871..b00610de28e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -8,6 +8,21 @@ Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka * toplev.c (rest_of_compilation): Account early branch prediction pass as TV_BRANCH_PROB. + PR other/8048 + Found by Ian Ollmann + * xmmintrin.h (_mm_shuffle_pd): Fix typo. + (_mm_load?_pd): Likewise. + (_mm_store?_pd): Likewise. + + PR target/7386 + * i386.c (builtin_description):Drop cmpg[te]s[sd]. + * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using + swapped alternative. + + PR opt/7630 + * reload1.c (reload_inner_reg_of_subreg): New argument output; + (push_reload): Update call. + 2002-10-17 Richard Sandiford * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines diff --git a/gcc/config/i386/xmmintrin.h b/gcc/config/i386/xmmintrin.h index 264608daad0..627dcdf5ca3 100644 --- a/gcc/config/i386/xmmintrin.h +++ b/gcc/config/i386/xmmintrin.h @@ -1521,7 +1521,7 @@ _mm_cvtss_sd (__m128d __A, __m128d __B) return (__m128d)__builtin_ia32_cvtss2sd ((__v2df) __A, (__v4sf)__B); } -#define _mm_shuffle_pd(__A, __B, __C) ((__m128d)__builtin_ia32_shufpd ((__v2df)__A, (__v2df)__B, (C))) +#define _mm_shuffle_pd(__A, __B, __C) ((__m128d)__builtin_ia32_shufpd ((__v2df)__A, (__v2df)__B, (__C))) static __inline __m128d _mm_unpackhi_pd (__m128d __A, __m128d __B) @@ -1536,27 +1536,29 @@ _mm_unpacklo_pd (__m128d __A, __m128d __B) } static __inline __m128d -_mm_loadh_pd (__m128d __A, __m128d *__B) +_mm_loadh_pd (__m128d __A, double *__B) { return (__m128d)__builtin_ia32_loadhpd ((__v2df)__A, (__v2si *)__B); } static __inline void -_mm_storeh_pd (__m128d *__A, __m128d __B) +_mm_storeh_pd (__m128d *__A, double __B) { - __builtin_ia32_storehpd ((__v2si *)__A, (__v2df)__B); + __v2df __tmp = __builtin_ia32_loadsd (&__B); + __builtin_ia32_storehpd ((__v2si *)__A, __tmp); } static __inline __m128d -_mm_loadl_pd (__m128d __A, __m128d *__B) +_mm_loadl_pd (__m128d __A, double *__B) { return (__m128d)__builtin_ia32_loadlpd ((__v2df)__A, (__v2si *)__B); } static __inline void -_mm_storel_pd (__m128d *__A, __m128d __B) +_mm_storel_pd (__m128d *__A, double __B) { - __builtin_ia32_storelpd ((__v2si *)__A, (__v2df)__B); + __v2df __tmp = __builtin_ia32_loadsd (&__B); + __builtin_ia32_storelpd ((__v2si *)__A, __tmp); } static __inline int