Skip to content

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>