[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 21:15:10 BST 2023


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

--- Comment #5 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to Luke Kenneth Casson Leighton from comment #4)
> (In reply to Jacob Lifshay from comment #3)
> 
> > imo SNZ is quite low priority for simple and mapreduce modes since all it
> > can do is set the output to 1,
> 
> no: it inverts the *predicate* bit, otherwise set to zero,
> so that it is TRUE rather than false.
> 
> again i reiterate: see sv.bc

ok. same general effect in terms of cross-element decisions.
> 
> > it has no effect like in fail-first. 

SNZ still has no effect in simple and map-reduce modes, because SNZ is only
relevant when there is a test that occurs across elements, rather than only
within each element.

please write out a loop of what you think SNZ should do in simple mode. I
expect that you will find it to be entirely redundant.

> > Another thing I realized while working on divmod, it would be really handy
> > if stuff with a scalar destination would run through all elements instead of
> > stopping at the first, I didn't check if we do that.
> 
> that's exactly what /mr does. 

I know that, the problem is /mr can not be set at the same time as fail-first
because they are options in a 2-bit enum-like field (you can pick *only one* of
simple, map-reduce, or fail-first). so either fail-first implies /mr behavior
or not. I think it should imply /mr behavior.

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


More information about the Libre-SOC-ISA mailing list