remainder, 1,
OPTAB_LIB_WIDEN);
if (remainder)
- return remainder;
+ return gen_lowpart (mode, remainder);
}
quotient = expand_shift (RSHIFT_EXPR, compute_mode, op0,
build_int_2 (pre_shift, 0),
GEN_INT (((HOST_WIDE_INT) 1 << pre_shift) - 1),
remainder, 0, OPTAB_LIB_WIDEN);
if (remainder)
- return remainder;
+ return gen_lowpart (mode, remainder);
}
quotient = expand_shift (RSHIFT_EXPR, compute_mode, op0,
build_int_2 (pre_shift, 0),
expand_dec (quotient, const1_rtx);
expand_inc (remainder, op1);
emit_label (label);
- if (rem_flag)
- return remainder;
- else
- return quotient;
+ return gen_lowpart (mode, rem_flag ? remainder : quotient);
}
/* No luck with division elimination or divmod. Have to do it
expand_inc (quotient, const1_rtx);
expand_dec (remainder, op1);
emit_label (label);
- return rem_flag ? remainder : quotient;
+ return gen_lowpart (mode, rem_flag ? remainder : quotient);
}
/* No luck with division elimination or divmod. Have to do it
expand_inc (quotient, const1_rtx);
expand_dec (remainder, op1);
emit_label (label);
- return rem_flag ? remainder : quotient;
+ return gen_lowpart (mode, rem_flag ? remainder : quotient);
}
/* No luck with division elimination or divmod. Have to do it