Source/Packages

Accelerator.SM86.Operands

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

699 lines54 declarations58.4 KiBSHA-256 ac21d61cced1

def · lines 127–176

sm86ReadRegisters

Full file
127def sm86ReadRegisters =
128  (lambda unrestricted body : (family SM86InstructionBody) .
129    (eliminate SM86InstructionBody
130      (lambda unrestricted current : (family SM86InstructionBody) . (family StdList Nat))
131      body
132      (branch SM86MoveConstant destination bank offset control . sm86NoRegisters)
133      (branch SM86SpecialToRegister destination source control . sm86NoRegisters)
134      (branch SM86MoveImmediate destination immediate control . sm86NoRegisters)
135      (branch SM86IntegerMultiplyAddConstant destination left bank offset addend control . (sm86One left (sm86One addend sm86NoRegisters)))
136      (branch SM86IntegerMultiplyAddImmediate destination left immediate addend control . (sm86One left (sm86One addend sm86NoRegisters)))
137      (branch SM86IntegerMultiplyAddWideConstant destination left right bank offset control . (sm86One left (sm86Pair right sm86NoRegisters)))
138      (branch SM86IntegerAddThreeImmediate destination left immediate control . (sm86One left sm86NoRegisters))
139      (branch SM86IntegerAddThreeRegister destination left right control . (sm86One left (sm86One right sm86NoRegisters)))
140      (branch SM86ShiftRightImmediate destination source amount control . (sm86One source sm86NoRegisters))
141      (branch SM86LogicThreeInputTruthTable destination left right truthTable control . (sm86One left (sm86One right sm86NoRegisters)))
142      (branch SM86IntegerToFloat destination source control . (sm86One source sm86NoRegisters))
143      (branch SM86FloatAdd destination left right control . (sm86One left (sm86One right sm86NoRegisters)))
144      (branch SM86FloatMultiply destination left right control . (sm86One left (sm86One right sm86NoRegisters)))
145      (branch SM86Float64Binary operation destination left right control . (sm86Pair (sm86RegisterPairBase left) (sm86Pair (sm86RegisterPairBase right) sm86NoRegisters)))
146      (branch SM86FloatConvert conversion control . (sm86ConversionReads conversion))
147      (branch SM86FloatFusedMultiplyAdd destination left right addend control . (sm86One left (sm86One right (sm86One addend sm86NoRegisters))))
148      (branch SM86MultiFunctionUnitApproximation destination source operation control . (sm86One source sm86NoRegisters))
149      (branch SM86FloatMinimumOrMaximum destination left right mode control . (sm86One left (sm86One right sm86NoRegisters)))
150      (branch SM86FloatNegate destination source control . (sm86One source sm86NoRegisters))
151      (branch SM86FloatPairToPackedHalfPair destination high low control . (sm86One high (sm86One low sm86NoRegisters)))
152      (branch SM86FloatPairToPackedBFloat16Pair destination high low control . (sm86One high (sm86One low sm86NoRegisters)))
153      (branch SM86HalfToFloat destination source selector control . (sm86One source sm86NoRegisters))
154      (branch SM86BFloat16ToFloat destination source selector control . (sm86One source sm86NoRegisters))
155      (branch SM86TensorCoreHalfMatrixMultiplyAccumulate16x8x16Float32 destination a b accumulator control .
156        (sm86Quad a (sm86Pair b (sm86Quad accumulator sm86NoRegisters))))
157      (branch SM86TensorCoreBFloat16MatrixMultiplyAccumulate16x8x16Float32 destination a b accumulator control .
158        (sm86Quad a (sm86Pair b (sm86Quad accumulator sm86NoRegisters))))
159      (branch SM86LoadGlobal destination address offset control . (sm86Pair address sm86NoRegisters))
160      (branch SM86LoadGlobalWide destination address offset control . (sm86Pair address sm86NoRegisters))
161      (branch SM86WarpShuffle destination source lane segment mode control . (sm86One source sm86NoRegisters))
162      (branch SM86LoadShared destination address offset control . (sm86One address sm86NoRegisters))
163      (branch SM86LoadSharedMatrix destination address offset count transpose control . (sm86One address sm86NoRegisters))
164      (branch SM86StoreShared address value offset control . (sm86One address (sm86One value sm86NoRegisters)))
165      (branch SM86LoadGlobalToShared address offset source sourceOffset control . (sm86One address (sm86Pair source sm86NoRegisters)))
166      (branch SM86CommitAsyncGroup control . sm86NoRegisters)
167      (branch SM86WaitAsyncGroups count control . sm86NoRegisters)
168      (branch SM86BarrierSynchronize control . sm86NoRegisters)
169      (branch SM86BarrierSynchronizeCount barrier threads control . sm86NoRegisters)
170      (branch SM86StoreGlobal address value offset control . (sm86Pair address (sm86One value sm86NoRegisters)))
171      (branch SM86StoreGlobalWide address value offset control . (sm86Pair address (sm86Quad value sm86NoRegisters)))
172      (branch SM86StoreGlobal64 address value offset control . (sm86Pair address (sm86Pair value sm86NoRegisters)))
173      (branch SM86ReduceGlobalAddFloat32 address value offset control . (sm86Pair address (sm86One value sm86NoRegisters)))
174      (branch SM86PredicateGreaterThanImmediate predicate source immediate control . (sm86One source sm86NoRegisters))
175      (branch SM86Branch offset descriptor control . sm86NoRegisters)
176      (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.