+2004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * expmed.c (expand_mult_highpart_adjust): Do not assume OP1
+ is a CONST_INT.
+ (expand_mult_highpart_optab): Call expand_mult_highpart_adjust
+ with NARROW_OP1 instead of OP1.
+
2004-04-24 Ulrich Weigand <uweigand@de.ibm.com>
* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
rtx tem;
enum rtx_code adj_code = unsignedp ? PLUS : MINUS;
- op1 = gen_int_mode (INTVAL (op1), mode);
tem = expand_shift (RSHIFT_EXPR, mode, op0,
build_int_2 (GET_MODE_BITSIZE (mode) - 1, 0),
NULL_RTX, 0);
unsignedp, OPTAB_DIRECT);
if (tem)
/* We used the wrong signedness. Adjust the result. */
- return expand_mult_highpart_adjust (mode, tem, op0, op1,
+ return expand_mult_highpart_adjust (mode, tem, op0, narrow_op1,
tem, unsignedp);
}
{
tem = extract_high_half (mode, tem);
/* We used the wrong signedness. Adjust the result. */
- return expand_mult_highpart_adjust (mode, tem, op0, op1,
+ return expand_mult_highpart_adjust (mode, tem, op0, narrow_op1,
target, unsignedp);
}
}