aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@apple.com>2005-04-02 09:58:36 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2005-04-02 09:58:36 +0000
commit51b759248a56e7638ea4c5d7afc7586ffa98a2dc (patch)
tree58c6f203179882a25cd48a11b0f08368804d2095 /gcc
parent5f89fef6c49500be489aeca3d76bb69b49ca47dd (diff)
downloadgcc-51b759248a56e7638ea4c5d7afc7586ffa98a2dc.zip
gcc-51b759248a56e7638ea4c5d7afc7586ffa98a2dc.tar.gz
gcc-51b759248a56e7638ea4c5d7afc7586ffa98a2dc.tar.bz2
re PR target/20650 (float.c fails to build with weird error message)
PR 20650 * config/rs6000/rs6000.md (fix_truncdfsi2): Make destination a register. From-SVN: r97435
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/rs6000/rs6000.md4
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/rs6000-fpint.c11
4 files changed, 22 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a827229..26b9d0f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2005-04-02 Geoffrey Keating <geoffk@apple.com>
+ PR 20650
+ * config/rs6000/rs6000.md (fix_truncdfsi2): Make destination
+ a register.
+
* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Add -pipe.
* config/t-darwin (TARGET_LIBGCC2_CFLAGS): Likewise.
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 916f391..d97d3be 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -5272,8 +5272,10 @@
DONE;
}")
+; In the TARGET_PPC_GFXOPT case, this could and probably should
+; take a memory destination; but actually making this work is hard.
(define_expand "fix_truncdfsi2"
- [(parallel [(set (match_operand:SI 0 "reg_or_mem_operand" "")
+ [(parallel [(set (match_operand:SI 0 "gpc_reg_operand" "")
(fix:SI (match_operand:DF 1 "gpc_reg_operand" "")))
(clobber (match_dup 2))
(clobber (match_dup 3))])]
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2f207eb..b8c4724 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2005-04-02 Geoffrey Keating <geoffk@apple.com>
+
+ * gcc.dg/rs6000-fpint.c: New.
+
2005-04-01 Joseph S. Myers <joseph@codesourcery.com>
* gcc.dg/old-style-then-proto-1.c: New test.
diff --git a/gcc/testsuite/gcc.dg/rs6000-fpint.c b/gcc/testsuite/gcc.dg/rs6000-fpint.c
new file mode 100644
index 0000000..410f780
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/rs6000-fpint.c
@@ -0,0 +1,11 @@
+/* { dg-do compile { target powerpc*-*-* rs6000-*-* } } */
+/* { dg-options "-mno-powerpc-gfxopt" } */
+/* { dg-final { scan-assembler-not "stfiwx" } } */
+
+/* A basic test of the old-style (not stfiwx) fp -> int conversion. */
+int f(double a, double b)
+{
+ int a1 = a;
+ int b1 = b;
+ return a1+b1;
+}