[Libre-soc-isa] [Bug 1183] add /mrr mode (reverse mode) to Data-Dependent Fail-First CR_ops

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Thu Oct 12 10:14:09 BST 2023


https://bugs.libre-soc.org/show_bug.cgi?id=1183

--- Comment #2 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #1)

> are you sure it covers sv.cmpi? cmpi has BF as the destination field which
> is 3 bits, not 5.

arse. you're right.

> (In reply to Luke Kenneth Casson Leighton from bug 1044 comment #56)

> though, now that I look at it more closely, do we need SNZ that much?

yes. it provides the boolean-logic equivalent of AND OR NAND and NOR.
i learned this trick on thinking through the design of sv.bc. have
a look and you'll see why it's important.

damnit i hate doing redesigns of SV this late in the game.

 |6 | 7 |19:20|21 | 22:23   |  description     |
 |--|---|-----|---|---------|------------------|
 |RG|SNZ|0  0 |/  | dz  sz  | simple mode                      |
 |RG|SNZ|1  0 |/  | dz  sz  | scalar reduce mode (mapreduce) |
 |RG|SNZ|VLI 1|inv|  CR-bit | Ffirst 3-bit mode (implicit zz=1)     |
 |RG|SNZ|VLI 1|inv|  dz sz  | Ffirst 5-bit mode (implies CR-bit from result) |

that preserves the 

and just have to specify that zz=1 implicitly for 3-bit mode.
if people *really* want dz=sz=0 (twin-predication or single)
then they can take a copy of the relevant CR-bit-vector
using "sv.mcrf/sm=X/dm=y" to perform the compress/expand...
and *then* do sv.cmpi/mrr

ohhh... sigh, really must do a unit test sv.mcrf/mrr/sm=x/dm=y

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Libre-SOC-ISA mailing list