Commit Graph

34 Commits

Author SHA1 Message Date
Iavor Diatchki
89529ed7e3 Be more lenient when interpreting bogus expressions.
Previously we were asserting that some bogus-y things don't happen.
Unfortunately, these expressions can occur in code that was not
directly written by the user (e.g., comparisons for setting various
machine flags).   To allow for that, we allow the expressions, but
give them undefined values.  So the proof will succeed only if it
does not depend on the values of these bogus comparisons.
2018-03-07 10:22:46 -08:00
Iavor Diatchki
357a526589 Export symbol names, so can add interpretations to them. 2018-03-02 15:35:22 -08:00
Iavor Diatchki
df32ca44aa Add a function for convenient lookup of Macaw registers in a Crucible asgn. 2018-03-02 11:35:47 -08:00
Iavor Diatchki
7c1992d991 There are only 12 FP status registers; 3 of the bits are for TOP, which is separate 2018-02-15 13:58:02 -08:00
Iavor Diatchki
b5995421ea Port x86-symbolic to the new pointer representation 2018-02-12 13:27:57 -08:00
Iavor Diatchki
9200b2bcdd Rename module, to avoid name class with module from macaw-x86 2018-01-31 14:41:45 -08:00
Iavor Diatchki
ef1d277c12 Make test build (but not yet function) 2018-01-30 15:55:22 -08:00
Iavor Diatchki
737d4fc0c5 Fix test (still does not work, but for other reasons) 2018-01-30 15:50:34 -08:00
Iavor Diatchki
1f62f90585 Export symFun creation functions 2018-01-30 15:50:20 -08:00
Iavor Diatchki
d70768fe1c Add generation of uninterpreted functions for complex instructions. 2018-01-30 10:40:46 -08:00
Iavor Diatchki
01b9008d0f Add uninterpreted functions for more complex instructions. 2018-01-29 17:50:33 -08:00
Iavor Diatchki
e92be789ab Pass in the type intrinsics when evaluating. 2018-01-26 14:43:45 -08:00
Iavor Diatchki
3a240e9154 Even partiy + scaffolding for cariless multiplication. 2018-01-26 11:36:19 -08:00
Iavor Diatchki
54662612ea The pointwise operations, so far. 2018-01-25 15:59:32 -08:00
Iavor Diatchki
6088ccc3dd Pointwise shift 2018-01-25 15:54:08 -08:00
Iavor Diatchki
f2c8eace6c Write shiffleD in the same style as the rest. 2018-01-25 15:38:58 -08:00
Iavor Diatchki
dc1bfacfa5 Some more operations 2018-01-25 15:29:47 -08:00
Iavor Diatchki
68cf758664 Fix shifting. Allow using big and little endian splits. 2018-01-24 17:08:02 -08:00
Iavor Diatchki
405f6779f1 Factor out common gunk 2018-01-24 15:15:00 -08:00
Iavor Diatchki
3f9bcd8461 Implement shffule 2018-01-24 15:02:43 -08:00
Iavor Diatchki
712537c421 Enough infrastructure to define one instruction. 2018-01-24 14:35:03 -08:00
Iavor Diatchki
da4f1b873e Needs only Functor 2018-01-23 16:02:38 -08:00
Iavor Diatchki
04408c595a Move semantics function to a separate module.
This is yet to be defined.
2018-01-23 16:01:50 -08:00
Iavor Diatchki
1b359da739 Define a pretty printer, and appT 2018-01-23 15:28:20 -08:00
Iavor Diatchki
8d4e940bb7 More simplifications; revert back to original.
It would appear that once the lifted wrapper functions were
in places, the types happen to match.
2018-01-23 15:09:38 -08:00
Iavor Diatchki
aed0e53342 Simplify TraversableFC instace, add FunctorFC 2018-01-23 14:38:27 -08:00
Iavor Diatchki
66ad7e521b Define the traversableFC instance. 2018-01-23 14:30:29 -08:00
Joe Hendrix
d1bdff9866
Additional code for macaw-symbolic. 2018-01-22 16:58:33 -08:00
Joe Hendrix
365aa7fb39
Additional macaw-symbolic progress. 2018-01-22 16:38:17 -08:00
Joe Hendrix
8b97faa731
More progress on Macaw symbolic; compile fixes for Macaw changes. 2018-01-22 15:28:20 -08:00
Joe Hendrix
1ffd97b0b9
Update macaw-symbolic to work with AVX code. 2018-01-16 15:42:36 -08:00
Joe Hendrix
48001ea6f1
Add updated flexdis constraints. 2018-01-16 15:37:30 -08:00
Joe Hendrix
b7e06e64ee
Progress on macaw-symbolic and macaw-x86-symbolic. 2018-01-16 15:06:31 -08:00
Joe Hendrix
824b245eaa
Add macaw-x86-symbolic 2018-01-02 22:50:23 -08:00