Source/Packages

Accelerator.SM86.Operands

packages/hardware/architectures/nvidia-sm86/src/Accelerator/SM86/Operands.alpha

645 lines51 declarations53.6 KiBSHA-256 e735be07682e

def · lines 105–151

sm86ReadRegisters

Full file
105def sm86ReadRegisters =
106  (lambda unrestricted body : (family SM86InstructionBody) .
107    (eliminate SM86InstructionBody
108      (lambda unrestricted current : (family SM86InstructionBody) . (family StdList Nat))
109      body
110      (branch SM86MoveConstant destination bank offset control . sm86NoRegisters)
111      (branch SM86SpecialToRegister destination source control . sm86NoRegisters)
112      (branch SM86MoveImmediate destination immediate control . sm86NoRegisters)
113      (branch SM86IntegerMultiplyAddConstant destination left bank offset addend control . (sm86One left (sm86One addend sm86NoRegisters)))
114      (branch SM86IntegerMultiplyAddImmediate destination left immediate addend control . (sm86One left (sm86One addend sm86NoRegisters)))
115      (branch SM86IntegerMultiplyAddWideConstant destination left right bank offset control . (sm86One left (sm86Pair right sm86NoRegisters)))
116      (branch SM86IntegerAddThreeImmediate destination left immediate control . (sm86One left sm86NoRegisters))
117      (branch SM86IntegerAddThreeRegister destination left right control . (sm86One left (sm86One right sm86NoRegisters)))
118      (branch SM86ShiftRightImmediate destination source amount control . (sm86One source sm86NoRegisters))
119      (branch SM86LogicThreeInputTruthTable destination left right truthTable control . (sm86One left (sm86One right sm86NoRegisters)))
120      (branch SM86IntegerToFloat destination source control . (sm86One source sm86NoRegisters))
121      (branch SM86FloatAdd destination left right control . (sm86One left (sm86One right sm86NoRegisters)))
122      (branch SM86FloatMultiply destination left right control . (sm86One left (sm86One right sm86NoRegisters)))
123      (branch SM86FloatFusedMultiplyAdd destination left right addend control . (sm86One left (sm86One right (sm86One addend sm86NoRegisters))))
124      (branch SM86MultiFunctionUnitApproximation destination source operation control . (sm86One source sm86NoRegisters))
125      (branch SM86FloatMinimumOrMaximum destination left right mode control . (sm86One left (sm86One right sm86NoRegisters)))
126      (branch SM86FloatNegate destination source control . (sm86One source sm86NoRegisters))
127      (branch SM86FloatPairToPackedHalfPair destination high low control . (sm86One high (sm86One low sm86NoRegisters)))
128      (branch SM86FloatPairToPackedBFloat16Pair destination high low control . (sm86One high (sm86One low sm86NoRegisters)))
129      (branch SM86HalfToFloat destination source selector control . (sm86One source sm86NoRegisters))
130      (branch SM86BFloat16ToFloat destination source selector control . (sm86One source sm86NoRegisters))
131      (branch SM86TensorCoreHalfMatrixMultiplyAccumulate16x8x16Float32 destination a b accumulator control .
132        (sm86Quad a (sm86Pair b (sm86Quad accumulator sm86NoRegisters))))
133      (branch SM86TensorCoreBFloat16MatrixMultiplyAccumulate16x8x16Float32 destination a b accumulator control .
134        (sm86Quad a (sm86Pair b (sm86Quad accumulator sm86NoRegisters))))
135      (branch SM86LoadGlobal destination address offset control . (sm86Pair address sm86NoRegisters))
136      (branch SM86LoadGlobalWide destination address offset control . (sm86Pair address sm86NoRegisters))
137      (branch SM86WarpShuffle destination source lane segment mode control . (sm86One source sm86NoRegisters))
138      (branch SM86LoadShared destination address offset control . (sm86One address sm86NoRegisters))
139      (branch SM86LoadSharedMatrix destination address offset count transpose control . (sm86One address sm86NoRegisters))
140      (branch SM86StoreShared address value offset control . (sm86One address (sm86One value sm86NoRegisters)))
141      (branch SM86LoadGlobalToShared address offset source sourceOffset control . (sm86One address (sm86Pair source sm86NoRegisters)))
142      (branch SM86CommitAsyncGroup control . sm86NoRegisters)
143      (branch SM86WaitAsyncGroups count control . sm86NoRegisters)
144      (branch SM86BarrierSynchronize control . sm86NoRegisters)
145      (branch SM86StoreGlobal address value offset control . (sm86Pair address (sm86One value sm86NoRegisters)))
146      (branch SM86StoreGlobalWide address value offset control . (sm86Pair address (sm86Pair value sm86NoRegisters)))
147      (branch SM86StoreGlobal64 address value offset control . (sm86Pair address (sm86Pair value sm86NoRegisters)))
148      (branch SM86ReduceGlobalAddFloat32 address value offset control . (sm86Pair address (sm86One value sm86NoRegisters)))
149      (branch SM86PredicateGreaterThanImmediate predicate source immediate control . (sm86One source sm86NoRegisters))
150      (branch SM86Branch offset descriptor control . sm86NoRegisters)
151      (branch SM86Exit control . sm86NoRegisters)))

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.