Commit Graph

77 Commits

Author SHA1 Message Date
Ben Selfridge
674f08e668 bumped up-to-date dismantle and semmc 2018-01-31 15:19:57 -08:00
Kevin Quick
5f77195513
Update dismantle version for semmc-arm needs. 2018-01-24 12:42:47 -08:00
Ben Selfridge
a66f3922c1 bumped semmc 2018-01-22 16:27:29 -08:00
Ben Selfridge
b3b5aca1e9 bumped semmc version 2018-01-22 13:51:32 -08:00
Tristan Ravitch
46333f1a09 Submodule updates 2018-01-22 10:26:20 -08:00
Ben Selfridge
7e47db94a3 Updated macaw-ppc to handle floating-point UFs 2018-01-17 12:54:30 -08:00
Tristan Ravitch
2c1a2e9b97 Submodule updates 2018-01-09 16:54:56 -08:00
Ben Selfridge
69087e8835 update semmc 2018-01-09 14:02:51 -08:00
Ben Selfridge
6780e14c81 merging to newest semmc 2018-01-09 11:45:08 -08:00
Ben Selfridge
dc5659dc14 updated semmc 2018-01-09 11:37:17 -08:00
Tristan Ravitch
f256869311 Update crucible and parameterized-utils 2018-01-08 15:32:38 -08:00
Tristan Ravitch
77129fbe3e Update the semmc submodule 2018-01-08 15:32:38 -08:00
Ben Selfridge
3c3ffbc375 Merge branch 'master' of gitlab-ext.galois.com:macaw/macaw-semmc 2018-01-05 13:38:36 -08:00
Ben Selfridge
d3f72ee39e Set semmc version to new. 2018-01-05 13:30:12 -08:00
Tristan Ravitch
2247747bef Update submodules to the latest macaw (and others)
Macaw has removed all floating point expression types, so we duplicate those as
arch-specific functions for PowerPC until the more general floating point
support is ready.
2018-01-02 18:17:32 -08:00
Tristan Ravitch
b7359957bf Remove the Witness type and related constraint magic
This change uses ShapeReprs, and requires changes from dismantle and semmc
2017-12-17 21:29:17 -08:00
Tristan Ravitch
f1b0775be8 Update to the new parameterized-utils List
This replaces the old ShapedList from dismantle-tablegen
2017-12-13 21:56:29 -08:00
Tristan Ravitch
7bcc90c83d Start migrating shareable TH code from macaw-ppc to macaw-semmc
This change still needs some work, but no other code depends on it yet
2017-12-06 17:28:23 -08:00
Tristan Ravitch
3838d0964d Submodule updates 2017-11-30 17:13:11 -08:00
Tristan Ravitch
5d2af0328f Update the semmc submodule 2017-11-29 20:27:49 -08:00
Tristan Ravitch
52dc736c08 ppc: Add more support for CR and FPSCR instructions 2017-11-29 16:30:46 -08:00
Tristan Ravitch
0a24dbf78e Update the semmc submodule 2017-11-29 11:40:14 -08:00
Tristan Ravitch
5347f7b079 Update the semmc submodule with more semantics 2017-11-28 23:10:58 -08:00
Tristan Ravitch
c4675b47e4 ppc: Add some more semantics for the cr logical operations 2017-11-28 22:36:08 -08:00
Tristan Ravitch
b033f3788c ppc: Change how we translate instructions represented by arch-specific statements
The old method involved providing the TH code a list of match expressions.  This
made it very difficult to inspect arguments of instructions.  The new approach
has the architecture backend provide a function that gets the first opportunity
to process instructions, which is much more flexible.  This commit also includes
support for a number of cache hint instructions that use the new features.
2017-11-28 21:36:49 -08:00
Tristan Ravitch
cea6bf38c8 Update the dismantle submodule
Cleans up a warning
2017-11-28 19:46:18 -08:00
Tristan Ravitch
b1e0b07cc1 Update semmc and dismantle 2017-11-28 18:42:32 -08:00
Tristan Ravitch
289e1f33be [ppc] Updates to support some vector instructions
The semantics for many of the vector instructions are incomplete and just set
the target register to undefined.  This is enough for code discovery (for now).
2017-11-27 18:16:19 -08:00
Tristan Ravitch
1d49256c23 Bump the semmc submodule 2017-11-22 17:04:47 -08:00
Tristan Ravitch
18d5ac3fe4 Add a translation for the undefined value from semmc 2017-11-21 23:37:17 -08:00
Tristan Ravitch
96a787f895 semmc submodule update
This update includes semantics files for the floating point store instructions
2017-11-16 10:17:54 -05:00
Tristan Ravitch
e4d3942094 Update the semmc submodules for some more instruction semantics 2017-11-13 23:33:07 -08:00
Tristan Ravitch
90f066cd5b Add a few more arithmetic and bitwise instructions 2017-11-13 18:05:51 -08:00
Tristan Ravitch
693727330d Update the semmc submodule with more semantics 2017-11-13 16:54:01 -08:00
Tristan Ravitch
0d6877611b Add some bugfixes for popcount in the semmc submodule 2017-11-10 17:22:52 -08:00
Tristan Ravitch
2002afa246 [ppc] Add preliminary support for popcount
It isn't supported in SimpleBuilder, so we use an uninterpreted function in the
formula language for now.
2017-11-10 16:52:38 -08:00
Tristan Ravitch
bbd00f7ef2 [ppc] Add division and a few arch-specific statements
The arch-specific statements are for memory synchronization
2017-11-10 14:48:35 -08:00
Tristan Ravitch
c990077d7b Update the semmc submodule
This update includes many more semantics files covering most of the dotted
instruction variants
2017-11-09 23:31:13 -08:00
Tristan Ravitch
fc1bd8b077 Add support for more instructions
semmc has semantics for many new instructions.  We also added support for
translating the count leading zero functions.
2017-11-09 17:17:51 -08:00
Tristan Ravitch
9b9e1654ec Update the submodules to add more semantics
This focuses on the rotate instructions
2017-11-08 15:47:01 -08:00
Tristan Ravitch
5e150c15a0 Update to the latest semmc
This includes some new semantics required for the test suite
2017-11-08 10:59:43 -08:00
Tristan Ravitch
008c422917 Update to the latest semmc
This includes semantics for generalized branch conditional
2017-11-06 22:25:12 -08:00
Tristan Ravitch
6a45dc0893 [ppc] Fix an issue with floating point translation
The change is actually in the semantics (semmc), where we were extracting the
wrong part of the 128 bit vector registers to operate on.  Many operations were
being simplified to zero, which manifest as unused fprc registers.
2017-11-06 14:25:54 -08:00
Tristan Ravitch
a9baec5d39 Port to the latest macaw
This makes the architecture-specific terminator statement handling actually work
2017-11-06 10:11:34 -08:00
Tristan Ravitch
e765345a7b Add support for the Syscall arch-specific terminator 2017-11-04 16:23:12 -07:00
Tristan Ravitch
0e9b739503 Implement test_bit_dynamic in the TH translation of semantics
It translates to a BVTestBit (since here we know which bit to extract, whereas
we don't in the semantics).
2017-11-03 15:07:52 -07:00
Tristan Ravitch
c788aebab8 Update the dismantle submodule
This fixes a bug in parsing the stdu instruction that was causing our test to
implode.  It still isn't right, but it gets farther (and parses two instructions
out of the block).
2017-10-31 22:23:57 -07:00
Tristan Ravitch
0fb90e5d6b Update dismantle and semmc
This adds some more general instances needed for higher-level dependencies
2017-10-23 18:06:32 -07:00
Tristan Ravitch
28b7b68881 Fill out more of the PPC semantics translation
This covers all of the floating point used so far, as well as memory operations.
Note that this commit relies on changes that aren't pushed to macaw yet.
2017-10-18 17:48:07 -07:00
Tristan Ravitch
ace4520846 Update to the latest macaw 2017-10-18 10:29:57 -07:00