[Libre-soc-isa] [Bug 973] an easy way to shift registers up and down is needed

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Sat Oct 29 00:19:19 BST 2022


Luke Kenneth Casson Leighton <lkcl at lkcl.net> changed:

           What    |Removed                     |Added
            Summary|expand svoffset so it can   |an easy way to shift
                   |be used for dynamic         |registers up and down is
                   |vslideup/vslidedown; maybe  |needed
                   |also add insn for setting   |
                   |it from reg                 |

--- Comment #1 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
bugreports like this need to be in the form of software engineering
style "requirements", rather than going straight to "this is how it's
going to be done".

"a problem is identified" rather than deciding - without a discussion -
what the solution is.  particularly when it's part of the spec, we need
to *have* the discussion and evaluate all options before making a
decision, in case there are questions during review.

bigint shifting is the canonical (obvious) case where moving registers
up and down dynamically is needed.  the easiest way that's achieved
right now is with twin-predication, setting only source or dest mask.
source mask with zeros at the front would result in "registers shifted
right" (down).  destination mask with zeros at the front is "registers
shifted left" (up).  an instruction which makes it easy to create
masks from integers is therefore a strong candidate (one that was
already under consideration in bitmanip, and this is a good use-case
for it)

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

More information about the Libre-SOC-ISA mailing list