aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIgor Shevlyakov <igor@microunity.com>2002-09-26 21:15:26 +0000
committerRichard Henderson <rth@gcc.gnu.org>2002-09-26 14:15:26 -0700
commit855c3a2e32e513b7851f889b9e41b4836ec3af8a (patch)
tree27a010d5fa4eb9ddf736b210001bea1100cf2fdf /gcc
parentd57f8a715271293684d53eb1c17ac1386862a09f (diff)
downloadgcc-855c3a2e32e513b7851f889b9e41b4836ec3af8a.zip
gcc-855c3a2e32e513b7851f889b9e41b4836ec3af8a.tar.gz
gcc-855c3a2e32e513b7851f889b9e41b4836ec3af8a.tar.bz2
combine.c (simplify_set): Don't call to force_to_mode if size of integer type is larger than...
* combine.c (simplify_set): Don't call to force_to_mode if size of integer type is larger than HOST_BITS_PER_WIDE_INT. From-SVN: r57549
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/combine.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5e2ff79..f9d73ba 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-26 Igor Shevlyakov <igor@microunity.com>
+
+ * combine.c (simplify_set): Don't call to force_to_mode if size
+ of integer type is larger than HOST_BITS_PER_WIDE_INT.
+
2002-09-26 Janis Johnson <janis187@us.ibm.com>
* Makefile.in (qmtest-g++): Fix file path.
diff --git a/gcc/combine.c b/gcc/combine.c
index 5b7b5a9..7fcada4 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -5011,7 +5011,8 @@ simplify_set (x)
simplify the expression for the object knowing that we only need the
low-order bits. */
- if (GET_MODE_CLASS (mode) == MODE_INT)
+ if (GET_MODE_CLASS (mode) == MODE_INT
+ && GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT)
{
src = force_to_mode (src, mode, ~(HOST_WIDE_INT) 0, NULL_RTX, 0);
SUBST (SET_SRC (x), src);