ghc-9.10.3: The GHC API

Safe Haskell | None
Language | GHC2021

GHC.CmmToAsm.Reg.Linear.AArch64

Synopsis

- data FreeRegs = FreeRegs !Word32 !Word32
- noFreeRegs :: FreeRegs
- showBits :: Word32 -> String
- allocateReg :: HasCallStack => RealReg -> FreeRegs -> FreeRegs
- getFreeRegs :: RegClass -> FreeRegs -> [RealReg]
- initFreeRegs :: Platform -> FreeRegs
- releaseReg :: HasCallStack => RealReg -> FreeRegs -> FreeRegs

# Documentation

data FreeRegs Source #

Armv6 | Armv7-A | Armv8-A AArch64 | | SIMD extension | NEON | NEON | |===========================================================================| | - Operates on 32-bit | - Separate reg. bank, | - Separate reg. bank, | | GP ARM registers | 32x64-bit NEON regs | 32x128-bit NEON regs | | - 8-bit16-bit integer | - 8163264-bit int | - 81632/64-bit int | | | - Single precision fp | - Single precision fp | | | | - Double precision fp | | | | - Single/Double fp are | | | | IEEE compliant | | - 2x16-bit/4x8-bit ops | - Up to 16x8-bit ops | - Up to 16x8-bit ops | | per instruction | per instruction | per instruction | '---------------------------------------------------------------------------'

Constructors

FreeRegs !Word32 !Word32 |

#### Instances

Instances details

FR FreeRegs Source # |
Instance details Defined in GHC.CmmToAsm.Reg.Linear.FreeRegs Methods frAllocateReg :: Platform -> RealReg -> FreeRegs -> FreeRegs Source # frGetFreeRegs :: Platform -> RegClass -> FreeRegs -> [RealReg] Source # frInitFreeRegs :: Platform -> FreeRegs Source # frReleaseReg :: Platform -> RealReg -> FreeRegs -> FreeRegs Source #
Outputable FreeRegs Source # |
Instance details Defined in GHC.CmmToAsm.Reg.Linear.AArch64 Methods ppr :: FreeRegs -> SDoc Source #
Show FreeRegs Source # |
Instance details Defined in GHC.CmmToAsm.Reg.Linear.AArch64 Methods showsPrec :: Int -> FreeRegs -> ShowS # show :: FreeRegs -> String # showList :: [FreeRegs] -> ShowS #

noFreeRegs :: FreeRegs Source #

showBits :: Word32 -> String Source #

allocateReg :: HasCallStack => RealReg -> FreeRegs -> FreeRegs Source #

getFreeRegs :: RegClass -> FreeRegs -> [RealReg] Source #

initFreeRegs :: Platform -> FreeRegs Source #

releaseReg :: HasCallStack => RealReg -> FreeRegs -> FreeRegs Source #