diff options
author | Falk Hueffner <falk@debian.org> | 2004-02-20 23:13:16 +0100 |
---|---|---|
committer | Falk Hueffner <falk@gcc.gnu.org> | 2004-02-20 23:13:16 +0100 |
commit | f4d9988bb3bcebdb4ed27f44dcd3b6cada64a658 (patch) | |
tree | ce8a218351b5e2f38ad5cfb6906089bf92d254ac /gcc | |
parent | 2ae5c785657f57c270c81d33776771bff8cfb0ad (diff) | |
download | gcc-f4d9988bb3bcebdb4ed27f44dcd3b6cada64a658.zip gcc-f4d9988bb3bcebdb4ed27f44dcd3b6cada64a658.tar.gz gcc-f4d9988bb3bcebdb4ed27f44dcd3b6cada64a658.tar.bz2 |
re PR target/14201 (float -> int (in mem) with -mieee causes unrecognizable insn+segv)
PR target/14201
* config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
numbers.
* gcc.c-torture/compile/fix-trunc-mem-1.c: New test.
From-SVN: r78188
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.md | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/fix-trunc-mem-1.c | 12 |
4 files changed, 25 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cfdba5b..24cf40e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-02-20 Falk Hueffner <falk@debian.org> + + PR target/14201 + * config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand + numbers. + 2004-02-20 Per Bothner <per@bothner.com> * input.h: Don't #include line-map.h. It may cause link problems diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index 98950aa..998e300 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -2403,9 +2403,9 @@ "&& reload_completed" [(set (match_dup 2) (match_op_dup 4 [(float_extend:DF (match_dup 1))])) (set (match_dup 3) (unspec:SF [(match_dup 2)] UNSPEC_CVTQL)) - (set (match_dup 4) (match_dup 3))] + (set (match_dup 5) (match_dup 3))] { - operands[4] = adjust_address (operands[0], SFmode, 0); + operands[5] = adjust_address (operands[0], SFmode, 0); } [(set_attr "type" "fadd") (set_attr "trap" "yes")]) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index aacaa35..1d75bac 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-02-20 Falk Hueffner <falk@debian.org> + + PR target/14201 + * gcc.c-torture/compile/fix-trunc-mem-1.c: New test. + 2004-02-20 Mark Mitchell <mark@codesourcery.com> PR c++/13927 diff --git a/gcc/testsuite/gcc.c-torture/compile/fix-trunc-mem-1.c b/gcc/testsuite/gcc.c-torture/compile/fix-trunc-mem-1.c new file mode 100644 index 0000000..739726d --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/fix-trunc-mem-1.c @@ -0,0 +1,12 @@ +/* PR target/14201 */ +/* Excercise float -> integer in memory patterns. */ +/* { dg-options "-mieee" { target alpha*-*-* } } */ + +void f1 (float v, int *p) { *p = v; } +void f2 (float v, unsigned int*p) { *p = v; } +void f3 (float v, long long *p) { *p = v; } +void f4 (float v, unsigned long long *p) { *p = v; } +void f5 (double v, int *p) { *p = v; } +void f6 (double v, unsigned int *p) { *p = v; } +void f7 (double v, long long *p) { *p = v; } +void f8 (double v, unsigned long long *p) { *p = v; } |