replace muldiv64(a, b, c) by (uint64_t)a * b / c

When "a" and "b" are 32bit values, we don't have to cast
them to 128bit, 64bit is enough.

This patch is the result of coccinelle script
scripts/coccinelle/simplify_muldiv64.cocci

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
For xtensa PIC:
Acked-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
Laurent Vivier 2016-05-09 15:24:58 +02:00 committed by Michael Tokarev
parent cd1f16f947
commit c00dc6750f
2 changed files with 3 additions and 3 deletions

View File

@ -144,7 +144,7 @@ static void GUS_callback (void *opaque, int free)
s->left = samples;
reset:
gus_irqgen (&s->emu, muldiv64 (net, 1000000, s->freq));
gus_irqgen (&s->emu, (uint64_t)net * 1000000 / s->freq);
}
int GUS_irqrequest (GUSEmuState *emu, int hwirq, int n)

View File

@ -122,8 +122,8 @@ void xtensa_rearm_ccompare_timer(CPUXtensaState *env)
}
env->wake_ccount = wake_ccount;
timer_mod(env->ccompare_timer, env->halt_clock +
muldiv64(wake_ccount - env->sregs[CCOUNT],
1000000, env->config->clock_freq_khz));
(uint64_t)(wake_ccount - env->sregs[CCOUNT]) *
1000000 / env->config->clock_freq_khz);
}
static void xtensa_ccompare_cb(void *opaque)