From 6e4b5aaf4d243e54a95bcd6fe88f1c28fe03ac26 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 2 Dec 2004 19:27:34 -0800 Subject: [PATCH] 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 --- gcc/ChangeLog | 4 ++++ gcc/simplify-rtx.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ad04198dd99..471219c77f8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-12-02 Richard Henderson + + * simplify-rtx.c (simplify_immed_subreg): Fail complex modes. + 2004-12-03 Ben Elliston * doc/cfg.texi (Edges): Update. Document the edge_iterator data diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 75bf42afbd4..580782d600f 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) -- 2.30.2