+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
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);
}
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);
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);
&& 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. */
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);