A pair of two integers, mapping to the ConstantRange structure in LLVM IR,
which is allowed to wrap or be empty.
The range represented is [Lower, Upper), and is either signed or unsigned
depending on context.
lower
and upper
must have the same width.
Syntax:
`<` `i`(width($lower)) $lower `,` $upper `>`
</code></pre>
</details></td></tr>
</table>
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.make.buffer.rsrc` (ROCDL::MakeBufferRsrcOp)
Syntax:
operation ::= rocdl.make.buffer.rsrc
operands attr-dict :
type($base) to
type($res)
Traits: `AlwaysSpeculatableImplTrait`
Interfaces: `ConditionallySpeculatable`, `NoMemoryEffect (MemoryEffectOpInterface)`
Effects: `MemoryEffects::Effect{}`
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `base` | LLVM pointer type
| `stride` | 16-bit signless integer
| `numRecords` | 32-bit signless integer
| `flags` | 32-bit signless integer
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM pointer in address space 8
### `rocdl.mbcnt.hi` (ROCDL::MbcntHiOp)
Syntax:
operation ::= rocdl.mbcnt.hi
$in0 ,
$in1 attr-dict :
(
type($in0) ,
type($in1) )
->
type($res)
Traits: `AlwaysSpeculatableImplTrait`
Interfaces: `ConditionallySpeculatable`, `NoMemoryEffect (MemoryEffectOpInterface)`
Effects: `MemoryEffects::Effect{}`
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `in0` | 32-bit signless integer
| `in1` | 32-bit signless integer
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mbcnt.lo` (ROCDL::MbcntLoOp)
Syntax:
operation ::= rocdl.mbcnt.lo
$in0 ,
$in1 attr-dict :
(
type($in0) ,
type($in1) )
->
type($res)
Traits: `AlwaysSpeculatableImplTrait`
Interfaces: `ConditionallySpeculatable`, `NoMemoryEffect (MemoryEffectOpInterface)`
Effects: `MemoryEffects::Effect{}`
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `in0` | 32-bit signless integer
| `in1` | 32-bit signless integer
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x16bf16.1k` (ROCDL::mfma_f32_16x16x16bf16_1k)
Syntax:
operation ::= rocdl.mfma.f32.16x16x16bf16.1k
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x16f16` (ROCDL::mfma_f32_16x16x16f16)
Syntax:
operation ::= rocdl.mfma.f32.16x16x16f16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x1f32` (ROCDL::mfma_f32_16x16x1f32)
Syntax:
operation ::= rocdl.mfma.f32.16x16x1f32
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x2bf16` (ROCDL::mfma_f32_16x16x2bf16)
Syntax:
operation ::= rocdl.mfma.f32.16x16x2bf16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x32.bf8.bf8` (ROCDL::mfma_f32_16x16x32_bf8_bf8)
Syntax:
operation ::= rocdl.mfma.f32.16x16x32.bf8.bf8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x32.bf8.fp8` (ROCDL::mfma_f32_16x16x32_bf8_fp8)
Syntax:
operation ::= rocdl.mfma.f32.16x16x32.bf8.fp8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x32.fp8.bf8` (ROCDL::mfma_f32_16x16x32_fp8_bf8)
Syntax:
operation ::= rocdl.mfma.f32.16x16x32.fp8.bf8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x32.fp8.fp8` (ROCDL::mfma_f32_16x16x32_fp8_fp8)
Syntax:
operation ::= rocdl.mfma.f32.16x16x32.fp8.fp8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x4bf16.1k` (ROCDL::mfma_f32_16x16x4bf16_1k)
Syntax:
operation ::= rocdl.mfma.f32.16x16x4bf16.1k
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x4f16` (ROCDL::mfma_f32_16x16x4f16)
Syntax:
operation ::= rocdl.mfma.f32.16x16x4f16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x4f32` (ROCDL::mfma_f32_16x16x4f32)
Syntax:
operation ::= rocdl.mfma.f32.16x16x4f32
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x8.xf32` (ROCDL::mfma_f32_16x16x8_xf32)
Syntax:
operation ::= rocdl.mfma.f32.16x16x8.xf32
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.16x16x8bf16` (ROCDL::mfma_f32_16x16x8bf16)
Syntax:
operation ::= rocdl.mfma.f32.16x16x8bf16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x16.bf8.bf8` (ROCDL::mfma_f32_32x32x16_bf8_bf8)
Syntax:
operation ::= rocdl.mfma.f32.32x32x16.bf8.bf8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x16.bf8.fp8` (ROCDL::mfma_f32_32x32x16_bf8_fp8)
Syntax:
operation ::= rocdl.mfma.f32.32x32x16.bf8.fp8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x16.fp8.bf8` (ROCDL::mfma_f32_32x32x16_fp8_bf8)
Syntax:
operation ::= rocdl.mfma.f32.32x32x16.fp8.bf8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x16.fp8.fp8` (ROCDL::mfma_f32_32x32x16_fp8_fp8)
Syntax:
operation ::= rocdl.mfma.f32.32x32x16.fp8.fp8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x1f32` (ROCDL::mfma_f32_32x32x1f32)
Syntax:
operation ::= rocdl.mfma.f32.32x32x1f32
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x2bf16` (ROCDL::mfma_f32_32x32x2bf16)
Syntax:
operation ::= rocdl.mfma.f32.32x32x2bf16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x2f32` (ROCDL::mfma_f32_32x32x2f32)
Syntax:
operation ::= rocdl.mfma.f32.32x32x2f32
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x4.xf32` (ROCDL::mfma_f32_32x32x4_xf32)
Syntax:
operation ::= rocdl.mfma.f32.32x32x4.xf32
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x4bf16` (ROCDL::mfma_f32_32x32x4bf16)
Syntax:
operation ::= rocdl.mfma.f32.32x32x4bf16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x4bf16.1k` (ROCDL::mfma_f32_32x32x4bf16_1k)
Syntax:
operation ::= rocdl.mfma.f32.32x32x4bf16.1k
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x4f16` (ROCDL::mfma_f32_32x32x4f16)
Syntax:
operation ::= rocdl.mfma.f32.32x32x4f16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x8bf16.1k` (ROCDL::mfma_f32_32x32x8bf16_1k)
Syntax:
operation ::= rocdl.mfma.f32.32x32x8bf16.1k
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.32x32x8f16` (ROCDL::mfma_f32_32x32x8f16)
Syntax:
operation ::= rocdl.mfma.f32.32x32x8f16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.4x4x1f32` (ROCDL::mfma_f32_4x4x1f32)
Syntax:
operation ::= rocdl.mfma.f32.4x4x1f32
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.4x4x2bf16` (ROCDL::mfma_f32_4x4x2bf16)
Syntax:
operation ::= rocdl.mfma.f32.4x4x2bf16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.4x4x4bf16.1k` (ROCDL::mfma_f32_4x4x4bf16_1k)
Syntax:
operation ::= rocdl.mfma.f32.4x4x4bf16.1k
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f32.4x4x4f16` (ROCDL::mfma_f32_4x4x4f16)
Syntax:
operation ::= rocdl.mfma.f32.4x4x4f16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f64.16x16x4f64` (ROCDL::mfma_f64_16x16x4f64)
Syntax:
operation ::= rocdl.mfma.f64.16x16x4f64
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.f64.4x4x4f64` (ROCDL::mfma_f64_4x4x4f64)
Syntax:
operation ::= rocdl.mfma.f64.4x4x4f64
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.i32.16x16x16i8` (ROCDL::mfma_i32_16x16x16i8)
Syntax:
operation ::= rocdl.mfma.i32.16x16x16i8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.i32.16x16x32.i8` (ROCDL::mfma_i32_16x16x32_i8)
Syntax:
operation ::= rocdl.mfma.i32.16x16x32.i8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.i32.16x16x4i8` (ROCDL::mfma_i32_16x16x4i8)
Syntax:
operation ::= rocdl.mfma.i32.16x16x4i8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.i32.32x32x16.i8` (ROCDL::mfma_i32_32x32x16_i8)
Syntax:
operation ::= rocdl.mfma.i32.32x32x16.i8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.i32.32x32x4i8` (ROCDL::mfma_i32_32x32x4i8)
Syntax:
operation ::= rocdl.mfma.i32.32x32x4i8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.i32.32x32x8i8` (ROCDL::mfma_i32_32x32x8i8)
Syntax:
operation ::= rocdl.mfma.i32.32x32x8i8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.mfma.i32.4x4x4i8` (ROCDL::mfma_i32_4x4x4i8)
Syntax:
operation ::= rocdl.mfma.i32.4x4x4i8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.raw.buffer.atomic.cmpswap` (ROCDL::RawBufferAtomicCmpSwap)
Syntax:
operation ::= rocdl.raw.buffer.atomic.cmpswap
attr-dict (
operands )
:
type($res) ,
type($rsrc)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `src` | LLVM dialect-compatible type
| `cmp` | LLVM dialect-compatible type
| `rsrc` | LLVM dialect-compatible type
| `offset` | 32-bit signless integer
| `soffset` | 32-bit signless integer
| `aux` | 32-bit signless integer
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.raw.buffer.atomic.fadd` (ROCDL::RawBufferAtomicFAddOp)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `vdata` | LLVM dialect-compatible type
| `rsrc` | LLVM dialect-compatible type
| `offset` | LLVM dialect-compatible type
| `soffset` | LLVM dialect-compatible type
| `aux` | LLVM dialect-compatible type
### `rocdl.raw.buffer.atomic.fmax` (ROCDL::RawBufferAtomicFMaxOp)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `vdata` | LLVM dialect-compatible type
| `rsrc` | LLVM dialect-compatible type
| `offset` | LLVM dialect-compatible type
| `soffset` | LLVM dialect-compatible type
| `aux` | LLVM dialect-compatible type
### `rocdl.raw.buffer.atomic.smax` (ROCDL::RawBufferAtomicSMaxOp)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `vdata` | LLVM dialect-compatible type
| `rsrc` | LLVM dialect-compatible type
| `offset` | LLVM dialect-compatible type
| `soffset` | LLVM dialect-compatible type
| `aux` | LLVM dialect-compatible type
### `rocdl.raw.buffer.atomic.umin` (ROCDL::RawBufferAtomicUMinOp)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `vdata` | LLVM dialect-compatible type
| `rsrc` | LLVM dialect-compatible type
| `offset` | LLVM dialect-compatible type
| `soffset` | LLVM dialect-compatible type
| `aux` | LLVM dialect-compatible type
### `rocdl.raw.buffer.load` (ROCDL::RawBufferLoadOp)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `rsrc` | LLVM dialect-compatible type
| `offset` | LLVM dialect-compatible type
| `soffset` | LLVM dialect-compatible type
| `aux` | LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.raw.buffer.store` (ROCDL::RawBufferStoreOp)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `vdata` | LLVM dialect-compatible type
| `rsrc` | LLVM dialect-compatible type
| `offset` | LLVM dialect-compatible type
| `soffset` | LLVM dialect-compatible type
| `aux` | LLVM dialect-compatible type
### `rocdl.raw.ptr.buffer.atomic.cmpswap` (ROCDL::RawPtrBufferAtomicCmpSwap)
Syntax:
operation ::= rocdl.raw.ptr.buffer.atomic.cmpswap
operands attr-dict :
type($res)
Interfaces: `AliasAnalysisOpInterface`
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>alias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>noalias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>tbaa</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect TBAA tag metadata array</td></tr>
</table>
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `src` | LLVM dialect-compatible type
| `cmp` | LLVM dialect-compatible type
| `rsrc` | LLVM pointer in address space 8
| `offset` | 32-bit signless integer
| `soffset` | 32-bit signless integer
| `aux` | 32-bit signless integer
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.raw.ptr.buffer.atomic.fadd` (ROCDL::RawPtrBufferAtomicFaddOp)
Syntax:
operation ::= rocdl.raw.ptr.buffer.atomic.fadd
operands attr-dict :
type($vdata)
Interfaces: `AliasAnalysisOpInterface`
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>alias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>noalias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>tbaa</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect TBAA tag metadata array</td></tr>
</table>
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `vdata` | LLVM dialect-compatible type
| `rsrc` | LLVM pointer in address space 8
| `offset` | 32-bit signless integer
| `soffset` | 32-bit signless integer
| `aux` | 32-bit signless integer
### `rocdl.raw.ptr.buffer.atomic.fmax` (ROCDL::RawPtrBufferAtomicFmaxOp)
Syntax:
operation ::= rocdl.raw.ptr.buffer.atomic.fmax
operands attr-dict :
type($vdata)
Interfaces: `AliasAnalysisOpInterface`
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>alias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>noalias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>tbaa</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect TBAA tag metadata array</td></tr>
</table>
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `vdata` | LLVM dialect-compatible type
| `rsrc` | LLVM pointer in address space 8
| `offset` | 32-bit signless integer
| `soffset` | 32-bit signless integer
| `aux` | 32-bit signless integer
### `rocdl.raw.ptr.buffer.atomic.smax` (ROCDL::RawPtrBufferAtomicSmaxOp)
Syntax:
operation ::= rocdl.raw.ptr.buffer.atomic.smax
operands attr-dict :
type($vdata)
Interfaces: `AliasAnalysisOpInterface`
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>alias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>noalias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>tbaa</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect TBAA tag metadata array</td></tr>
</table>
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `vdata` | LLVM dialect-compatible type
| `rsrc` | LLVM pointer in address space 8
| `offset` | 32-bit signless integer
| `soffset` | 32-bit signless integer
| `aux` | 32-bit signless integer
### `rocdl.raw.ptr.buffer.atomic.umin` (ROCDL::RawPtrBufferAtomicUminOp)
Syntax:
operation ::= rocdl.raw.ptr.buffer.atomic.umin
operands attr-dict :
type($vdata)
Interfaces: `AliasAnalysisOpInterface`
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>alias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>noalias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>tbaa</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect TBAA tag metadata array</td></tr>
</table>
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `vdata` | LLVM dialect-compatible type
| `rsrc` | LLVM pointer in address space 8
| `offset` | 32-bit signless integer
| `soffset` | 32-bit signless integer
| `aux` | 32-bit signless integer
### `rocdl.raw.ptr.buffer.load` (ROCDL::RawPtrBufferLoadOp)
Syntax:
operation ::= rocdl.raw.ptr.buffer.load
operands attr-dict :
type($res)
Interfaces: `AliasAnalysisOpInterface`
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>alias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>noalias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>tbaa</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect TBAA tag metadata array</td></tr>
</table>
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `rsrc` | LLVM pointer in address space 8
| `offset` | 32-bit signless integer
| `soffset` | 32-bit signless integer
| `aux` | 32-bit signless integer
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.raw.ptr.buffer.store` (ROCDL::RawPtrBufferStoreOp)
Syntax:
operation ::= rocdl.raw.ptr.buffer.store
operands attr-dict :
type($vdata)
Interfaces: `AliasAnalysisOpInterface`
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>alias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>noalias_scopes</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect alias scope array</td></tr>
<tr><td><code>tbaa</code></td><td>::mlir::ArrayAttr</td><td>LLVM dialect TBAA tag metadata array</td></tr>
</table>
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `vdata` | LLVM dialect-compatible type
| `rsrc` | LLVM pointer in address space 8
| `offset` | 32-bit signless integer
| `soffset` | 32-bit signless integer
| `aux` | 32-bit signless integer
### `rocdl.s.barrier` (ROCDL::SBarrierOp)
Syntax:
operation ::= rocdl.s.barrier
attr-dict
### `rocdl.s.setprio` (ROCDL::SetPrioOp)
Syntax:
operation ::= rocdl.s.setprio
$priority attr-dict
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>priority</code></td><td>::mlir::IntegerAttr</td><td>16-bit signless integer attribute</td></tr>
</table>
### `rocdl.sched.barrier` (ROCDL::SchedBarrier)
Syntax:
operation ::= rocdl.sched.barrier
$mask attr-dict
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>mask</code></td><td>::mlir::IntegerAttr</td><td>32-bit signless integer attribute</td></tr>
</table>
### `rocdl.update.dpp` (ROCDL::DPPUpdateOp)
Syntax:
operation ::= rocdl.update.dpp
attr-dict $old ,
$src with
$dppCtrl ,
$rowMask ,
$bankMask ,
$boundCtrl :
type($src)
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>dppCtrl</code></td><td>::mlir::IntegerAttr</td><td>32-bit signless integer attribute</td></tr>
<tr><td><code>rowMask</code></td><td>::mlir::IntegerAttr</td><td>32-bit signless integer attribute</td></tr>
<tr><td><code>bankMask</code></td><td>::mlir::IntegerAttr</td><td>32-bit signless integer attribute</td></tr>
<tr><td><code>boundCtrl</code></td><td>::mlir::IntegerAttr</td><td>1-bit signless integer attribute</td></tr>
</table>
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `old` | LLVM dialect-compatible type
| `src` | LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.waitcnt` (ROCDL::WaitcntOp)
Syntax:
operation ::= rocdl.waitcnt
attr-dict $bitfield
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>bitfield</code></td><td>::mlir::IntegerAttr</td><td>32-bit signless integer attribute</td></tr>
</table>
### `rocdl.wmma.bf16.16x16x16.bf16` (ROCDL::wmma_bf16_16x16x16_bf16)
Syntax:
operation ::= rocdl.wmma.bf16.16x16x16.bf16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.wmma.f16.16x16x16.f16` (ROCDL::wmma_f16_16x16x16_f16)
Syntax:
operation ::= rocdl.wmma.f16.16x16x16.f16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.wmma.f32.16x16x16.bf16` (ROCDL::wmma_f32_16x16x16_bf16)
Syntax:
operation ::= rocdl.wmma.f32.16x16x16.bf16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.wmma.f32.16x16x16.bf8_bf8` (ROCDL::wmma_f32_16x16x16_bf8)
Syntax:
operation ::= rocdl.wmma.f32.16x16x16.bf8_bf8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.wmma.f32.16x16x16.f16` (ROCDL::wmma_f32_16x16x16_f16)
Syntax:
operation ::= rocdl.wmma.f32.16x16x16.f16
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.wmma.f32.16x16x16.fp8_fp8` (ROCDL::wmma_f32_16x16x16_fp8)
Syntax:
operation ::= rocdl.wmma.f32.16x16x16.fp8_fp8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.wmma.i32.16x16x16.iu4` (ROCDL::wmma_i32_16x16x16_iu4)
Syntax:
operation ::= rocdl.wmma.i32.16x16x16.iu4
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.wmma.i32.16x16x16.iu8` (ROCDL::wmma_i32_16x16x16_iu8)
Syntax:
operation ::= rocdl.wmma.i32.16x16x16.iu8
$args attr-dict :
functional-type($args, $res)
#### Operands:
| Operand | Description |
| :-----: | ----------- |
| `args` | variadic of LLVM dialect-compatible type
#### Results:
| Result | Description |
| :----: | ----------- |
| `res` | LLVM dialect-compatible type
### `rocdl.workgroup.dim.x` (ROCDL::BlockDimXOp)
Syntax:
operation ::= rocdl.workgroup.dim.x
(range
$range^)? attr-dict :
type($res)
Traits: `AlwaysSpeculatableImplTrait`
Interfaces: `ConditionallySpeculatable`, `NoMemoryEffect (MemoryEffectOpInterface)`
Effects: `MemoryEffects::Effect{}`
#### Attributes:
<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>
<tr><td><code>range</code></td><td>::mlir::LLVM::ConstantRangeAttr</td><td><details><summary>A range of two integers, corresponding to LLVM's ConstantRange</summary><pre><code>A pair of two integers, mapping to the ConstantRange structure in LLVM IR,
which is allowed to wrap or be empty.
The range represented is [Lower, Upper), and is either signed or unsigned
depending on context.
`lower` and `upper` must have the same width.
Syntax:
<
i
(width($lower)) $lower ,
$upper >