cpu-features-0.1.0.0: A library to detect CPU features
Safe HaskellNone
LanguageGHC2021

System.CPUFeatures.Arm.Constraint

Description

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"

Documentation

class FEAT_AES ~ 'True => HasFEAT_AES Source #

Instances

Instances details
FEAT_AES ~ 'True => HasFEAT_AES Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_AFP ~ 'True => HasFEAT_AFP Source #

Instances

Instances details
FEAT_AFP ~ 'True => HasFEAT_AFP Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_BF16 ~ 'True => HasFEAT_BF16 Source #

Instances

Instances details
FEAT_BF16 ~ 'True => HasFEAT_BF16 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_BTI ~ 'True => HasFEAT_BTI Source #

Instances

Instances details
FEAT_BTI ~ 'True => HasFEAT_BTI Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_CSV2 ~ 'True => HasFEAT_CSV2 Source #

Instances

Instances details
FEAT_CSV2 ~ 'True => HasFEAT_CSV2 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_CSV3 ~ 'True => HasFEAT_CSV3 Source #

Instances

Instances details
FEAT_CSV3 ~ 'True => HasFEAT_CSV3 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_DIT ~ 'True => HasFEAT_DIT Source #

Instances

Instances details
FEAT_DIT ~ 'True => HasFEAT_DIT Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_DotProd ~ 'True => HasFEAT_DotProd Source #

Instances

Instances details
FEAT_DotProd ~ 'True => HasFEAT_DotProd Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_DPB ~ 'True => HasFEAT_DPB Source #

Instances

Instances details
FEAT_DPB ~ 'True => HasFEAT_DPB Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_DPB2 ~ 'True => HasFEAT_DPB2 Source #

Instances

Instances details
FEAT_DPB2 ~ 'True => HasFEAT_DPB2 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_ECV ~ 'True => HasFEAT_ECV Source #

Instances

Instances details
FEAT_ECV ~ 'True => HasFEAT_ECV Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_FCMA ~ 'True => HasFEAT_FCMA Source #

Instances

Instances details
FEAT_FCMA ~ 'True => HasFEAT_FCMA Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_FHM ~ 'True => HasFEAT_FHM Source #

Instances

Instances details
FEAT_FHM ~ 'True => HasFEAT_FHM Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_FlagM ~ 'True => HasFEAT_FlagM Source #

Instances

Instances details
FEAT_FlagM ~ 'True => HasFEAT_FlagM Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_FlagM2 ~ 'True => HasFEAT_FlagM2 Source #

Instances

Instances details
FEAT_FlagM2 ~ 'True => HasFEAT_FlagM2 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_FP16 ~ 'True => HasFEAT_FP16 Source #

Instances

Instances details
FEAT_FP16 ~ 'True => HasFEAT_FP16 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_FPAC ~ 'True => HasFEAT_FPAC Source #

Instances

Instances details
FEAT_FPAC ~ 'True => HasFEAT_FPAC Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_FRINTTS ~ 'True => HasFEAT_FRINTTS Source #

Instances

Instances details
FEAT_FRINTTS ~ 'True => HasFEAT_FRINTTS Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_I8MM ~ 'True => HasFEAT_I8MM Source #

Instances

Instances details
FEAT_I8MM ~ 'True => HasFEAT_I8MM Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_JSCVT ~ 'True => HasFEAT_JSCVT Source #

Instances

Instances details
FEAT_JSCVT ~ 'True => HasFEAT_JSCVT Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_LRCPC ~ 'True => HasFEAT_LRCPC Source #

Instances

Instances details
FEAT_LRCPC ~ 'True => HasFEAT_LRCPC Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_LRCPC2 ~ 'True => HasFEAT_LRCPC2 Source #

Instances

Instances details
FEAT_LRCPC2 ~ 'True => HasFEAT_LRCPC2 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_LSE ~ 'True => HasFEAT_LSE Source #

Instances

Instances details
FEAT_LSE ~ 'True => HasFEAT_LSE Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_LSE2 ~ 'True => HasFEAT_LSE2 Source #

Instances

Instances details
FEAT_LSE2 ~ 'True => HasFEAT_LSE2 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_PAuth ~ 'True => HasFEAT_PAuth Source #

Instances

Instances details
FEAT_PAuth ~ 'True => HasFEAT_PAuth Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_PAuth2 ~ 'True => HasFEAT_PAuth2 Source #

Instances

Instances details
FEAT_PAuth2 ~ 'True => HasFEAT_PAuth2 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_PMULL ~ 'True => HasFEAT_PMULL Source #

Instances

Instances details
FEAT_PMULL ~ 'True => HasFEAT_PMULL Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_RDM ~ 'True => HasFEAT_RDM Source #

Instances

Instances details
FEAT_RDM ~ 'True => HasFEAT_RDM Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_RPRES ~ 'True => HasFEAT_RPRES Source #

Instances

Instances details
FEAT_RPRES ~ 'True => HasFEAT_RPRES Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_SB ~ 'True => HasFEAT_SB Source #

Instances

Instances details
FEAT_SB ~ 'True => HasFEAT_SB Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_SHA1 ~ 'True => HasFEAT_SHA1 Source #

Instances

Instances details
FEAT_SHA1 ~ 'True => HasFEAT_SHA1 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_SHA256 ~ 'True => HasFEAT_SHA256 Source #

Instances

Instances details
FEAT_SHA256 ~ 'True => HasFEAT_SHA256 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_SHA3 ~ 'True => HasFEAT_SHA3 Source #

Instances

Instances details
FEAT_SHA3 ~ 'True => HasFEAT_SHA3 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_SHA512 ~ 'True => HasFEAT_SHA512 Source #

Instances

Instances details
FEAT_SHA512 ~ 'True => HasFEAT_SHA512 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_SME ~ 'True => HasFEAT_SME Source #

Instances

Instances details
FEAT_SME ~ 'True => HasFEAT_SME Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_SME2 ~ 'True => HasFEAT_SME2 Source #

Instances

Instances details
FEAT_SME2 ~ 'True => HasFEAT_SME2 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_SPECRES ~ 'True => HasFEAT_SPECRES Source #

Instances

Instances details
FEAT_SPECRES ~ 'True => HasFEAT_SPECRES Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_SSBS ~ 'True => HasFEAT_SSBS Source #

Instances

Instances details
FEAT_SSBS ~ 'True => HasFEAT_SSBS Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_SVE ~ 'True => HasFEAT_SVE Source #

Instances

Instances details
FEAT_SVE ~ 'True => HasFEAT_SVE Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_SVE2 ~ 'True => HasFEAT_SVE2 Source #

Instances

Instances details
FEAT_SVE2 ~ 'True => HasFEAT_SVE2 Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

class FEAT_WFxT ~ 'True => HasFEAT_WFxT Source #

Instances

Instances details
FEAT_WFxT ~ 'True => HasFEAT_WFxT Source # 
Instance details

Defined in System.CPUFeatures.Arm.Constraint.Unsafe

data Dict c Source #

Constructors

c => Dict