mirror of
https://github.com/GaloisInc/macaw.git
synced 2025-01-01 10:43:30 +03:00
Add some support for unpack; no symbolic implementation yet.
This commit is contained in:
parent
cb9cef128e
commit
f54f0a13ba
@ -252,6 +252,12 @@ data AVXOp2 = VPAnd -- ^ Bitwise and
|
||||
* upper 4 bits -> index in 2nd op;
|
||||
Indexes are always 0 or 1. -}
|
||||
|
||||
| VPUnpackLQDQ
|
||||
-- ^ A,B,C,D + P,Q,R,S = C,R,D,S
|
||||
-- This one is for DQ, i.e., 64-bit things
|
||||
-- but there are equivalents for all sizes, so we should
|
||||
-- probably parameterize on size.
|
||||
|
||||
|
||||
data AVXPointWiseOp2 =
|
||||
PtAdd -- ^ Pointwise add; overflow wraps around; no overflow flags
|
||||
@ -273,6 +279,7 @@ instance Show AVXOp2 where
|
||||
VAESEnc -> "vaesenc"
|
||||
VAESEncLast -> "vaesenclast"
|
||||
VPCLMULQDQ i -> "vpclmulqdq_" ++ show i
|
||||
VPUnpackLQDQ -> "vpunpacklqdq"
|
||||
|
||||
instance Show AVXPointWiseOp2 where
|
||||
show x = case x of
|
||||
|
@ -215,6 +215,7 @@ all_instructions =
|
||||
|
||||
, avxOp2 "vaesenc" VAESEnc
|
||||
, avxOp2 "vaesenclast" VAESEncLast
|
||||
, avxOp2 "vpunpcklqdq" VPUnpackLQDQ
|
||||
|
||||
, avx3 "vextractf128" $ \arg1 arg2 arg ->
|
||||
do SomeBV vec <- getSomeBVValue arg2
|
||||
|
Loading…
Reference in New Issue
Block a user