[Libre-soc-isa] [Bug 1053] New: Separate Vector CRs containing CR8-CR127 from Scalar CR containing CR0-CR7
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Tue Apr 11 14:25:35 BST 2023
https://bugs.libre-soc.org/show_bug.cgi?id=1053
Bug ID: 1053
Summary: Separate Vector CRs containing CR8-CR127 from Scalar
CR containing CR0-CR7
Product: Libre-SOC's first SoC
Version: unspecified
Hardware: Other
OS: Linux
Status: CONFIRMED
Severity: enhancement
Priority: ---
Component: Specification
Assignee: lkcl at lkcl.net
Reporter: lkcl at lkcl.net
CC: libre-soc-isa at lists.libre-soc.org
NLnet milestone: ---
we've been made aware that the use of CR Fields as both Vectors and
Predicate Masks could compromise multi-issue out-of-order systems
due to the massive Hazard Management it creates.
to ensure that *scalar* instructions are not "damaged" the idea is
to make instructions that mix and match from CR00-7 and CR8-127
raise Illegal Instruction traps, *with the exception* of 1-in 1-out
such as sv.mfcr and the sv.crweird group, which woud still be
restricted to singlr-scalar destination if the destination is CR0-CR7.
high-performance systems could therefore consider CR0-7 as
a *completely and literally separate* register file from
CR8-CR127.
the same concept could also hypothetically be applied to GPR and
FPR but the result coud damage Simple-V by restricting the number
of contiguous registers useable as Vectors: the existing scalar
GPR/FPR being 25% of SVP64's register range.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Libre-SOC-ISA
mailing list