diff options
author | Bernd Schmidt <bernds@codesourcery.com> | 2011-07-08 13:03:38 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2011-07-08 13:03:38 +0000 |
commit | 0d44736e759f00ddadd0ab5188a86297fac5d284 (patch) | |
tree | d3cb9244ced6ff224a76525334a1a776a361f70c /gcc/recog.c | |
parent | 86cdf39313b1c1bd212037be84f9161eda0d4c7f (diff) | |
download | gcc-0d44736e759f00ddadd0ab5188a86297fac5d284.zip gcc-0d44736e759f00ddadd0ab5188a86297fac5d284.tar.gz gcc-0d44736e759f00ddadd0ab5188a86297fac5d284.tar.bz2 |
optabs.c (expand_binop): Tighten conditions for doubleword expansions.
* optabs.c (expand_binop): Tighten conditions for doubleword
expansions.
(widen_bswap): Assert that mode bitsize and precision are the
same.
* stor-layout.c (get_best_mode): Skip modes that have lower
precision than bitsize.
* recog.c (simplify_while_replacing): Assert that bitsize and
precision are the same.
From-SVN: r176040
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index 0c26c0d..9331681 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -638,6 +638,8 @@ simplify_while_replacing (rtx *loc, rtx to, rtx object, (GET_MODE_SIZE (is_mode) - GET_MODE_SIZE (wanted_mode) - offset); + gcc_assert (GET_MODE_PRECISION (wanted_mode) + == GET_MODE_BITSIZE (wanted_mode)); pos %= GET_MODE_BITSIZE (wanted_mode); newmem = adjust_address_nv (XEXP (x, 0), wanted_mode, offset); |