public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* [x86-64 psABI] RFC: Document Intel AMX
@ 2020-08-03 15:28 H.J. Lu
  0 siblings, 0 replies; only message in thread
From: H.J. Lu @ 2020-08-03 15:28 UTC (permalink / raw)
  To: x86-64-abi, GCC Development, llvm-dev

[-- Attachment #1: Type: text/plain, Size: 575 bytes --]

Intel Advanced Matrix Extensions (Intel AMX) is a new programming
paradigm consisting of two components: a set of 2-dimensional
registers (tiles) representing sub-arrays from a larger 2-dimensional
memory image, and accelerators able to operate on tiles. Capability of
Intel AMX implementation is enumerated by palettes. Two palettes are
supported: palette 0 represents the initialized state and palette 1
consists of 8 tile registers of up to 1 KB size, which is controlled
by a tile control register.

https://gitlab.com/x86-psABIs/x86-64-ABI/-/merge_requests/12

-- 
H.J.

[-- Attachment #2: 0001-Document-Intel-AMX.patch --]
[-- Type: text/x-patch, Size: 2808 bytes --]

From 3061010906291cd2722dc9a407dd8afe454459a5 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Wed, 6 May 2020 17:25:38 -0700
Subject: [PATCH] Document Intel AMX

Intel Advanced Matrix Extensions (Intel AMX) is a new programming
paradigm consisting of two components: a set of 2-dimensional registers
(tiles) representing sub-arrays from a larger 2-dimensional memory image,
and accelerators able to operate on tiles.  Capability of Intel AMX
implementation is enumerated by palettes.  Two palettes are supported:
palette 0 represents the initialized state and palette 1 consists of
8 tile registers of up to 1 KB size, which is controlled by a tile
control register.
---
 x86-64-ABI/low-level-sys-info.tex | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/x86-64-ABI/low-level-sys-info.tex b/x86-64-ABI/low-level-sys-info.tex
index becfa1f..2188295 100644
--- a/x86-64-ABI/low-level-sys-info.tex
+++ b/x86-64-ABI/low-level-sys-info.tex
@@ -326,6 +326,15 @@ vector register to refer to either SSE, AVX or AVX-512 register.  In
 addition, Intel AVX-512 also provides 8 vector mask registers (\reg{k0}
 - \reg{k7}), each 64-bit wide.
 
+Intel Advanced Matrix Extensions (Intel AMX) is a new programming
+paradigm consisting of two components: a set of 2-dimensional registers
+(tiles) representing sub-arrays from a larger 2-dimensional memory image,
+and accelerators able to operate on tiles.  Capability of Intel AMX
+implementation is enumerated by palettes.  Two palettes are supported:
+palette 0 represents the initialized state and palette 1 consists of
+8 tile registers (\reg{tmm0} - \reg{tmm7}) of up to 1 KB size, which
+is controlled by a tile control register.
+
 This subsection discusses usage of each register.  Registers \RBP, \RBX and
 \reg{r12} through \reg{r15} ``belong'' to the calling function and the
 called function is required to preserve their values.  In other words,
@@ -588,6 +597,7 @@ bit.}.
 \begin{figure}
 \Hrule
   \caption{Register Usage}
+  \myfontsize
   \label{fig-reg-usage}
   \begin{center}
     \begin{tabular}{l|p{7.95cm}|l}
@@ -620,6 +630,7 @@ chain pointer & No \\
 arguments & No\\
 \reg{xmm2}--\reg{xmm7} & used to pass floating point arguments & No\\
 \reg{xmm8}--\reg{xmm15} & temporary registers & No\\
+\reg{tmm0}--\reg{tmm7}& temporary registers & No\\
 \reg{mm0}--\reg{mm7}& temporary registers & No\\
 \reg{k0}--\reg{k7} & temporary registers & No\\
 \reg{st0},\reg{st1} & temporary registers, used to return \code{long double} arguments & No \\
@@ -628,6 +639,7 @@ arguments & No\\
 \code{mxcsr}& SSE2 control and status word & partial\\
 \code{x87 SW}& x87 status word & No\\
 \code{x87 CW}& x87 control word & Yes\\
+\code{tilecfig} & Tile control register & No \\
     \end{tabular}
 
   \end{center}
-- 
2.26.2


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-08-03 15:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-03 15:28 [x86-64 psABI] RFC: Document Intel AMX H.J. Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).