Registers: R0 row; R1 block; R2 4; R4:R5 ⌖ R6 target; R8:R9
&output; R10 row x vocabulary + target; R12:R13 &logit; R14 the logit.
70def targetGatherSM86Program =
71 (lambda unrestricted outputOffset : Nat . (lambda unrestricted logitsOffset : Nat . (lambda unrestricted targetsOffset : Nat .
72 (lambda unrestricted vocabulary : Nat . (lambda unrestricted rows : Nat . (lambda unrestricted blockWidth : Nat .
73 (tgNext (constructor SM86InstructionBody SM86SpecialToRegister (tgR 0) (constructor SM86SpecialRegister SM86ThreadIdX) tgSetSB0)
74 (tgNext (constructor SM86InstructionBody SM86SpecialToRegister (tgR 1) (constructor SM86SpecialRegister SM86CooperativeThreadArrayIdX) tgSetSB0)
75 (tgNext (constructor SM86InstructionBody SM86IntegerMultiplyAddImmediate (tgR 0) (tgR 1) (tgU blockWidth) (tgR 0) tgWaitSB0)
76 (tgNext (constructor SM86InstructionBody SM86PredicateGreaterThanImmediate (constructor SM86Predicate SM86Predicate0) (tgR 0) (tgU (naturalSaturatingSubtract rows 1)) tgControl)
77 (constructor SM86Program SM86ProgramNext (sm86PredicatedInstruction (constructor SM86Predicate SM86Predicate0) (constructor SM86InstructionBody SM86Exit tgControl))
78 (tgNext (constructor SM86InstructionBody SM86MoveImmediate (tgR 2) (tgU 4) tgControl)
79 (tgNext (tgAddress 4 0 targetsOffset)
80 (tgNext (constructor SM86InstructionBody SM86LoadGlobal (tgR 6) (tgR 4) (tgU 0) tgSetSB1)
81 (tgNext (tgAddress 8 0 outputOffset)
82 (tgNext (constructor SM86InstructionBody SM86IntegerMultiplyAddImmediate (tgR 10) (tgR 0) (tgU vocabulary) (tgR 6) tgWaitSB1)
83 (tgNext (tgAddress 12 10 logitsOffset)
84 (tgNext (constructor SM86InstructionBody SM86LoadGlobal (tgR 14) (tgR 12) (tgU 0) tgSetSB1)
85 (tgNext (constructor SM86InstructionBody SM86StoreGlobal (tgR 8) (tgR 14) (tgU 0) tgWaitSB1)
86 (tgNext (constructor SM86InstructionBody SM86Exit tgControl)
87 (constructor SM86Program SM86ProgramEnd)))))))))))))))))))))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.