aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1998-04-14 02:04:21 -0600
committerJeff Law <law@gcc.gnu.org>1998-04-14 02:04:21 -0600
commit80608e279347300c822a048eb4b37b607f930b76 (patch)
tree1736d4d6a2a38dc658dba69d19cc0c2ebd9e2166 /gcc/combine.c
parentd5daf0986fe2946d7dd9704cfe3e2407e98f2637 (diff)
downloadgcc-80608e279347300c822a048eb4b37b607f930b76.zip
gcc-80608e279347300c822a048eb4b37b607f930b76.tar.gz
gcc-80608e279347300c822a048eb4b37b607f930b76.tar.bz2
combine.c (simplify_rtx, [...]): Respect value of TRULY_NOOP_TRUNCATION.
8 * combine.c (simplify_rtx, case TRUNCATE): Respect value of TRULY_NOOP_TRUNCATION. From-SVN: r19204
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index c831be1..66de17e 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -3736,7 +3736,9 @@ simplify_rtx (x, op0_mode, last, in_dest)
if (GET_MODE_CLASS (mode) == MODE_PARTIAL_INT)
break;
- if (GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT)
+ if (GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT
+ && TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode),
+ GET_MODE_BITSIZE (GET_MODE (XEXP (x, 0)))))
SUBST (XEXP (x, 0),
force_to_mode (XEXP (x, 0), GET_MODE (XEXP (x, 0)),
GET_MODE_MASK (mode), NULL_RTX, 0));