aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-12-02 19:27:34 -0800
committerRichard Henderson <rth@gcc.gnu.org>2004-12-02 19:27:34 -0800
commit6e4b5aaf4d243e54a95bcd6fe88f1c28fe03ac26 (patch)
treec8e985a98ef2b37b448cfd9488fab481f606d9a8 /gcc
parent9208393247645077a2d64d0542cd43227e7ae500 (diff)
downloadgcc-6e4b5aaf4d243e54a95bcd6fe88f1c28fe03ac26.zip
gcc-6e4b5aaf4d243e54a95bcd6fe88f1c28fe03ac26.tar.gz
gcc-6e4b5aaf4d243e54a95bcd6fe88f1c28fe03ac26.tar.bz2
re PR target/18774 (mmix-knuth-mmixware testsuite failure: gcc.c-torture/execute/20020227-1.c -Os -O2 compile)
PR 18774 * simplify-rtx.c (simplify_immed_subreg): Fail complex modes. From-SVN: r91672
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/simplify-rtx.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ad04198..471219c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2004-12-02 Richard Henderson <rth@redhat.com>
+
+ * simplify-rtx.c (simplify_immed_subreg): Fail complex modes.
+
2004-12-03 Ben Elliston <bje@au.ibm.com>
* doc/cfg.texi (Edges): Update. Document the edge_iterator data
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index 75bf42a..580782d 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -3326,6 +3326,10 @@ simplify_immed_subreg (enum machine_mode outermode, rtx op,
if (GET_MODE_CLASS (outermode) == MODE_CC && GET_CODE (op) == CONST_INT)
return op;
+ /* We have no way to represent a complex constant at the rtl level. */
+ if (COMPLEX_MODE_P (outermode))
+ return NULL_RTX;
+
/* Unpack the value. */
if (GET_CODE (op) == CONST_VECTOR)