diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2010-11-16 22:30:19 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2010-11-16 22:30:19 +0000 |
commit | a05c8f23516bdeec9f2bfa3092f031b081405aaa (patch) | |
tree | 1798120234e788be245c8b883c0ab40e1499142f /gcc/combine.c | |
parent | cfc76ec4d063ce5c7b80db4a3466f7974b0a554b (diff) | |
download | gcc-a05c8f23516bdeec9f2bfa3092f031b081405aaa.zip gcc-a05c8f23516bdeec9f2bfa3092f031b081405aaa.tar.gz gcc-a05c8f23516bdeec9f2bfa3092f031b081405aaa.tar.bz2 |
re PR rtl-optimization/46490 (ACATS c460007 fails at -O2 or above)
PR rtl-optimization/46490
* combine.c (expand_compound_operation): Fix thinko.
From-SVN: r166830
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index ee26c90..d55ce31 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -6761,11 +6761,11 @@ expand_compound_operation (rtx x) count. This can happen in a case like (x >> 31) & 255 on machines that can't shift by a constant. On those machines, we would first combine the shift with the AND to produce a variable-position - extraction. Then the constant of 31 would be substituted in to produce - a such a position. */ + extraction. Then the constant of 31 would be substituted in + to produce such a position. */ modewidth = GET_MODE_BITSIZE (GET_MODE (x)); - if (modewidth + len >= pos) + if (modewidth >= pos + len) { enum machine_mode mode = GET_MODE (x); tem = gen_lowpart (mode, XEXP (x, 0)); |