Safe Haskell | None |
---|---|
Language | GHC2021 |
System.CPUFeatures.Arm.TypeBool
Description
This module provides the type-level interface to detect CPU features.
You can mark your function with <FEATURE NAME> ~ True =>
to indicate that
it requires a specific CPU feature.
You can detect the availability and get the constraint <FEATURE NAME> ~ True
by pattern-matching on the variable s<FEATURE NAME>
.
Example:
-- This function requires FEAT_PMULL someFunction :: FEAT_PMULL ~ True => ... case sFEAT_PMULL of STrue -> {- In this branch, FEAT_PMULL is True -} someFunction SFalse -> {- In this branch, FEAT_PMULL is False -} error "FEAT_PMULL not available"
Documentation
type family FEAT_DotProd :: Bool Source #
type family FEAT_FlagM :: Bool Source #
type family FEAT_FlagM2 :: Bool Source #
type family FEAT_FRINTTS :: Bool Source #
type family FEAT_JSCVT :: Bool Source #
type family FEAT_LRCPC :: Bool Source #
type family FEAT_LRCPC2 :: Bool Source #
type family FEAT_PAuth :: Bool Source #
type family FEAT_PAuth2 :: Bool Source #
type family FEAT_PMULL :: Bool Source #
type family FEAT_RPRES :: Bool Source #
type family FEAT_SHA256 :: Bool Source #
type family FEAT_SHA512 :: Bool Source #
type family FEAT_SME_F64F64 :: Bool Source #
type family FEAT_SME_I16I64 :: Bool Source #
type family FEAT_SPECRES :: Bool Source #