[Libre-soc-dev] scalar instructions and SVP64

Adam Van Ymeren adam at vany.ca
Wed Mar 10 03:39:35 GMT 2021


On March 9, 2021 5:05:02 p.m. PST, Jacob Lifshay <programmerjake at gmail.com> wrote:
>On Tue, Mar 9, 2021, 16:50 Luke Kenneth Casson Leighton <lkcl at lkcl.net>
>wrote:
>
>> 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.
>>
>
>Well, then we need to change the spec since a "no" answer is
>effectively
>unworkable from a SW perspective, as (poorly) illustrated by that
>example
>code. 

Can you outline in more detail why it is unworkable from a SW perspective?  It seems from a cursory look easily workable by just setting VL=1 and element size to 64-bit.

I can see it being a bit of extra work for compilers to know that accessing high numbered registers requires a bit of extra work but that really doesn't sound unworkable to me.

I can however imagine that adding a special case for VL==0 could result in many more gates/complication for the OoO/scoreboard execution engine.



More information about the Libre-soc-dev mailing list