@@ -201,25 +201,25 @@ def XeVM_BlockLoad2dOp
201201 let description = [{
202202 The `xevm.blockload2d` operation loads a two dimensional matrix tile
203203 from a base matrix residing in global memory. The parameters are:
204- $ ptr - the base address of the base matrix containing the tile to load
205- $ base_width - the width of the base matrix in number of bytes.
206- $ base_height - the number of rows in the base matrix
207- $ base_pitch - the physical stride between the first columns of the current
208- row and the subsequent row in number of bytes.
209- $x, $y, $ tile_width, $ tile_height - the starting offsets and shape of
210- the tile to load in number of elements.
211- $ elem_size_in_bits - the size in bits of the matrix element type
204+ * ` ptr` - the base address of the base matrix containing the tile to load
205+ * ` base_width` - the width of the base matrix in number of bytes.
206+ * ` base_height` - the number of rows in the base matrix
207+ * ` base_pitch` - the physical stride between the first columns of the current
208+ row and the subsequent row in number of bytes.
209+ * `x`, `y`, ` tile_width`, ` tile_height` - the starting offsets and shape of
210+ the tile to load in number of elements.
211+ * ` elem_size_in_bits` - the size in bits of the matrix element type
212212 - 32 for f32, tf32
213213 - 16 for f16, int16, bf16
214214 - 8 for int8
215- $ v_blocks - number of consecutive tiles in innermost dimension direction to load
216- $ transpose - transpose the tile in registers (useful for 32 bit element type)
217- $ pack_register - pack element types narrower than register bit width.
215+ * ` v_blocks` - number of consecutive tiles in innermost dimension direction to load
216+ * ` transpose` - transpose the tile in registers (useful for 32 bit element type)
217+ * ` pack_register` - pack element types narrower than register bit width.
218218 [M, N] => [M/factor, N, factor] where factor is register_size_in_bits / elem_size_in_bits
219- $ cache_control - an enumerator that sets the cache behaviour
219+ * ` cache_control` - an enumerator that sets the cache behaviour
220220
221221 Notes:
222- - the $ transpose and $ pack_register parameters are mutual exclusive
222+ - the ` transpose` and ` pack_register` parameters are mutual exclusive
223223 - transposing the tile loaded is used for A matrix in backward path or used for the B matrix operand
224224 (D = C + A * B), where A has row-major layout and B should have column-major layout in memory.
225225 - if the tile loaded contains out of bound elements of the matrix, they are filled with 0.
@@ -262,19 +262,19 @@ def XeVM_BlockStore2dOp
262262 let description = [{
263263 The `xevm.blockstore2d` operation stores a two dimensional tile into a
264264 larger matrix residing in global memory. The parameters are:
265- $ ptr - the base address of the target matrix where to store the tile
266- $ base_width - the width of the base matrix in number of bytes.
267- $ base_height - the number of rows in the base matrix
268- $ base_pitch - the physical stride between the first columns of the current
269- row and the subsequent row in number of bytes.
270- $x, $y, $ tile_width, $ tile_height - the starting offsets and shape of the tile to store
265+ * ` ptr` - the base address of the target matrix where to store the tile
266+ * ` base_width` - the width of the base matrix in number of bytes.
267+ * ` base_height` - the number of rows in the base matrix
268+ * ` base_pitch` - the physical stride between the first columns of the current
269+ row and the subsequent row in number of bytes.
270+ * `x`, `y`, ` tile_width`, ` tile_height` - the starting offsets and shape of the tile to store
271271 in number of elements.
272- $ elem_size_in_bits - the size in bits of the matrix element
272+ * ` elem_size_in_bits` - the size in bits of the matrix element
273273 - 32 for f32, tf32
274274 - 16 for f16, int16, bf16
275275 - 8 for int8
276- $ cache_control - an enumerator that sets the cache behaviour
277- $ stored_val - the tile to store
276+ * ` cache_control` - an enumerator that sets the cache behaviour
277+ * ` stored_val` - the tile to store
278278
279279 Example:
280280 ```mlir
@@ -351,10 +351,10 @@ def XeVM_MemfenceOp
351351 This operation ensures that all prior memory accesses of this
352352 work-item to `addrspace` are visible to all other work-items in `scope`.
353353 Parameters description:
354- $ scope - specify the memory scope at which all other work-items should observe
355- memory operations prior to the fence.
356- $ addrspace - specify the address space of work-item's memory accesses
357- to be affected by the fence.
354+ * ` scope` - specify the memory scope at which all other work-items should observe
355+ memory operations prior to the fence.
356+ * ` addrspace` - specify the address space of work-item's memory accesses
357+ to be affected by the fence.
358358 }];
359359 let assemblyFormat = [{prop-dict attr-dict}];
360360
@@ -370,9 +370,9 @@ def XeVM_PrefetchOp
370370 let summary = "Prefetch data into a cache subsystem.";
371371 let description = [{
372372 Work-item issues a prefetch from global memory to cache:
373- $ ptr - LLVM pointer with address space. Address space must be 1 (global)
374- or 4 (generic)
375- $ cache_control - specify caching options
373+ * ` ptr` - LLVM pointer with address space. Address space must be 1 (global)
374+ or 4 (generic)
375+ * ` cache_control` - specify caching options
376376 }];
377377 let assemblyFormat = [{
378378 operands prop-dict attr-dict `:` `(` type(operands) `)`
@@ -395,19 +395,19 @@ def XeVM_BlockPrefetch2dOp
395395 let description = [{
396396 The `xevm.blockprefetch2d` operation prefetches a two dimensional tile
397397 from a larger base matrix residing in global memory. The parameters are:
398- $ ptr - the base address of the base matrix containing the tile to prefetch
399- $ base_width - the width of the base matrix in number of bytes.
400- $ base_height - the number of rows in the base matrix
401- $ base_pitch - the physical stride between the first columns of the current
402- row and the subsequent row in number of bytes.
403- $x, $y, $ tile_width, $ tile_height - the starting offsets and shape of tile
404- to prefetch in number of elements.
405- $ elem_size_in_bits - the size in bits of the matrix element
406- - 32 for f32, bf32
407- - 16 for f16, int16, bf16
408- - 8 for int8, int4, int2
409- $ v_blocks - number of tiles in innermost dimension direction to prefetch
410- $ cache_control - an enumerator that sets the cache behaviour
398+ * ` ptr` - the base address of the base matrix containing the tile to prefetch
399+ * ` base_width` - the width of the base matrix in number of bytes.
400+ * ` base_height` - the number of rows in the base matrix
401+ * ` base_pitch` - the physical stride between the first columns of the current
402+ row and the subsequent row in number of bytes.
403+ * `x`, `y`, ` tile_width`, ` tile_height` - the starting offsets and shape of tile
404+ to prefetch in number of elements.
405+ * ` elem_size_in_bits` - the size in bits of the matrix element
406+ - 32 for f32, bf32
407+ - 16 for f16, int16, bf16
408+ - 8 for int8, int4, int2
409+ * ` v_blocks` - number of tiles in innermost dimension direction to prefetch
410+ * ` cache_control` - an enumerator that sets the cache behaviour
411411
412412 Example:
413413 ```mlir
@@ -452,9 +452,9 @@ def XeVM_ElemTypeAttr : I32EnumAttr<"ElemType", "XeVM element type",
452452def XeVM_MMAShapeAttr : XeVM_Attr<"MMAShape", "mma_shape"> {
453453 let description = [{
454454 MMA operation is represented as D=AxB+C, where
455- A has the shape MxK.
456- B has the shape KxN.
457- D and C have the shape MxN.
455+ - A has the shape MxK.
456+ - B has the shape KxN.
457+ - D and C have the shape MxN.
458458 This attribute encodes the shape of all matrices that participate in MMA.
459459 }];
460460 let parameters = (ins "int":$m, "int":$n, "int":$k);
@@ -484,17 +484,17 @@ def XeVM_MMAOp
484484 D = C + A x B
485485
486486 where the A, B, C input matrices and the result D have shapes:
487- D : MxN
488- C : MxN
489- A : MxK
490- B : KxN
487+ - D : MxN
488+ - C : MxN
489+ - A : MxK
490+ - B : KxN
491491
492492 Parameters:
493- `a` - vector of matrix A elements.
494- `b` - vector of matrix B elements.
495- `c` - (optional) vector of matrix C elements.
496- `shape` - the shape of the matrices, specified as `M`, `N`, and `K` values.
497- `types` - the data types of the matrices, specified as `D`, `A`, `B`, and optionally `C`.
493+ * `a` - vector of matrix A elements.
494+ * `b` - vector of matrix B elements.
495+ * `c` - (optional) vector of matrix C elements.
496+ * `shape` - the shape of the matrices, specified as `M`, `N`, and `K` values.
497+ * `types` - the data types of the matrices, specified as `D`, `A`, `B`, and optionally `C`.
498498
499499 Example:
500500 ```mlir
0 commit comments