Commit e8dc6d50 by Jan Hubicka Committed by Jan Hubicka

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

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
parent 49219895
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> 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 * combine.c (if_then_else_cond): Be sure that mode fits in HOST_WIDE_INT
......
...@@ -4883,7 +4883,7 @@ simplify_set (x) ...@@ -4883,7 +4883,7 @@ simplify_set (x)
if (GET_MODE_CLASS (mode) == MODE_INT) 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); SUBST (SET_SRC (x), src);
} }
...@@ -5977,7 +5977,7 @@ make_extraction (mode, inner, pos, pos_rtx, len, ...@@ -5977,7 +5977,7 @@ make_extraction (mode, inner, pos, pos_rtx, len,
else else
new = force_to_mode (inner, tmode, new = force_to_mode (inner, tmode,
len >= HOST_BITS_PER_WIDE_INT len >= HOST_BITS_PER_WIDE_INT
? GET_MODE_MASK (tmode) ? ~(HOST_WIDE_INT) 0
: ((unsigned HOST_WIDE_INT) 1 << len) - 1, : ((unsigned HOST_WIDE_INT) 1 << len) - 1,
NULL_RTX, 0); NULL_RTX, 0);
...@@ -6198,7 +6198,7 @@ make_extraction (mode, inner, pos, pos_rtx, len, ...@@ -6198,7 +6198,7 @@ make_extraction (mode, inner, pos, pos_rtx, len,
inner = force_to_mode (inner, wanted_inner_mode, inner = force_to_mode (inner, wanted_inner_mode,
pos_rtx pos_rtx
|| len + orig_pos >= HOST_BITS_PER_WIDE_INT || 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) : ((((unsigned HOST_WIDE_INT) 1 << len) - 1)
<< orig_pos), << orig_pos),
NULL_RTX, 0); NULL_RTX, 0);
...@@ -6528,8 +6528,8 @@ make_compound_operation (x, in_code) ...@@ -6528,8 +6528,8 @@ make_compound_operation (x, in_code)
&& GET_MODE_SIZE (mode) < GET_MODE_SIZE (GET_MODE (tem)) && GET_MODE_SIZE (mode) < GET_MODE_SIZE (GET_MODE (tem))
&& subreg_lowpart_p (x)) && subreg_lowpart_p (x))
{ {
rtx newer = force_to_mode (tem, mode, rtx newer = force_to_mode (tem, mode, ~(HOST_WIDE_INT) 0,
GET_MODE_MASK (mode), NULL_RTX, 0); NULL_RTX, 0);
/* If we have something other than a SUBREG, we might have /* If we have something other than a SUBREG, we might have
done an expansion, so rerun outselves. */ done an expansion, so rerun outselves. */
...@@ -7647,7 +7647,7 @@ make_field_assignment (x) ...@@ -7647,7 +7647,7 @@ make_field_assignment (x)
GET_MODE (src), other, pos), GET_MODE (src), other, pos),
mode, mode,
GET_MODE_BITSIZE (mode) >= HOST_BITS_PER_WIDE_INT GET_MODE_BITSIZE (mode) >= HOST_BITS_PER_WIDE_INT
? GET_MODE_MASK (mode) ? ~(HOST_WIDE_INT) 0
: ((unsigned HOST_WIDE_INT) 1 << len) - 1, : ((unsigned HOST_WIDE_INT) 1 << len) - 1,
dest, 0); dest, 0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment