mirror of
https://github.com/Z3Prover/z3
synced 2025-10-05 23:43:59 +00:00
initial integration of opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
commit
8205b45839
114 changed files with 3680 additions and 1370 deletions
|
@ -52,6 +52,9 @@ Revision History:
|
|||
|
||||
#ifdef USE_INTRINSICS
|
||||
#include <emmintrin.h>
|
||||
#if defined(_MSC_VER) || defined(__SSE4_1__)
|
||||
#include <smmintrin.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
hwf_manager::hwf_manager() :
|
||||
|
@ -303,7 +306,9 @@ void hwf_manager::round_to_integral(mpf_rounding_mode rm, hwf const & x, hwf & o
|
|||
// According to the Intel Architecture manual, the x87-instrunction FRNDINT is the
|
||||
// same in 32-bit and 64-bit mode. The _mm_round_* intrinsics are SSE4 extensions.
|
||||
#ifdef _WINDOWS
|
||||
#ifdef USE_INTRINSICS
|
||||
#if defined(USE_INTRINSICS) && \
|
||||
(defined(_WINDOWS) && (defined(__AVX__) || defined(_M_X64))) || \
|
||||
(!defined(_WINDOWS) && defined(__SSE4_1__))
|
||||
switch (rm) {
|
||||
case 0: _mm_store_sd(&o.value, _mm_round_pd(_mm_set_sd(x.value), _MM_FROUND_TO_NEAREST_INT)); break;
|
||||
case 2: _mm_store_sd(&o.value, _mm_round_pd(_mm_set_sd(x.value), _MM_FROUND_TO_POS_INF)); break;
|
||||
|
|
|
@ -88,9 +88,6 @@ public:
|
|||
bool is_pzero(hwf const & x);
|
||||
|
||||
bool is_one(hwf const & x);
|
||||
|
||||
// structural eq
|
||||
bool eq_core(hwf const & x, hwf const & y);
|
||||
|
||||
bool eq(hwf const & x, hwf const & y);
|
||||
bool lt(hwf const & x, hwf const & y);
|
||||
|
|
|
@ -70,6 +70,7 @@ void small_object_allocator::reset() {
|
|||
|
||||
void small_object_allocator::deallocate(size_t size, void * p) {
|
||||
if (size == 0) return;
|
||||
|
||||
#if defined(Z3DEBUG) && !defined(_WINDOWS)
|
||||
// Valgrind friendly
|
||||
memory::deallocate(p);
|
||||
|
@ -93,6 +94,7 @@ void small_object_allocator::deallocate(size_t size, void * p) {
|
|||
|
||||
void * small_object_allocator::allocate(size_t size) {
|
||||
if (size == 0) return 0;
|
||||
|
||||
#if defined(Z3DEBUG) && !defined(_WINDOWS)
|
||||
// Valgrind friendly
|
||||
return memory::allocate(size);
|
||||
|
|
8
src/util/version.h.cmake.in
Normal file
8
src/util/version.h.cmake.in
Normal file
|
@ -0,0 +1,8 @@
|
|||
// automatically generated file.
|
||||
#define Z3_MAJOR_VERSION @Z3_VERSION_MAJOR@
|
||||
#define Z3_MINOR_VERSION @Z3_VERSION_MINOR@
|
||||
#define Z3_BUILD_NUMBER @Z3_VERSION_PATCH@
|
||||
#define Z3_REVISION_NUMBER @Z3_VERSION_TWEAK@
|
||||
|
||||
#define Z3_FULL_VERSION @Z3_FULL_VERSION@
|
||||
#cmakedefine Z3GITHASH @Z3GITHASH@
|
Loading…
Add table
Add a link
Reference in a new issue