[Libre-soc-dev] RV SIMD

Luke Kenneth Casson Leighton lkcl at lkcl.net
Fri Feb 12 19:12:25 GMT 2021


so it begins - illustrating very starkly the O(N^6) opcode proliferation.

most significant word multiply, in 32 16 and 8 bit selection.

saturation and rounding, 10 opcodes per width (8, 16) per operation (add,
mul, shift)

byte packing 40 opcodes.

signed crossed multiply (HI-LO LO-HI words)

the list goes on and on and on, a total nightmare.

SV *literally* covers the entire lot with swizzle, elwidth overrides,
saturation contexts and VL, with the addition of something like 5 or 6
instructions: average-add, min/max, abs-diff, i think that's it.

one good operation comes out of this: bitrev.  this is an extract operation
except including reversal of the bits extracted.


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

More information about the Libre-soc-dev mailing list