[Libre-soc-isa] [Bug 533] design new CR instructions suitable for predication
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sun Nov 29 12:22:19 GMT 2020
https://bugs.libre-soc.org/show_bug.cgi?id=533
Luke Kenneth Casson Leighton <lkcl at lkcl.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|programmerjake at gmail.com |lkcl at lkcl.net
--- Comment #4 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
got it. i had a feeling this might be what you meant. ok so SV doesn't have
bit-level element as a concept, appropriate as that might be for isel, setb and
so on.
from an SV perspective it falls into the category of "weird" because it needs
to be considered to be "scalar at the 32 bit CR level" i.e. treat the whole
32-bit CR as "the element" and consequently treat the int src/dest as 64-bit at
the "element" level for
scalar purposes.
op op op op op op op op
src1: CR0 CR1 CR2 CR3 CR4 CR5 CR6 CR7
src2: CR0 CR1 CR2 CR3 CR4 CR5 CR6 CR7
dest: i[0] i[1] i[2] i[3] i[4] i[5] i[6] i[7]
even weirder is that it will need an implicit elwidth override on ints when SV
vectorised, because strictly speaking it's a normal arithmetic op (2 CR src, 1
int dest), and normal arithmetic SV ops are treated as single-predicated and
single elwidth override.
if however it was *only* a 1-CR 1-int op then that is a standard SV
twin-predication operation, and standard SV twin predication operations should
take dual element-widths (one for src and one for dest)... argh except there's
not enough room in SV Prefix, that was part of VBLOCK, argh, argh, argh.
so we'd have to treat this one as an implicit "integer gets a default
automatic elwidth override to 8-bit" operation which, actually, is quite
reasonable if the entire operation is sort-of treated as an
8 bit operation at the scalar level. urr :)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Libre-SOC-ISA
mailing list