Skip to content
This repository has been archived by the owner on Sep 2, 2023. It is now read-only.

Add a "Register Length" tag to vector registers #39

Open
mbitsnbites opened this issue Jul 23, 2018 · 0 comments
Open

Add a "Register Length" tag to vector registers #39

mbitsnbites opened this issue Jul 23, 2018 · 0 comments

Comments

@mbitsnbites
Copy link
Member

mbitsnbites commented Jul 23, 2018

Functionality

  • Writing to a vector register updates its Register Length to the operation Vector Length.
  • In most instructions the Register Length of the first soruce vector operand defines the operation Vector Length.
  • The VL register defines the operation Vector Length for certain "register initialization" instructions, e.g:
    • Stride based memory loads (LDW, LDUB etc) and load effective address (LDEA).
    • Operations using the VZ register as the first operand (e.g. OR V2, VZ, R7).
  • Elements with an index >= RL are read as zero.
  • Clearing a vector register to RL=0 marks the register as "unused", which can reduce context switch overhead.

New instructions

  • A new "get length" instruction can be used for querying the Register Length of a vector register.
  • Possibly add a "clear register" instruction that sets RL to zero for one register (or several registers at once?).
  • Possibly add a "set length" instruction.
@mbitsnbites mbitsnbites changed the title Add a "get length" instruction for vector registers Add a "Register Length" tag to vector registers Feb 7, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant