BRA (relative branch, opcode 0x947): the loop back-edge. Field layout mirrors the golden
reference (offset@32(32) = relative BYTE offset from PC+16, descriptor@64(32) = 0x03800000 for a
forward branch, 0x0383ffff for a backward branch). The guard predicate (@12) and negate bit (@15)
and the control word (@105) are laid down by the shared instruction header, so `@!P0 BRA` reuses the
SAME predicate machinery as every predicated instruction. This is a real field-packing encoder (a
COMPONENT), never a golden-byte substitute; nvdisasm-verified on the SM86 profile.
1779def sm86EncodeBranch =
1780 (lambda unrestricted guard : (family SM86InstructionGuard) .
1781 (lambda unrestricted offset : (family SM86Unsigned32) .
1782 (lambda unrestricted descriptor : (family SM86Unsigned32) .
1783 (lambda unrestricted control : (family SM86Control) .
1784 (sm86EncodeInstructionFields
1785 sm86OpcodeBranch
1786 guard
1787 control
1788 (sm86InstructionPrependWord32Field
1789 sm86InstructionNaturalThirtyTwo
1790 offset
1791 (sm86InstructionOneWord32Field sm86InstructionNaturalSixtyFour descriptor)))))))The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.