Source/Packages

Compiler.MachineAArch64

packages/compiler/src/Compiler/MachineAArch64.alpha

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

def · lines 748–761

aarch64StackAdjustWord

Full file
The stack-pointer forms, where register code 31 means sp.
748def aarch64StackAdjustWord =
749  (lambda unrestricted base3 : Nat .
750    (lambda unrestricted value : Nat .
751      (lambda unrestricted shift : (family AArch64ImmediateShift) .
752        (aarch64EncodeBounded
753          value
754          aarch64Immediate12Limit
755          (aarch64ByteWord
756            (naturalAdd aarch64StackPointerByte0 aarch64ZeroRegisterByte0)
757            (naturalAdd aarch64StackPointerByte1 (aarch64Immediate12Byte1 value))
758            (naturalAdd
759              (aarch64Immediate12Byte2 value)
760              (naturalMultiply (aarch64ImmediateShiftCode shift) aarch64SixtyFour))
761            base3)))))

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.