[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
Fri Nov 17 15:04:12 GMT 2023
https://bugs.libre-soc.org/show_bug.cgi?id=1183
--- Comment #16 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #3)
> 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. This is useful for not
> overwriting all the CRs that you could be storing some other variable in.
>
> e.g.:
> sv.cmpi/ff=lt 0, 1, *10, 5
> is:
> i = 0
> while i < VL:
> CR0 = cmpd(gpr[10 + i], 5)
> if CR0.lt:
> break
> i += 1
> VL = i
>
> note how only CR0 is ever written and yet the whole vector loop is run
yes, i just discovered the exact same thing is needed for Fortran MAXLOC
(https://bugs.libre-soc.org/show_bug.cgi?id=676#c26)
there it is necessary to use RT=RA=scalar on sv.maxs./ff=lt to get it
to "track and return" the largest number *in a scalar* of the vector
of source numbers.
this implies *changing normal mode as well*
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Libre-SOC-ISA
mailing list