aboutsummaryrefslogtreecommitdiff
path: root/gcc/simplify-rtx.c
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/simplify-rtx.c
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/simplify-rtx.c')
-rw-r--r--gcc/simplify-rtx.c4
1 files changed, 4 insertions, 0 deletions
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)