2012-09-25 Georg-Johann Lay <avr@gjlay.de>
+ PR other/54701
+ * config/avr/avr-log.c (avr_double_int_pop_digit): Reerite using
+ double_int::udivmod.
+
+2012-09-25 Georg-Johann Lay <avr@gjlay.de>
+
* config/avr/avr.c (avr_set_current_function): Check cfun->machine
to be non-NULL.
static unsigned
avr_double_int_pop_digit (double_int *cst, unsigned base)
{
- unsigned HOST_WIDE_INT resl, reml;
- HOST_WIDE_INT resh, remh;
+ double_int drem;
- div_and_round_double (FLOOR_DIV_EXPR, true, cst->low, cst->high, base, 0,
- &resl, &resh, &reml, &remh);
- cst->high = resh;
- cst->low = resl;
+ *cst = cst->udivmod (double_int::from_uhwi (base), (int) FLOOR_DIV_EXPR,
+ &drem);
- return reml;
+ return (unsigned) drem.to_uhwi();
}