diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2012-11-18 17:32:04 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2012-11-18 17:32:04 +0000 |
commit | 6cf9964974d79779456b9cde3c3949d056745540 (patch) | |
tree | b52e303924824936374510b1d3c1b10feef80553 /gcc | |
parent | a787ccc38817dac21d8b09fd180f17028d0ee19b (diff) | |
download | gcc-6cf9964974d79779456b9cde3c3949d056745540.zip gcc-6cf9964974d79779456b9cde3c3949d056745540.tar.gz gcc-6cf9964974d79779456b9cde3c3949d056745540.tar.bz2 |
combine.c (make_extraction): Handle TRUNCATEd INNERs.
gcc/
* combine.c (make_extraction): Handle TRUNCATEd INNERs.
From-SVN: r193600
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/combine.c | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b9d7a75..a64c25f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2012-11-18 Richard Sandiford <rdsandiford@googlemail.com> + * combine.c (make_extraction): Handle TRUNCATEd INNERs. + +2012-11-18 Richard Sandiford <rdsandiford@googlemail.com> + * expr.c (expand_assignment): Don't set MEM_KEEP_ALIAS_SET_P here. * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle DECL_BIT_FIELDs, using their size instead of the COMPONENT_REF's. diff --git a/gcc/combine.c b/gcc/combine.c index 5bf08ff..a3583e2 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); |