[Libre-soc-dev] WASM flexible-vectors & SimpleV

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sun Apr 11 13:20:28 BST 2021


On Sunday, April 11, 2021, Jacob Lifshay <programmerjake at gmail.com> wrote:

> Additional description of SimpleV:
>
> https://github.com/WebAssembly/flexible-vectors/issues/7#issuecomment-
> 817252659


nice.  the pseudocode is really clear.  personally i prefer the unbounded
arrays trick, the union being on the reg level rather than the regfile
level.

i used that successfully in spike (sv branch), can't remember if it was
uint8_t *u8 or uint8_t u8[]

caveat being it's an older version, if anyone expresses an interest in the
"full" set of interactions (zeroing, the twin predication, what is needed
for LDST etc) that pseudocode ends up being implemented as this:

https://git.libre-soc.org/?p=riscv-isa-sim.git;a=blob;f=riscv/insn_template_sv.cc;h=b6c3292455935ca4bfc5db42bf091f865212cc18;hb=refs/heads/sv

each actual scalar instruction is #included in that, alongside a series of
autogenerated #defines that enable/disable various features according to
the type of instruction.

if you remember jacob the elwidth overrides were done as a class,
overriding operators.

l.






-- 
---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68


More information about the Libre-soc-dev mailing list