summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-30 18:40:12 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-30 18:40:12 +0000
commitaa57d9cd5e22b03e34ad2bc17b9700e3af2356fa (patch)
treea32f660f85c17a3f80a9ad286cdd168f578b8db7
parent29743b4b71565ea17ebf57dc16b39736bb25c9bc (diff)
downloadppe42-gcc-aa57d9cd5e22b03e34ad2bc17b9700e3af2356fa.tar.gz
ppe42-gcc-aa57d9cd5e22b03e34ad2bc17b9700e3af2356fa.zip
* combine.c (simplify_set, make_extraction, make_compound_operation
make_field_assignment): Use full mask instead of GET_MODE_MASK (mode) as force_to_mode argument. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35348 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/combine.c12
2 files changed, 12 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 176c7bb5f76..87c9b6b81a0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Sun Jul 30 20:38:26 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * combine.c (simplify_set, make_extraction, make_compound_operation
+ make_field_assignment): Use full mask instead of GET_MODE_MASK (mode)
+ as force_to_mode argument.
+
Sun Jul 30 20:30:41 MET DST 2000 Jan Hubicka <jh@suse.cz>
* combine.c (if_then_else_cond): Be sure that mode fits in HOST_WIDE_INT
diff --git a/gcc/combine.c b/gcc/combine.c
index 55be324ccf0..a38c8eddea5 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -4883,7 +4883,7 @@ simplify_set (x)
if (GET_MODE_CLASS (mode) == MODE_INT)
{
- src = force_to_mode (src, mode, GET_MODE_MASK (mode), NULL_RTX, 0);
+ src = force_to_mode (src, mode, ~(HOST_WIDE_INT) 0, NULL_RTX, 0);
SUBST (SET_SRC (x), src);
}
@@ -5977,7 +5977,7 @@ make_extraction (mode, inner, pos, pos_rtx, len,
else
new = force_to_mode (inner, tmode,
len >= HOST_BITS_PER_WIDE_INT
- ? GET_MODE_MASK (tmode)
+ ? ~(HOST_WIDE_INT) 0
: ((unsigned HOST_WIDE_INT) 1 << len) - 1,
NULL_RTX, 0);
@@ -6198,7 +6198,7 @@ make_extraction (mode, inner, pos, pos_rtx, len,
inner = force_to_mode (inner, wanted_inner_mode,
pos_rtx
|| len + orig_pos >= HOST_BITS_PER_WIDE_INT
- ? GET_MODE_MASK (wanted_inner_mode)
+ ? ~(HOST_WIDE_INT) 0
: ((((unsigned HOST_WIDE_INT) 1 << len) - 1)
<< orig_pos),
NULL_RTX, 0);
@@ -6528,8 +6528,8 @@ make_compound_operation (x, in_code)
&& GET_MODE_SIZE (mode) < GET_MODE_SIZE (GET_MODE (tem))
&& subreg_lowpart_p (x))
{
- rtx newer = force_to_mode (tem, mode,
- GET_MODE_MASK (mode), NULL_RTX, 0);
+ rtx newer = force_to_mode (tem, mode, ~(HOST_WIDE_INT) 0,
+ NULL_RTX, 0);
/* If we have something other than a SUBREG, we might have
done an expansion, so rerun outselves. */
@@ -7647,7 +7647,7 @@ make_field_assignment (x)
GET_MODE (src), other, pos),
mode,
GET_MODE_BITSIZE (mode) >= HOST_BITS_PER_WIDE_INT
- ? GET_MODE_MASK (mode)
+ ? ~(HOST_WIDE_INT) 0
: ((unsigned HOST_WIDE_INT) 1 << len) - 1,
dest, 0);
OpenPOWER on IntegriCloud