From 1d12df723d8dc90f2f75b73bbf799725c214584b Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 12 Aug 1994 14:57:01 -0400 Subject: [PATCH] (simplify_rtx, case FLOAT_TRUNCATE): Remove redundant float_truncate. From-SVN: r7906 --- gcc/combine.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gcc/combine.c b/gcc/combine.c index 83f2cd469c5..581105ea8ec 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -3444,6 +3444,13 @@ simplify_rtx (x, op0_mode, last, in_dest) && GET_MODE (XEXP (XEXP (XEXP (x, 0), 0), 0)) == mode) return gen_unary (GET_CODE (XEXP (x, 0)), mode, mode, XEXP (XEXP (XEXP (x, 0), 0), 0)); + + /* (float_truncate:SF (subreg:DF (float_truncate:SF X) 0)) + is (float_truncate:SF x). */ + if (GET_CODE (XEXP (x, 0)) == SUBREG + && subreg_lowpart_p (XEXP (x, 0)) + && GET_CODE (SUBREG_REG (XEXP (x, 0))) == FLOAT_TRUNCATE) + return SUBREG_REG (XEXP (x, 0)); break; #ifdef HAVE_cc0 -- 2.30.2