aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2002-10-17 17:11:57 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2002-10-17 15:11:57 +0000
commitccc4bdea164b72e5bdd281f0ec1b9aff83edf75f (patch)
tree878113b828251fd0ef26e058bff989ee6997f34b /gcc
parent2ffa993239e53b8a905c7761c1f065d24f74556e (diff)
downloadgcc-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/ChangeLog15
-rw-r--r--gcc/config/i386/xmmintrin.h16
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