combine.c (simplify_set, [...]): Use full mask instead of GET_MODE_MASK (mode) as force_to_mode argument.

* 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.

From-SVN: r35348
This commit is contained in:
Jan Hubicka 2000-07-30 18:40:12 +00:00 committed by Jan Hubicka
parent 4921989511
commit e8dc6d5074
2 changed files with 12 additions and 6 deletions

View File

@ -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

View File

@ -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);