aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorFalk Hueffner <falk@debian.org>2004-02-20 23:13:16 +0100
committerFalk Hueffner <falk@gcc.gnu.org>2004-02-20 23:13:16 +0100
commitf4d9988bb3bcebdb4ed27f44dcd3b6cada64a658 (patch)
treece8a218351b5e2f38ad5cfb6906089bf92d254ac /gcc
parent2ae5c785657f57c270c81d33776771bff8cfb0ad (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/config/alpha/alpha.md4
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/fix-trunc-mem-1.c12
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; }