[Libre-soc-isa] [Bug 560] big-endian little-endian SV regfile layout idea
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Wed Jan 6 20:12:13 GMT 2021
https://bugs.libre-soc.org/show_bug.cgi?id=560
--- Comment #100 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #97)
> Well, all the above would be resolved if we treated scalar arguments as
> referring to the whole register, not just one element in a register, as I
> proposed (and originally assumed was the case).
i explained why that would compromise SV.
the cases that need a full walkthrough to understand why explicit control is
needed not implicit context-sensitive reversal are the interactions on:
* v3.0b ld
* v3.0b lw
* v3.0b st
* v3.0b stw
* v3.0b add (purely as an example)
* SV ld VL=1
* SV lw VL=1
* SV st VL=1
* SV stw VL=1
* SV add VL=1
* SV ld elwidth=32,destew=32 VL=1
* SV lw elwidth=32,destew=32 VL=1
* SV st elwidth=32,destew=32 VL=1
* SV stw elwidth=32,destew=32 VL=1
* SV add elwidth=32,destew=32 VL=1
* SV ld destew=32 VL=1
* SV lw destew=32 VL=1
* SV st destew=32 VL=1
* SV stw destew=32 VL=1
* SV add destew=32 VL=1
* SV ld elwidth=32 VL=1
* SV lw elwidth=32 VL=1
* SV st elwidth=32 VL=1
* SV stw elwidth=32 VL=1
* SV add elwidth=32 VL=1
and then VL=2 or 3 or 4.
the interaction on all of those - all permutations (all 55 of them) needs to be
thought through, every single one.
the sheer scope of that should give you some idea as to why, when we are a year
behind, i have been requesting again and again that we stop trying to get more
of these deep-dive features into SV.
periphery ones that go in a tiny portion of the spec and use an existing bit of
hardware (the 1<<r3 idea), no problem.
full-on fundamental redesigns of the regfile like this have to stop.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Libre-SOC-ISA
mailing list