cpu-features-0.1.0.0: src/System/CPUFeatures/Arm/Constraint.hs
{- |
Description: Arm features as nullary constraints
This module provides the constraint interface to detect CPU features.
You can mark your function with @Has\<FEATURE NAME\> =>@ to indicate that
it requires a specific CPU feature.
You can detect the availability and get the constraint @Has\<FEATURE NAME\>@
by pattern-matching on the variable @query\<FEATURE NAME\>@.
Example:
> -- This function requires FEAT_PMULL
> someFunction :: HasFEAT_PMULL => ...
>
> case queryFEAT_PMULL of
> Just Dict -> {- In this branch, HasFEAT_PMULL is available -} someFunction
> Nothing -> {- In this branch, HasFEAT_PMULL is not available -} error "FEAT_PMULL not available"
-}
module System.CPUFeatures.Arm.Constraint
(HasFEAT_AES, queryFEAT_AES
,HasFEAT_AFP, queryFEAT_AFP
,HasFEAT_BF16, queryFEAT_BF16
,HasFEAT_BTI, queryFEAT_BTI
,HasFEAT_CSV2, queryFEAT_CSV2
,HasFEAT_CSV3, queryFEAT_CSV3
,HasFEAT_DIT, queryFEAT_DIT
,HasFEAT_DotProd, queryFEAT_DotProd
,HasFEAT_DPB, queryFEAT_DPB
,HasFEAT_DPB2, queryFEAT_DPB2
,HasFEAT_ECV, queryFEAT_ECV
,HasFEAT_FCMA, queryFEAT_FCMA
,HasFEAT_FHM, queryFEAT_FHM
,HasFEAT_FlagM, queryFEAT_FlagM
,HasFEAT_FlagM2, queryFEAT_FlagM2
,HasFEAT_FP16, queryFEAT_FP16
,HasFEAT_FPAC, queryFEAT_FPAC
,HasFEAT_FRINTTS, queryFEAT_FRINTTS
,HasFEAT_I8MM, queryFEAT_I8MM
,HasFEAT_JSCVT, queryFEAT_JSCVT
,HasFEAT_LRCPC, queryFEAT_LRCPC
,HasFEAT_LRCPC2, queryFEAT_LRCPC2
,HasFEAT_LSE, queryFEAT_LSE
,HasFEAT_LSE2, queryFEAT_LSE2
,HasFEAT_PAuth, queryFEAT_PAuth
,HasFEAT_PAuth2, queryFEAT_PAuth2
,HasFEAT_PMULL, queryFEAT_PMULL
,HasFEAT_RDM, queryFEAT_RDM
,HasFEAT_RPRES, queryFEAT_RPRES
,HasFEAT_SB, queryFEAT_SB
,HasFEAT_SHA1, queryFEAT_SHA1
,HasFEAT_SHA256, queryFEAT_SHA256
,HasFEAT_SHA3, queryFEAT_SHA3
,HasFEAT_SHA512, queryFEAT_SHA512
,HasFEAT_SME, queryFEAT_SME
,HasFEAT_SME_F64F64, queryFEAT_SME_F64F64
,HasFEAT_SME_I16I64, queryFEAT_SME_I16I64
,HasFEAT_SME2, queryFEAT_SME2
,HasFEAT_SPECRES, queryFEAT_SPECRES
,HasFEAT_SSBS, queryFEAT_SSBS
,HasFEAT_SVE, queryFEAT_SVE
,HasFEAT_SVE2, queryFEAT_SVE2
,HasFEAT_WFxT, queryFEAT_WFxT
,Dict(Dict)
) where
import System.CPUFeatures.Arm.Constraint.Unsafe