| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Lang.Crucible.LLVM.Arch.X86
Synopsis
- data AVXOp1
- data ExtX86 (a :: CrucibleType -> Type) (b :: CrucibleType) where
- VOp1 :: forall (n :: Natural) (a :: CrucibleType -> Type). 1 <= n => !(NatRepr n) -> !AVXOp1 -> !(a (BVType n)) -> ExtX86 a ('BaseToType (BaseBVType n))
- eval :: forall sym f (tp :: CrucibleType). IsSymExprBuilder sym => sym -> (forall (subT :: CrucibleType). f subT -> IO (RegValue sym subT)) -> ExtX86 f tp -> IO (RegValue sym tp)
- vShiftL :: forall sym (w :: Natural). (IsSymExprBuilder sym, 1 <= w) => sym -> NatRepr w -> Word8 -> SymBV sym w -> IO (SymBV sym w)
- vShufD :: forall sym (w :: Nat). IsSymExprBuilder sym => sym -> NatRepr w -> Word8 -> SymBV sym w -> IO (SymBV sym w)
- n0 :: NatRepr 0
- n1 :: NatRepr 1
- n2 :: NatRepr 2
- n3 :: NatRepr 3
- n32 :: NatRepr 32
- n128 :: NatRepr 128
- n256 :: NatRepr 256
Documentation
Constructors
| VShiftL Word8 | Shift left by this many bytes New bytes are 0. |
| VShufD Word8 | Shuffle 32-bit words of vector according to pattern in the word8 |
data ExtX86 (a :: CrucibleType -> Type) (b :: CrucibleType) where Source #
Constructors
| VOp1 :: forall (n :: Natural) (a :: CrucibleType -> Type). 1 <= n => !(NatRepr n) -> !AVXOp1 -> !(a (BVType n)) -> ExtX86 a ('BaseToType (BaseBVType n)) | Unary operation on a vector. Should have no side effects. |
Instances
| TypeApp ExtX86 Source # | |
Defined in Lang.Crucible.LLVM.Arch.X86 Methods appType :: forall (f :: CrucibleType -> Type) (x :: CrucibleType). ExtX86 f x -> TypeRepr x # | |
| PrettyApp ExtX86 Source # | |
Defined in Lang.Crucible.LLVM.Arch.X86 Methods ppApp :: (forall (x :: CrucibleType). f x -> Doc ann) -> forall (x :: CrucibleType). ExtX86 f x -> Doc ann # | |
| FoldableFC ExtX86 Source # | |
Defined in Lang.Crucible.LLVM.Arch.X86 Methods foldMapFC :: forall f m. Monoid m => (forall (x :: CrucibleType). f x -> m) -> forall (x :: CrucibleType). ExtX86 f x -> m # foldrFC :: (forall (x :: CrucibleType). f x -> b -> b) -> forall (x :: CrucibleType). b -> ExtX86 f x -> b # foldlFC :: forall f b. (forall (x :: CrucibleType). b -> f x -> b) -> forall (x :: CrucibleType). b -> ExtX86 f x -> b # foldrFC' :: (forall (x :: CrucibleType). f x -> b -> b) -> forall (x :: CrucibleType). b -> ExtX86 f x -> b # foldlFC' :: forall f b. (forall (x :: CrucibleType). b -> f x -> b) -> forall (x :: CrucibleType). b -> ExtX86 f x -> b # toListFC :: (forall (x :: CrucibleType). f x -> a) -> forall (x :: CrucibleType). ExtX86 f x -> [a] # | |
| FunctorFC ExtX86 Source # | |
Defined in Lang.Crucible.LLVM.Arch.X86 Methods fmapFC :: (forall (x :: CrucibleType). f x -> g x) -> forall (x :: CrucibleType). ExtX86 f x -> ExtX86 g x # | |
| HashableFC ExtX86 Source # | |
Defined in Lang.Crucible.LLVM.Arch.X86 Methods hashWithSaltFC :: (forall (x :: CrucibleType). Int -> f x -> Int) -> forall (x :: CrucibleType). Int -> ExtX86 f x -> Int # | |
| OrdFC ExtX86 Source # | |
Defined in Lang.Crucible.LLVM.Arch.X86 Methods compareFC :: (forall (x :: CrucibleType) (y :: CrucibleType). f x -> f y -> OrderingF x y) -> forall (x :: CrucibleType) (y :: CrucibleType). ExtX86 f x -> ExtX86 f y -> OrderingF x y # | |
| ShowFC ExtX86 Source # | |
Defined in Lang.Crucible.LLVM.Arch.X86 Methods showFC :: (forall (x :: CrucibleType). f x -> String) -> forall (x :: CrucibleType). ExtX86 f x -> String # showsPrecFC :: (forall (x :: CrucibleType). Int -> f x -> ShowS) -> forall (x :: CrucibleType). Int -> ExtX86 f x -> ShowS # | |
| TestEqualityFC ExtX86 Source # | |
Defined in Lang.Crucible.LLVM.Arch.X86 Methods testEqualityFC :: (forall (x :: CrucibleType) (y :: CrucibleType). f x -> f y -> Maybe (x :~: y)) -> forall (x :: CrucibleType) (y :: CrucibleType). ExtX86 f x -> ExtX86 f y -> Maybe (x :~: y) # | |
| TraversableFC ExtX86 Source # | |
Defined in Lang.Crucible.LLVM.Arch.X86 Methods traverseFC :: forall f g m. Applicative m => (forall (x :: CrucibleType). f x -> m (g x)) -> forall (x :: CrucibleType). ExtX86 f x -> m (ExtX86 g x) # | |
eval :: forall sym f (tp :: CrucibleType). IsSymExprBuilder sym => sym -> (forall (subT :: CrucibleType). f subT -> IO (RegValue sym subT)) -> ExtX86 f tp -> IO (RegValue sym tp) Source #
vShiftL :: forall sym (w :: Natural). (IsSymExprBuilder sym, 1 <= w) => sym -> NatRepr w -> Word8 -> SymBV sym w -> IO (SymBV sym w) Source #
See vpslldq