[Libre-soc-dev] scalar instructions and SVP64
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Wed Mar 10 00:49:38 GMT 2021
On Wednesday, March 10, 2021, Jacob Lifshay <programmerjake at gmail.com>
wrote:
> https://libre-soc.org/irclog/%23libre-soc.2021-03-10.log.
> html#t2021-03-10T00:11:21
>
> You see why we need VL to be ignored when there aren't any vector
> arguments?
late (1am), the short answer is no.
VL=0 is defined as "all and any sv ops are NOP".
scalar in SV is defined as "element zero of a vector"
not "scalar because it's scalar i.e. not a vector"
it's DEFINED as being "element zero of the Vector".
ALL sv instructions ARE vector.
the misnamed-thing-we-call-sv-scalar is not actually a scalar.
it *is* "the zeroth element of the vector".
therefore by definition it falls under the vector loop
therefore when VL=0 it shall be skipped because all sv instructions *are*
skipped when VL=0
Period.
if you want scalar instructions you do not put them into SV.
you use the v3.0B scalar instructions because those are categorically
scalar.
RVV has the exact same thing.
all RVV instructions categorically become NOPs when VL==0
l.
--
---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
More information about the Libre-soc-dev
mailing list