1
0
mirror of https://github.com/antonblanchard/microwatt.git synced 2026-02-04 07:32:47 +00:00
Files
antonblanchard.microwatt/fpga
Paul Mackerras 734e4c4a52 core: Add a short multiplier
This adds an optional 16 bit x 16 bit signed multiplier and uses it
for multiply instructions that return the low 64 bits of the product
(mull[dw][o] and mulli, but not maddld) when the operands are both in
the range -2^15 .. 2^15 - 1.   The "short" 16-bit multiplier produces
its result combinatorially, so a multiply that uses it executes in one
cycle.  This improves the coremark result by about 4%, since coremark
does quite a lot of multiplies and they almost all have operands that
fit into 16 bits.

The presence of the short multiplier is controlled by a generic at the
execute1, SOC, core and top levels.  For now, it defaults to off for
all platforms, and can be enabled using the --has_short_mult flag to
fusesoc.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2021-09-15 10:41:30 +10:00
..
2021-08-09 13:30:26 +10:00
2019-10-13 14:41:53 +11:00
2021-08-09 11:57:00 +10:00
2021-08-09 11:57:00 +10:00
2021-08-09 11:57:00 +10:00
2021-08-09 13:30:26 +10:00
2019-08-23 16:23:53 +10:00
2021-08-09 13:30:26 +10:00
2019-08-22 16:46:13 +10:00
2021-08-09 13:30:26 +10:00
2019-08-22 16:46:13 +10:00
2021-09-15 10:41:30 +10:00
2021-09-15 10:41:30 +10:00