From 992550d9a688aed347411c45abfd6ef70f11386f Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Thu, 17 May 2001 19:49:34 +0200 Subject: [PATCH] recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode when calling simplify_subreg. * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode when calling simplify_subreg. This is needed to allow replacing of expression of one mode by expression of different mode. From-SVN: r42214 --- gcc/ChangeLog | 6 ++++++ gcc/recog.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4087617124c..f021be5cd4d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Thu May 17 19:48:00 CEST 2001 Jan Hubicka + + * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode + when calling simplify_subreg. This is needed to allow replacing + of expression of one mode by expression of different mode. + Thu May 17 19:40:03 CEST 2001 Jan Hubicka * simplify-rtx.c (simplify_subreg): Avoid creating of incorrect subregs. diff --git a/gcc/recog.c b/gcc/recog.c index d858394c4cd..00b45c64ce5 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -582,7 +582,9 @@ validate_replace_rtx_1 (loc, from, to, object) if (rtx_equal_p (SUBREG_REG (x), from)) { rtx temp; - temp = simplify_subreg (GET_MODE (x), to, GET_MODE (SUBREG_REG (x)), + temp = simplify_subreg (GET_MODE (x), to, + GET_MODE (to) != VOIDmode + ? GET_MODE (to) : GET_MODE (SUBREG_REG (x)), SUBREG_BYTE (x)); if (temp) { -- 2.30.2