[libre-riscv-dev] daily kan-ban update 07jul2020

Jacob Lifshay programmerjake at gmail.com
Tue Jul 7 18:06:00 BST 2020


On Tue, Jul 7, 2020, 04:30 Luke Kenneth Casson Leighton <lkcl at lkcl.net>
wrote:

>
> https://bugs.libre-soc.org/showdependencytree.cgi?maxdepth=1&id=383&hide_resolved=1
>
> yesterday:
>
> * implemented a (very basic) MUL pipeline, started creating unit tests
>

The partitioned multiplier I had written should implement all the ops you
need other than madd*, though you'd need to either revert or finish off all
the half-completed refactorings.

for the madd* instructions, you would need to sum the third register and
mul.intermediate_output using a 128-bit adder with the register sign or
zero extended as appropriate, then take the lower or upper 64-bits as
indicated by the specific instruction.
a 64*64+64->128-bit madd won't ever overflow the 128 bits for both signed
and unsigned multiplication.

I'll be adding the mul* and madd* instructions to
power-instruction-analyzer shortly.

Jacob


More information about the libre-riscv-dev mailing list