aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstuart <stuart@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-28 20:42:39 +0000
committerstuart <stuart@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-28 20:42:39 +0000
commit8db333af6dc0854ebbca8b10e24a37bf14b06a6f (patch)
treef24a50bc27d50b7b10c6fe1e00d4cd871f4b4ce5
parentcd848a2a0d8ba39b75523fdc6a4c0b27c3da6a79 (diff)
2006-04-27 Hui-May Chang <hm.chang@apple.com>
Radar 4314956 Revert 2006-04-26 patch. Import from mainline: 2005-08-31 Richard Henderson <rth@redhat.com> * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for fp return matching. * g++.dg/sibcall-opt.C: Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/apple/200605-release@113357 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.apple-ppc5
-rw-r--r--gcc/config/i386/i386.c13
-rw-r--r--gcc/testsuite/ChangeLog.apple-ppc5
-rw-r--r--gcc/testsuite/g++.dg/sibcall-opt.C19
4 files changed, 13 insertions, 29 deletions
diff --git a/gcc/ChangeLog.apple-ppc b/gcc/ChangeLog.apple-ppc
index e2821ca479c..36cd241c59d 100644
--- a/gcc/ChangeLog.apple-ppc
+++ b/gcc/ChangeLog.apple-ppc
@@ -1,3 +1,8 @@
+2006-04-27 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4314956
+ Revert 2006-04-26 patch.
+
2006-04-27 Mike Stump <mrs@apple.com>
Radar 4529992
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 21572963b2a..7cf00a31731 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -1844,7 +1844,7 @@ const struct attribute_spec ix86_attribute_table[] =
static bool
ix86_function_ok_for_sibcall (tree decl, tree exp)
{
- /* APPLE LOCAL begin mainline 2006-04-16 4205103, 4314956 */
+ /* APPLE LOCAL begin mainline 2005-09-20 4205103 */
tree func;
rtx a, b;
@@ -1876,16 +1876,9 @@ ix86_function_ok_for_sibcall (tree decl, tree exp)
a = ix86_function_value (TREE_TYPE (exp), func, false);
b = ix86_function_value (TREE_TYPE (DECL_RESULT (cfun->decl)),
cfun->decl, false);
- if (STACK_REG_P (a) || STACK_REG_P (b))
- {
- if (!rtx_equal_p (a, b))
- return false;
- }
- else if (VOID_TYPE_P (TREE_TYPE (DECL_RESULT (cfun->decl))))
- ;
- else if (! rtx_equal_p (a, b))
+ if (! rtx_equal_p (a, b))
return false;
- /* APPLE LOCAL end mainline 2006-04-16 4205103, 4314956 */
+ /* APPLE LOCAL end mainline 2005-09-20 4205103 */
/* If this call is indirect, we'll need to be able to use a call-clobbered
register for the address of the target function. Make sure that all
diff --git a/gcc/testsuite/ChangeLog.apple-ppc b/gcc/testsuite/ChangeLog.apple-ppc
index e841b80729a..67dcdc681d2 100644
--- a/gcc/testsuite/ChangeLog.apple-ppc
+++ b/gcc/testsuite/ChangeLog.apple-ppc
@@ -1,3 +1,8 @@
+2006-04-27 Hui-May Chang <hm.chang@apple.com>
+
+ Radar 4314956
+ * g++.dg/sibcall-opt.C: Remove.
+
2006-04-27 Mike Stump <mrs@apple.com>
Radar 4529992
diff --git a/gcc/testsuite/g++.dg/sibcall-opt.C b/gcc/testsuite/g++.dg/sibcall-opt.C
deleted file mode 100644
index a2ec43563dd..00000000000
--- a/gcc/testsuite/g++.dg/sibcall-opt.C
+++ /dev/null
@@ -1,19 +0,0 @@
-/* APPLE LOCAL file mainline 2006-04-19 4314956 */
-/* { dg-do compile { target i?86*-*-* } }*/
-/* { dg-options "-O3" } */
-/* { dg-final { scan-assembler "\tjmp\t.*memset*" } } */
-typedef __SIZE_TYPE__ size_t;
-extern "C" void memset(void *, int, size_t);
-class SIMDProcessor {
-public:
- virtual void Memset(void *, const int, const int) = 0;
-};
-
-class SIMDGeneric : public SIMDProcessor {
-public:
- virtual void Memset(void *, const int, const int);
-};
-
-void SIMDGeneric::Memset(void *dst, const int val, const int count) {
- memset(dst, val, count);
-}