Source/Packages

Accelerator.SM86.Operands

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

699 lines54 declarations58.4 KiBSHA-256 ac21d61cced1

def · lines 178–226

sm86WriteRegisters

Full file
178def sm86WriteRegisters =
179  (lambda unrestricted body : (family SM86InstructionBody) .
180    (eliminate SM86InstructionBody
181      (lambda unrestricted current : (family SM86InstructionBody) . (family StdList Nat))
182      body
183      (branch SM86MoveConstant destination bank offset control . (sm86One destination sm86NoRegisters))
184      (branch SM86SpecialToRegister destination source control . (sm86One destination sm86NoRegisters))
185      (branch SM86MoveImmediate destination immediate control . (sm86One destination sm86NoRegisters))
186      (branch SM86IntegerMultiplyAddConstant destination left bank offset addend control . (sm86One destination sm86NoRegisters))
187      (branch SM86IntegerMultiplyAddImmediate destination left immediate addend control . (sm86One destination sm86NoRegisters))
188      (branch SM86IntegerMultiplyAddWideConstant destination left right bank offset control . (sm86Pair destination sm86NoRegisters))
189      (branch SM86IntegerAddThreeImmediate destination left immediate control . (sm86One destination sm86NoRegisters))
190      (branch SM86IntegerAddThreeRegister destination left right control . (sm86One destination sm86NoRegisters))
191      (branch SM86ShiftRightImmediate destination source amount control . (sm86One destination sm86NoRegisters))
192      (branch SM86LogicThreeInputTruthTable destination left right truthTable control . (sm86One destination sm86NoRegisters))
193      (branch SM86IntegerToFloat destination source control . (sm86One destination sm86NoRegisters))
194      (branch SM86FloatAdd destination left right control . (sm86One destination sm86NoRegisters))
195      (branch SM86FloatMultiply destination left right control . (sm86One destination sm86NoRegisters))
196      (branch SM86Float64Binary operation destination left right control . (sm86Pair (sm86RegisterPairBase destination) sm86NoRegisters))
197      (branch SM86FloatConvert conversion control . (sm86ConversionWrites conversion))
198      (branch SM86FloatFusedMultiplyAdd destination left right addend control . (sm86One destination sm86NoRegisters))
199      (branch SM86MultiFunctionUnitApproximation destination source operation control . (sm86One destination sm86NoRegisters))
200      (branch SM86FloatMinimumOrMaximum destination left right mode control . (sm86One destination sm86NoRegisters))
201      (branch SM86FloatNegate destination source control . (sm86One destination sm86NoRegisters))
202      (branch SM86FloatPairToPackedHalfPair destination high low control . (sm86One destination sm86NoRegisters))
203      (branch SM86FloatPairToPackedBFloat16Pair destination high low control . (sm86One destination sm86NoRegisters))
204      (branch SM86HalfToFloat destination source selector control . (sm86One destination sm86NoRegisters))
205      (branch SM86BFloat16ToFloat destination source selector control . (sm86One destination sm86NoRegisters))
206      (branch SM86TensorCoreHalfMatrixMultiplyAccumulate16x8x16Float32 destination a b accumulator control . (sm86Quad destination sm86NoRegisters))
207      (branch SM86TensorCoreBFloat16MatrixMultiplyAccumulate16x8x16Float32 destination a b accumulator control . (sm86Quad destination sm86NoRegisters))
208      (branch SM86LoadGlobal destination address offset control . (sm86One destination sm86NoRegisters))
209      (branch SM86LoadGlobalWide destination address offset control . (sm86Quad destination sm86NoRegisters))
210      (branch SM86WarpShuffle destination source lane segment mode control . (sm86One destination sm86NoRegisters))
211      (branch SM86LoadShared destination address offset control . (sm86One destination sm86NoRegisters))
212      (branch SM86LoadSharedMatrix destination address offset count transpose control .
213        (sm86RegisterRun destination (sm86SharedMatrixRegisters count) sm86NoRegisters))
214      (branch SM86StoreShared address value offset control . sm86NoRegisters)
215      (branch SM86LoadGlobalToShared address offset source sourceOffset control . sm86NoRegisters)
216      (branch SM86CommitAsyncGroup control . sm86NoRegisters)
217      (branch SM86WaitAsyncGroups count control . sm86NoRegisters)
218      (branch SM86BarrierSynchronize control . sm86NoRegisters)
219      (branch SM86BarrierSynchronizeCount barrier threads control . sm86NoRegisters)
220      (branch SM86StoreGlobal address value offset control . sm86NoRegisters)
221      (branch SM86StoreGlobalWide address value offset control . sm86NoRegisters)
222      (branch SM86StoreGlobal64 address value offset control . sm86NoRegisters)
223      (branch SM86ReduceGlobalAddFloat32 address value offset control . sm86NoRegisters)
224      (branch SM86PredicateGreaterThanImmediate predicate source immediate control . sm86NoRegisters)
225      (branch SM86Branch offset descriptor control . sm86NoRegisters)
226      (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.