diff options
author | Jan Hubicka <jh@suse.cz> | 2002-10-17 17:11:57 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2002-10-17 15:11:57 +0000 |
commit | ccc4bdea164b72e5bdd281f0ec1b9aff83edf75f (patch) | |
tree | 878113b828251fd0ef26e058bff989ee6997f34b /gcc | |
parent | 2ffa993239e53b8a905c7761c1f065d24f74556e (diff) | |
download | gcc-ccc4bdea164b72e5bdd281f0ec1b9aff83edf75f.zip gcc-ccc4bdea164b72e5bdd281f0ec1b9aff83edf75f.tar.gz gcc-ccc4bdea164b72e5bdd281f0ec1b9aff83edf75f.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 15 | ||||
-rw-r--r-- | gcc/config/i386/xmmintrin.h | 16 |
2 files changed, 24 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6117552..b00610d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -8,6 +8,21 @@ Wed Oct 16 15:01:29 CEST 2002 Jan Hubicka <jh@suse.cz> * 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 <rsandifo@redhat.com> * 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 264608d..627dcdf 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 |