{-# LANGUAGE CPP #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE UnliftedFFITypes #-}
module System.CPUFeatures.RISCV.Bool
(bC
,bV
,bZba
,bZbb
,bZbs
,bZicboz
,bZbc
,bZbkb
,bZbkc
,bZbkx
,bZknd
,bZkne
,bZknh
,bZksed
,bZksh
,bZkt
,bZvbb
,bZvbc
,bZvkb
,bZvkg
,bZvkned
,bZvknha
,bZvknhb
,bZvksed
,bZvksh
,bZvkt
,bZfh
,bZfhmin
,bZihintntl
,bZvfh
,bZvfhmin
,bZfa
,bZtso
,bZacas
,bZicntr
,bZicond
,bZihintpause
,bZihpm
,bZve32x
,bZve32f
,bZve64x
,bZve64f
,bZve64d
,bZimop
,bZca
,bZcb
,bZcd
,bZcf
,bZcmop
,bZawrs
,bZaamo
,bZalrsc
,bSupm
,bZfbfmin
,bZvfbfmin
,bZvfbfwma
,bZicbom
) where
#if defined(riscv64_HOST_ARCH) && defined(linux_HOST_OS)
import Data.Bits ((.&.))
import Hwcap
import Hwprobe
#endif
bC :: Bool
bV :: Bool
bZba :: Bool
bZbb :: Bool
bZbs :: Bool
bZicboz :: Bool
bZbc :: Bool
bZbkb :: Bool
bZbkc :: Bool
bZbkx :: Bool
bZknd :: Bool
bZkne :: Bool
bZknh :: Bool
bZksed :: Bool
bZksh :: Bool
bZkt :: Bool
bZvbb :: Bool
bZvbc :: Bool
bZvkb :: Bool
bZvkg :: Bool
bZvkned :: Bool
bZvknha :: Bool
bZvknhb :: Bool
bZvksed :: Bool
bZvksh :: Bool
bZvkt :: Bool
bZfh :: Bool
bZfhmin :: Bool
bZihintntl :: Bool
bZvfh :: Bool
bZvfhmin :: Bool
bZfa :: Bool
bZtso :: Bool
bZacas :: Bool
bZicntr :: Bool
bZicond :: Bool
bZihintpause :: Bool
bZihpm :: Bool
bZve32x :: Bool
bZve32f :: Bool
bZve64x :: Bool
bZve64f :: Bool
bZve64d :: Bool
bZimop :: Bool
bZca :: Bool
bZcb :: Bool
bZcd :: Bool
bZcf :: Bool
bZcmop :: Bool
bZawrs :: Bool
bZaamo :: Bool
bZalrsc :: Bool
bSupm :: Bool
bZfbfmin :: Bool
bZvfbfmin :: Bool
bZvfbfwma :: Bool
bZicbom :: Bool
#if defined(riscv64_HOST_ARCH) && defined(linux_HOST_OS)
bC = hwcap .&. hwcap_C /= 0
bV = hwcap .&. hwcap_V /= 0
bZba = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZBA /= 0
bZbb = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZBB /= 0
bZbs = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZBS /= 0
bZicboz = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZICBOZ /= 0
bZbc = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZBC /= 0
bZbkb = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZBKB /= 0
bZbkc = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZBKC /= 0
bZbkx = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZBKX /= 0
bZknd = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZKND /= 0
bZkne = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZKNE /= 0
bZknh = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZKNH /= 0
bZksed = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZKSED /= 0
bZksh = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZKSH /= 0
bZkt = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZKT /= 0
bZvbb = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVBB /= 0
bZvbc = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVBC /= 0
bZvkb = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVKB /= 0
bZvkg = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVKG /= 0
bZvkned = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVKNED /= 0
bZvknha = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVKNHA /= 0
bZvknhb = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVKNHB /= 0
bZvksed = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVKSED /= 0
bZvksh = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVKSH /= 0
bZvkt = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVKT /= 0
bZfh = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZFH /= 0
bZfhmin = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZFHMIN /= 0
bZihintntl = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZIHINTNTL /= 0
bZvfh = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVFH /= 0
bZvfhmin = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVFHMIN /= 0
bZfa = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZFA /= 0
bZtso = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZTSO /= 0
bZacas = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZACAS /= 0
bZicntr = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZICNTR /= 0
bZicond = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZICOND /= 0
bZihintpause = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZIHINTPAUSE /= 0
bZihpm = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZIHPM /= 0
bZve32x = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVE32X /= 0
bZve32f = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVE32F /= 0
bZve64x = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVE64X /= 0
bZve64f = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVE64F /= 0
bZve64d = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVE64D /= 0
bZimop = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZIMOP /= 0
bZca = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZCA /= 0
bZcb = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZCB /= 0
bZcd = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZCD /= 0
bZcf = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZCF /= 0
bZcmop = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZCMOP /= 0
bZawrs = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZAWRS /= 0
bZaamo = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZAAMO /= 0
bZalrsc = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZALRSC /= 0
bSupm = hwprobe_ima_ext_0 .&. hwprobe_EXT_SUPM /= 0
bZfbfmin = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZFBFMIN /= 0
bZvfbfmin = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVFBFMIN /= 0
bZvfbfwma = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZVFBFWMA /= 0
bZicbom = hwprobe_ima_ext_0 .&. hwprobe_EXT_ZICBOM /= 0
#else
{-# INLINE bC #-}
bC :: Bool
bC = Bool
False
{-# INLINE bV #-}
bV :: Bool
bV = Bool
False
{-# INLINE bZba #-}
bZba :: Bool
bZba = Bool
False
{-# INLINE bZbb #-}
bZbb :: Bool
bZbb = Bool
False
{-# INLINE bZbs #-}
bZbs :: Bool
bZbs = Bool
False
{-# INLINE bZicboz #-}
bZicboz :: Bool
bZicboz = Bool
False
{-# INLINE bZbc #-}
bZbc :: Bool
bZbc = Bool
False
{-# INLINE bZbkb #-}
bZbkb :: Bool
bZbkb = Bool
False
{-# INLINE bZbkc #-}
bZbkc :: Bool
bZbkc = Bool
False
{-# INLINE bZbkx #-}
bZbkx :: Bool
bZbkx = Bool
False
{-# INLINE bZknd #-}
bZknd :: Bool
bZknd = Bool
False
{-# INLINE bZkne #-}
bZkne :: Bool
bZkne = Bool
False
{-# INLINE bZknh #-}
bZknh :: Bool
bZknh = Bool
False
{-# INLINE bZksed #-}
bZksed :: Bool
bZksed = Bool
False
{-# INLINE bZksh #-}
bZksh :: Bool
bZksh = Bool
False
{-# INLINE bZkt #-}
bZkt :: Bool
bZkt = Bool
False
{-# INLINE bZvbb #-}
bZvbb :: Bool
bZvbb = Bool
False
{-# INLINE bZvbc #-}
bZvbc :: Bool
bZvbc = Bool
False
{-# INLINE bZvkb #-}
bZvkb :: Bool
bZvkb = Bool
False
{-# INLINE bZvkg #-}
bZvkg :: Bool
bZvkg = Bool
False
{-# INLINE bZvkned #-}
bZvkned :: Bool
bZvkned = Bool
False
{-# INLINE bZvknha #-}
bZvknha :: Bool
bZvknha = Bool
False
{-# INLINE bZvknhb #-}
bZvknhb :: Bool
bZvknhb = Bool
False
{-# INLINE bZvksed #-}
bZvksed :: Bool
bZvksed = Bool
False
{-# INLINE bZvksh #-}
bZvksh :: Bool
bZvksh = Bool
False
{-# INLINE bZvkt #-}
bZvkt :: Bool
bZvkt = Bool
False
{-# INLINE bZfh #-}
bZfh :: Bool
bZfh = Bool
False
{-# INLINE bZfhmin #-}
bZfhmin :: Bool
bZfhmin = Bool
False
{-# INLINE bZihintntl #-}
bZihintntl :: Bool
bZihintntl = Bool
False
{-# INLINE bZvfh #-}
bZvfh :: Bool
bZvfh = Bool
False
{-# INLINE bZvfhmin #-}
bZvfhmin :: Bool
bZvfhmin = Bool
False
{-# INLINE bZfa #-}
bZfa :: Bool
bZfa = Bool
False
{-# INLINE bZtso #-}
bZtso :: Bool
bZtso = Bool
False
{-# INLINE bZacas #-}
bZacas :: Bool
bZacas = Bool
False
{-# INLINE bZicntr #-}
bZicntr :: Bool
bZicntr = Bool
False
{-# INLINE bZicond #-}
bZicond :: Bool
bZicond = Bool
False
{-# INLINE bZihintpause #-}
bZihintpause :: Bool
bZihintpause = Bool
False
{-# INLINE bZihpm #-}
bZihpm :: Bool
bZihpm = Bool
False
{-# INLINE bZve32x #-}
bZve32x :: Bool
bZve32x = Bool
False
{-# INLINE bZve32f #-}
bZve32f :: Bool
bZve32f = Bool
False
{-# INLINE bZve64x #-}
bZve64x :: Bool
bZve64x = Bool
False
{-# INLINE bZve64f #-}
bZve64f :: Bool
bZve64f = Bool
False
{-# INLINE bZve64d #-}
bZve64d :: Bool
bZve64d = Bool
False
{-# INLINE bZimop #-}
bZimop :: Bool
bZimop = Bool
False
{-# INLINE bZca #-}
bZca :: Bool
bZca = Bool
False
{-# INLINE bZcb #-}
bZcb :: Bool
bZcb = Bool
False
{-# INLINE bZcd #-}
bZcd :: Bool
bZcd = Bool
False
{-# INLINE bZcf #-}
bZcf :: Bool
bZcf = Bool
False
{-# INLINE bZcmop #-}
bZcmop :: Bool
bZcmop = Bool
False
{-# INLINE bZawrs #-}
bZawrs :: Bool
bZawrs = Bool
False
{-# INLINE bZaamo #-}
bZaamo :: Bool
bZaamo = Bool
False
{-# INLINE bZalrsc #-}
bZalrsc :: Bool
bZalrsc = Bool
False
{-# INLINE bSupm #-}
bSupm :: Bool
bSupm = Bool
False
{-# INLINE bZfbfmin #-}
bZfbfmin :: Bool
bZfbfmin = Bool
False
{-# INLINE bZvfbfmin #-}
bZvfbfmin :: Bool
bZvfbfmin = Bool
False
{-# INLINE bZvfbfwma #-}
bZvfbfwma :: Bool
bZvfbfwma = Bool
False
{-# INLINE bZicbom #-}
bZicbom :: Bool
bZicbom = Bool
False
#endif