low.concat
← low dialect
Compose one fresh register-range identity from ordered register subranges.
Operation contract
| Property |
Value |
| Semantic phase |
executable |
| Traits |
StorageRelation |
Signature
| Kind |
Name |
Type |
Cardinality |
Description |
| Operand |
sources |
register |
variadic |
— |
| Result |
result |
register |
required |
— Produces a fresh allocation. |
Verification constraints
SameRegisterClass(sources, result)
RegisterUnitsSumTo(sources, result)
Examples
%pair = low.concat(%lo, %hi) : (reg<amdgpu.sgpr>, reg<amdgpu.sgpr>) -> reg<amdgpu.sgpr x2>
%resource = low.concat(%ptr, %limit, %flags) : (reg<amdgpu.sgpr x2>, reg<amdgpu.sgpr>, reg<amdgpu.sgpr>) -> reg<amdgpu.sgpr x4>