From: Richard Sandiford Date: Sun, 18 Nov 2012 17:32:04 +0000 (+0000) Subject: combine.c (make_extraction): Handle TRUNCATEd INNERs. X-Git-Tag: releases/gcc-4.8.0~1939 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6cf9964974d79779456b9cde3c3949d056745540;p=thirdparty%2Fgcc.git combine.c (make_extraction): Handle TRUNCATEd INNERs. gcc/ * combine.c (make_extraction): Handle TRUNCATEd INNERs. From-SVN: r193600 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b9d7a75653fc..a64c25f8cbb7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2012-11-18 Richard Sandiford + + * combine.c (make_extraction): Handle TRUNCATEd INNERs. + 2012-11-18 Richard Sandiford * expr.c (expand_assignment): Don't set MEM_KEEP_ALIAS_SET_P here. diff --git a/gcc/combine.c b/gcc/combine.c index 5bf08ff2fb6d..a3583e2013ad 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -7022,6 +7022,8 @@ make_extraction (enum machine_mode mode, rtx inner, HOST_WIDE_INT pos, if (new_rtx != 0) return gen_rtx_ASHIFT (mode, new_rtx, XEXP (inner, 1)); } + else if (GET_CODE (inner) == TRUNCATE) + inner = XEXP (inner, 0); inner_mode = GET_MODE (inner);