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

System.CPUFeatures.RISCV.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 the Vector extension
someFunction :: V ~ True => ...

case sV of
  STrue -> {- In this branch, V is True -} someFunction
  SFalse -> {- In this branch, V is False -} error "Vector extension not available"

Documentation

type family C :: Bool Source #

type family V :: Bool Source #

type family Zba :: Bool Source #

type family Zbb :: Bool Source #

type family Zbs :: Bool Source #

type family Zicboz :: Bool Source #

type family Zbc :: Bool Source #

type family Zbkb :: Bool Source #

type family Zbkc :: Bool Source #

type family Zbkx :: Bool Source #

type family Zknd :: Bool Source #

type family Zkne :: Bool Source #

type family Zknh :: Bool Source #

type family Zksed :: Bool Source #

type family Zksh :: Bool Source #

type family Zkt :: Bool Source #

type family Zvbb :: Bool Source #

type family Zvbc :: Bool Source #

type family Zvkb :: Bool Source #

type family Zvkg :: Bool Source #

type family Zvkned :: Bool Source #

type family Zvknha :: Bool Source #

type family Zvknhb :: Bool Source #

type family Zvksed :: Bool Source #

type family Zvksh :: Bool Source #

type family Zvkt :: Bool Source #

type family Zfh :: Bool Source #

type family Zfhmin :: Bool Source #

type family Zihintntl :: Bool Source #

type family Zvfh :: Bool Source #

type family Zvfhmin :: Bool Source #

type family Zfa :: Bool Source #

type family Ztso :: Bool Source #

type family Zacas :: Bool Source #

type family Zicntr :: Bool Source #

type family Zicond :: Bool Source #

type family Zihintpause :: Bool Source #

type family Zihpm :: Bool Source #

type family Zve32x :: Bool Source #

type family Zve32f :: Bool Source #

type family Zve64x :: Bool Source #

type family Zve64f :: Bool Source #

type family Zve64d :: Bool Source #

type family Zimop :: Bool Source #

type family Zca :: Bool Source #

type family Zcb :: Bool Source #

type family Zcd :: Bool Source #

type family Zcf :: Bool Source #

type family Zcmop :: Bool Source #

type family Zawrs :: Bool Source #

type family Zaamo :: Bool Source #

type family Zalrsc :: Bool Source #

type family Supm :: Bool Source #

type family Zfbfmin :: Bool Source #

type family Zvfbfmin :: Bool Source #

type family Zvfbfwma :: Bool Source #

type family Zicbom :: Bool Source #

data SBool (x :: Bool) where Source #

Constructors

STrue :: SBool 'True 
SFalse :: SBool 'False