s_cbranch_join GPU Native ISA AMD Scalar
S CBRANCH JOIN Scalar Arithmetic
s_cbranch_join
Conditional branch join point (end of conditional branch block).
Encoding
Verified bit-level encoding data is not yet available for this instruction.
The instruction-format classification below (SOP1)
is well-documented and stable; exact per-target opcode/field bit positions have not
yet been imported from a verified source.
Operands
Operand details have not yet been curated for this instruction.
GFX Target Compatibility
Per-target GFX compatibility has not yet been verified for this instruction.
Related
More in Scalar Arithmetic
Reference
AMDGPU / GFX ISA
Description
Conditional branch join point (end of conditional branch block). S0 is saved CSP value. See S_CBRANCH_G_FORK and S_CBRANCH_I_FORK for related instructions.
Semantics
saved_csp = S0.u32;
if WAVE_MODE.CSP.u32 == saved_csp then
PC += 4LL;
// Second time to JOIN: continue with program.
else
WAVE_MODE.CSP -= 3'1U;
// First time to JOIN; jump to other FORK path.
{ PC, EXEC } = SGPR[WAVE_MODE.CSP.u32 * 4U].b128;
// Read 128 bits from 4 consecutive SGPRs.
endif
Sources
- User Guide for AMDGPU Backend ↗ - LLVM Project
-
"AMD Instinct MI300" Instruction Set Architecture: Reference Guide ↗
- Advanced Micro Devices, Inc.
Reference Guide, page 129.