diff options
author | Geoffrey Keating <geoffk@apple.com> | 2005-04-02 09:58:36 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2005-04-02 09:58:36 +0000 |
commit | 51b759248a56e7638ea4c5d7afc7586ffa98a2dc (patch) | |
tree | 58c6f203179882a25cd48a11b0f08368804d2095 | |
parent | 5f89fef6c49500be489aeca3d76bb69b49ca47dd (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/rs6000-fpint.c | 11 |
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; +} |