From 5cc5eddc7c96bcff0a4fb8488c97e31d13f1aea1 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Thu, 22 Jan 2004 02:44:37 +0000 Subject: [PATCH] re PR target/13785 (powerpc64 long long ICE) 2004-01-21 Andrew Pinski PR target/13785 * gcc.dg/20030121-1.c: New test. 2004-01-21 Andrew Pinski PR target/13785 * config/rs6000/rs6000.md (call_value): Force operand 1 not operand 0 into a register. From-SVN: r76332 --- gcc/ChangeLog | 6 ++++++ gcc/config/rs6000/rs6000.md | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/20030121-1.c | 8 ++++++++ 4 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/20030121-1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 812aca7d59c..2017da34ec9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-01-21 Andrew Pinski + + PR target/13785 + * config/rs6000/rs6000.md (call_value): Force operand + 1 not operand 0 into a register. + 2004-01-21 Kazu Hirata * cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def, diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 28f5f257b20..723f06cbbd9 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -10181,7 +10181,7 @@ if (DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_DARWIN) - operands[0] = force_reg (Pmode, operands[0]); + operands[1] = force_reg (Pmode, operands[1]); else if (DEFAULT_ABI == ABI_AIX) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7ebdb67715e..433533fa825 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-01-21 Andrew Pinski + + PR target/13785 + * gcc.dg/20030121-1.c: New test. + 2004-01-22 Ulrich Weigand * gcc.dg/20030123-1.c: Add -fno-omit-frame-pointer option. Do not diff --git a/gcc/testsuite/gcc.dg/20030121-1.c b/gcc/testsuite/gcc.dg/20030121-1.c new file mode 100644 index 00000000000..212d875cbd2 --- /dev/null +++ b/gcc/testsuite/gcc.dg/20030121-1.c @@ -0,0 +1,8 @@ +/* { dg-do compile { target powerpc*-*-darwin* } } */ +/* { dg-options "-O2 -force_cpusubtype_ALL -mpowerpc64" } */ + +long long (*y)(int t); +long long get_alias_set (int t) +{ + return y(t); +}