diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/simplify-rtx.c | 4 |
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) |
