Source/Packages

Compiler.MachineAArch64

packages/compiler/src/Compiler/MachineAArch64.alpha

1,480 lines362 declarations58.2 KiBSHA-256 16c7a1ba00f1

family · lines 136–343

AArch64Instruction

Full file
136family AArch64Instruction : Type 0
137constructor AArch64MoveWideZero
138field unrestricted aarch64MoveWideZeroDestination : (family AArch64Register)
139field unrestricted aarch64MoveWideZeroValue : Nat
140field unrestricted aarch64MoveWideZeroShift : (family AArch64HalfwordShift)
141constructor AArch64MoveWideKeep
142field unrestricted aarch64MoveWideKeepDestination : (family AArch64Register)
143field unrestricted aarch64MoveWideKeepValue : Nat
144field unrestricted aarch64MoveWideKeepShift : (family AArch64HalfwordShift)
145constructor AArch64MoveRegister
146field unrestricted aarch64MoveRegisterDestination : (family AArch64Register)
147field unrestricted aarch64MoveRegisterSource : (family AArch64Register)
148constructor AArch64AddImmediate
149field unrestricted aarch64AddImmediateDestination : (family AArch64Register)
150field unrestricted aarch64AddImmediateSource : (family AArch64Register)
151field unrestricted aarch64AddImmediateValue : Nat
152constructor AArch64SubtractImmediate
153field unrestricted aarch64SubtractImmediateDestination : (family AArch64Register)
154field unrestricted aarch64SubtractImmediateSource : (family AArch64Register)
155field unrestricted aarch64SubtractImmediateValue : Nat
156constructor AArch64AddRegister
157field unrestricted aarch64AddRegisterDestination : (family AArch64Register)
158field unrestricted aarch64AddRegisterLeft : (family AArch64Register)
159field unrestricted aarch64AddRegisterRight : (family AArch64Register)
160constructor AArch64SubtractRegister
161field unrestricted aarch64SubtractRegisterDestination : (family AArch64Register)
162field unrestricted aarch64SubtractRegisterLeft : (family AArch64Register)
163field unrestricted aarch64SubtractRegisterRight : (family AArch64Register)
164constructor AArch64AndRegister
165field unrestricted aarch64AndRegisterDestination : (family AArch64Register)
166field unrestricted aarch64AndRegisterLeft : (family AArch64Register)
167field unrestricted aarch64AndRegisterRight : (family AArch64Register)
168constructor AArch64OrRegister
169field unrestricted aarch64OrRegisterDestination : (family AArch64Register)
170field unrestricted aarch64OrRegisterLeft : (family AArch64Register)
171field unrestricted aarch64OrRegisterRight : (family AArch64Register)
172constructor AArch64ExclusiveOrRegister
173field unrestricted aarch64ExclusiveOrRegisterDestination : (family AArch64Register)
174field unrestricted aarch64ExclusiveOrRegisterLeft : (family AArch64Register)
175field unrestricted aarch64ExclusiveOrRegisterRight : (family AArch64Register)
176constructor AArch64ShiftLeftImmediate
177field unrestricted aarch64ShiftLeftImmediateDestination : (family AArch64Register)
178field unrestricted aarch64ShiftLeftImmediateSource : (family AArch64Register)
179field unrestricted aarch64ShiftLeftImmediateAmount : Nat
180constructor AArch64ShiftRightImmediate
181field unrestricted aarch64ShiftRightImmediateDestination : (family AArch64Register)
182field unrestricted aarch64ShiftRightImmediateSource : (family AArch64Register)
183field unrestricted aarch64ShiftRightImmediateAmount : Nat
184constructor AArch64MultiplyRegister
185field unrestricted aarch64MultiplyRegisterDestination : (family AArch64Register)
186field unrestricted aarch64MultiplyRegisterLeft : (family AArch64Register)
187field unrestricted aarch64MultiplyRegisterRight : (family AArch64Register)
188constructor AArch64DivideRegisterUnsigned
189field unrestricted aarch64DivideRegisterUnsignedDestination : (family AArch64Register)
190field unrestricted aarch64DivideRegisterUnsignedLeft : (family AArch64Register)
191field unrestricted aarch64DivideRegisterUnsignedRight : (family AArch64Register)
192constructor AArch64CompareImmediate
193field unrestricted aarch64CompareImmediateRegister : (family AArch64Register)
194field unrestricted aarch64CompareImmediateValue : Nat
195constructor AArch64CompareRegister
196field unrestricted aarch64CompareRegisterLeft : (family AArch64Register)
197field unrestricted aarch64CompareRegisterRight : (family AArch64Register)
198constructor AArch64LoadMemory64
199field unrestricted aarch64LoadMemory64Destination : (family AArch64Register)
200field unrestricted aarch64LoadMemory64Base : (family AArch64Register)
201field unrestricted aarch64LoadMemory64Offset : Nat
202constructor AArch64StoreMemory64
203field unrestricted aarch64StoreMemory64Base : (family AArch64Register)
204field unrestricted aarch64StoreMemory64Offset : Nat
205field unrestricted aarch64StoreMemory64Source : (family AArch64Register)
206constructor AArch64LoadMemory32ZeroExtend
207field unrestricted aarch64LoadMemory32Destination : (family AArch64Register)
208field unrestricted aarch64LoadMemory32Base : (family AArch64Register)
209field unrestricted aarch64LoadMemory32Offset : Nat
210constructor AArch64StoreMemory32
211field unrestricted aarch64StoreMemory32Base : (family AArch64Register)
212field unrestricted aarch64StoreMemory32Offset : Nat
213field unrestricted aarch64StoreMemory32Source : (family AArch64Register)
214constructor AArch64LoadMemory8ZeroExtend
215field unrestricted aarch64LoadMemory8Destination : (family AArch64Register)
216field unrestricted aarch64LoadMemory8Base : (family AArch64Register)
217field unrestricted aarch64LoadMemory8Offset : Nat
218constructor AArch64StoreMemory8
219field unrestricted aarch64StoreMemory8Base : (family AArch64Register)
220field unrestricted aarch64StoreMemory8Offset : Nat
221field unrestricted aarch64StoreMemory8Source : (family AArch64Register)
222constructor AArch64AddressRelative
223field unrestricted aarch64AddressRelativeDestination : (family AArch64Register)
224field unrestricted aarch64AddressRelativeDirection : (family AArch64Direction)
225field unrestricted aarch64AddressRelativeDistance : Nat
226constructor AArch64Branch
227field unrestricted aarch64BranchDirection : (family AArch64Direction)
228field unrestricted aarch64BranchDistance : Nat
229constructor AArch64BranchLink
230field unrestricted aarch64BranchLinkDirection : (family AArch64Direction)
231field unrestricted aarch64BranchLinkDistance : Nat
232constructor AArch64BranchLinkRegister
233field unrestricted aarch64BranchLinkRegisterTarget : (family AArch64Register)
234constructor AArch64BranchIf
235field unrestricted aarch64BranchIfCondition : (family AArch64Condition)
236field unrestricted aarch64BranchIfDirection : (family AArch64Direction)
237field unrestricted aarch64BranchIfDistance : Nat
238constructor AArch64CompareBranchIfZero
239field unrestricted aarch64CompareBranchIfZeroRegister : (family AArch64Register)
240field unrestricted aarch64CompareBranchIfZeroDirection : (family AArch64Direction)
241field unrestricted aarch64CompareBranchIfZeroDistance : Nat
242constructor AArch64CompareBranchIfNotZero
243field unrestricted aarch64CompareBranchIfNotZeroRegister : (family AArch64Register)
244field unrestricted aarch64CompareBranchIfNotZeroDirection : (family AArch64Direction)
245field unrestricted aarch64CompareBranchIfNotZeroDistance : Nat
246constructor AArch64AddImmediateFromStackPointer
247field unrestricted aarch64AddFromStackDestination : (family AArch64Register)
248field unrestricted aarch64AddFromStackValue : Nat
249constructor AArch64AddStackPointer
250field unrestricted aarch64AddStackPointerValue : Nat
251field unrestricted aarch64AddStackPointerShift : (family AArch64ImmediateShift)
252constructor AArch64SubtractStackPointer
253field unrestricted aarch64SubtractStackPointerValue : Nat
254field unrestricted aarch64SubtractStackPointerShift : (family AArch64ImmediateShift)
255constructor AArch64LoadMemory64FromStack
256field unrestricted aarch64LoadFromStackDestination : (family AArch64Register)
257field unrestricted aarch64LoadFromStackOffset : Nat
258constructor AArch64StoreMemory64ToStack
259field unrestricted aarch64StoreToStackOffset : Nat
260field unrestricted aarch64StoreToStackSource : (family AArch64Register)
261constructor AArch64LoadMemory8FromStack
262field unrestricted aarch64LoadByteFromStackDestination : (family AArch64Register)
263field unrestricted aarch64LoadByteFromStackOffset : Nat
264constructor AArch64StoreMemory8ToStack
265field unrestricted aarch64StoreByteToStackOffset : Nat
266field unrestricted aarch64StoreByteToStackSource : (family AArch64Register)
267constructor AArch64Return
268constructor AArch64SupervisorCall
269-- Full-system completion before a following device/MMIO store. This is
270-- stronger than a compiler fence and is required by the native submit path.
271constructor AArch64DataSynchronizationBarrierSystem
272
273constructor AArch64FloatAdd32
274field unrestricted aarch64FloatAdd32Destination : (family AArch64FloatRegister)
275field unrestricted aarch64FloatAdd32Left : (family AArch64FloatRegister)
276field unrestricted aarch64FloatAdd32Right : (family AArch64FloatRegister)
277constructor AArch64FloatSubtract32
278field unrestricted aarch64FloatSubtract32Destination : (family AArch64FloatRegister)
279field unrestricted aarch64FloatSubtract32Left : (family AArch64FloatRegister)
280field unrestricted aarch64FloatSubtract32Right : (family AArch64FloatRegister)
281constructor AArch64FloatMultiply32
282field unrestricted aarch64FloatMultiply32Destination : (family AArch64FloatRegister)
283field unrestricted aarch64FloatMultiply32Left : (family AArch64FloatRegister)
284field unrestricted aarch64FloatMultiply32Right : (family AArch64FloatRegister)
285constructor AArch64FloatDivide32
286field unrestricted aarch64FloatDivide32Destination : (family AArch64FloatRegister)
287field unrestricted aarch64FloatDivide32Left : (family AArch64FloatRegister)
288field unrestricted aarch64FloatDivide32Right : (family AArch64FloatRegister)
289constructor AArch64FloatCompare32
290field unrestricted aarch64FloatCompare32Left : (family AArch64FloatRegister)
291field unrestricted aarch64FloatCompare32Right : (family AArch64FloatRegister)
292constructor AArch64FloatMoveFromGeneral32
293field unrestricted aarch64FloatMoveFromGeneral32Destination : (family AArch64FloatRegister)
294field unrestricted aarch64FloatMoveFromGeneral32Source : (family AArch64Register)
295constructor AArch64FloatMoveToGeneral32
296field unrestricted aarch64FloatMoveToGeneral32Destination : (family AArch64Register)
297field unrestricted aarch64FloatMoveToGeneral32Source : (family AArch64FloatRegister)
298constructor AArch64ReadFloatControl
299field unrestricted aarch64ReadFloatControlDestination : (family AArch64Register)
300constructor AArch64WriteFloatControl
301field unrestricted aarch64WriteFloatControlSource : (family AArch64Register)
302-- Scalar double precision: the same register file read as D registers (a D
303-- register and the S register of the same number share their low 32 bits).
304constructor AArch64FloatAdd64
305field unrestricted aarch64FloatAdd64Destination : (family AArch64FloatRegister)
306field unrestricted aarch64FloatAdd64Left : (family AArch64FloatRegister)
307field unrestricted aarch64FloatAdd64Right : (family AArch64FloatRegister)
308constructor AArch64FloatSubtract64
309field unrestricted aarch64FloatSubtract64Destination : (family AArch64FloatRegister)
310field unrestricted aarch64FloatSubtract64Left : (family AArch64FloatRegister)
311field unrestricted aarch64FloatSubtract64Right : (family AArch64FloatRegister)
312constructor AArch64FloatMultiply64
313field unrestricted aarch64FloatMultiply64Destination : (family AArch64FloatRegister)
314field unrestricted aarch64FloatMultiply64Left : (family AArch64FloatRegister)
315field unrestricted aarch64FloatMultiply64Right : (family AArch64FloatRegister)
316constructor AArch64FloatDivide64
317field unrestricted aarch64FloatDivide64Destination : (family AArch64FloatRegister)
318field unrestricted aarch64FloatDivide64Left : (family AArch64FloatRegister)
319field unrestricted aarch64FloatDivide64Right : (family AArch64FloatRegister)
320constructor AArch64FloatSquareRoot64
321field unrestricted aarch64FloatSquareRoot64Destination : (family AArch64FloatRegister)
322field unrestricted aarch64FloatSquareRoot64Source : (family AArch64FloatRegister)
323-- scvtf Dd, Xn: the signed 64-bit integer as the nearest double
324constructor AArch64FloatFromSigned64
325field unrestricted aarch64FloatFromSigned64Destination : (family AArch64FloatRegister)
326field unrestricted aarch64FloatFromSigned64Source : (family AArch64Register)
327-- fcvt Sd, Dn and fcvt Dd, Sn
328constructor AArch64FloatNarrow64To32
329field unrestricted aarch64FloatNarrow64To32Destination : (family AArch64FloatRegister)
330field unrestricted aarch64FloatNarrow64To32Source : (family AArch64FloatRegister)
331constructor AArch64FloatWiden32To64
332field unrestricted aarch64FloatWiden32To64Destination : (family AArch64FloatRegister)
333field unrestricted aarch64FloatWiden32To64Source : (family AArch64FloatRegister)
334-- fmov Dd, Xn and fmov Xd, Dn: the 64 bits unchanged
335constructor AArch64FloatMoveFromGeneral64
336field unrestricted aarch64FloatMoveFromGeneral64Destination : (family AArch64FloatRegister)
337field unrestricted aarch64FloatMoveFromGeneral64Source : (family AArch64Register)
338constructor AArch64FloatMoveToGeneral64
339field unrestricted aarch64FloatMoveToGeneral64Destination : (family AArch64Register)
340field unrestricted aarch64FloatMoveToGeneral64Source : (family AArch64FloatRegister)
341-- dsb sy: every memory access before completes before any after -- how a
342-- store to Normal memory is ordered before one to a Device mapping
343constructor AArch64DataSynchronizationBarrier

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.