[libre-riscv-dev] [Bug 120] implement RISC-V FSGNJ instruction

bugzilla-daemon at libre-riscv.org bugzilla-daemon at libre-riscv.org
Mon Jan 27 13:13:56 GMT 2020


http://bugs.libre-riscv.org/show_bug.cgi?id=120

--- Comment #16 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
*click*, apologies michael: i just realised something.  although Switch/Case
statements ultimately map down to Mux() or in rare cases PMux, for the FPU code
we can't use them.... or If() statements (basically anything with a "with" 
context).

the reason is down to the deployment of the PartitionedSignal class, which
will perform operations in parallel.  to support m.Case(), m.If() etc. we
would need to do a seeerious amount of coding, possibly even modifying
nmigen itself.

by keeping to Mux as a decision-maker plus basic arithmetic operators we
can write a parallel-PartitionSignal-aware-Mux() plus parallel-aware arith
and the job of converting all code to dynamic SIMD is a by-the-numbers
process pretty much replacing Signal with PartitionedSignal across all FP
classes.

apologies i forgot to mention that.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-riscv-dev mailing list