Skip to content

Integrated matrix extension#21

Merged
joseemoreira merged 7 commits intoriscv:integrated-matrix-extensionfrom
joseemoreira:integrated-matrix-extension
Mar 9, 2026
Merged

Integrated matrix extension#21
joseemoreira merged 7 commits intoriscv:integrated-matrix-extensionfrom
joseemoreira:integrated-matrix-extension

Conversation

@joseemoreira
Copy link
Copy Markdown
Collaborator

Separated order-preserving and transposing tile loads/stores.

@joseemoreira joseemoreira merged commit 1267261 into riscv:integrated-matrix-extension Mar 9, 2026
2 of 3 checks passed
ptomsich pushed a commit that referenced this pull request Mar 9, 2026
* Extra tag to make image preview work

* Updated SAIL for tile loads/stores when (rs2) == 0

* Separate order-preserving vs transposing tile loads/stores
ptomsich added a commit that referenced this pull request Mar 26, 2026
Process all 28 items from the IME TG internal review feedback tracker.

Subextension dependencies (#3):
  Replace blanket Zve64d dependency with the minimum Zve subset per
  subextension: Zve32x for integer accumulators ≤ 32-bit, Zve64x for
  Int64 accumulators, Zve32f for FP accumulators ≤ 32-bit, and Zve64d
  only for FP64 accumulators.

8× widening instructions (#7, #8, #9, #24):
  Add v8wmmacc.vv (funct6=0x3b, OPIVV), vf8wmmacc.vv (funct6=0x17,
  OPFVV), and vf8wimmacc.vv (integer-input MX variant, vm=0 of
  v8wmmacc) with full instruction definitions, SAIL pseudocode,
  encoding diagrams, and exception tables.  Update encoding maps (FP,
  integer, integer MX) with W=8 entries.  Add Zvvxi4fp32mm and
  Zvvxni4fp32mm to the MX subextension table.  Replace the informative
  NOTE about reserved W=8 encoding space with normative text.  Remove
  the undefined term "octal-widening".

MXINT4 clarification and OCP citation (#14):
  Define MXINT4 as analogous to OCP MX's MXINT8 but with 4-bit signed
  elements.  Add proper citation of the OCP Microscaling Formats (MX)
  v1.0 Specification with URL.  Update microscaling applicability to
  include vf8wmmacc.vv.

vfmmacc.vv vm=0 cleanup (#13, #28):
  Remove contradictory "When vm=0" exception bullets (vm=0 is reserved
  for non-widening FP).  Replace dead microscaling SAIL code with a
  straightforward non-widening FP GEMM loop.  Add explicit note that
  microscaling is not supported for non-widening multiply-accumulate.

Terminology fixes (#15, #21):
  Add forward cross-reference at first use of altfmt_A/altfmt_B.
  Correct two occurrences where λ was described as "the K dimension"
  to "tile-layout parameter", clarifying that K_eff = λ × W × LMUL is
  the derived effective K dimension.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant