use custom valgrind pdep/pext everywhere
This commit is contained in:
parent
d1469df96b
commit
ced082cc82
@ -69,16 +69,6 @@
|
|||||||
#define FAST_PDEP 1
|
#define FAST_PDEP 1
|
||||||
#endif
|
#endif
|
||||||
#include <immintrin.h>
|
#include <immintrin.h>
|
||||||
|
|
||||||
#if USE_VALGRIND
|
|
||||||
#define _pext_u32 vg_pext_u64
|
|
||||||
#define _pext_u64 vg_pext_u64
|
|
||||||
#define _pdep_u32 vg_pdep_u64
|
|
||||||
#define _pdep_u64 vg_pdep_u64
|
|
||||||
#else
|
|
||||||
#define vg_loadLUT64(p, i) p[i]
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !USE_VALGRIND
|
#if !USE_VALGRIND
|
||||||
|
|||||||
@ -29,7 +29,7 @@ NORETURN NOINLINE void fatal(char* s) {
|
|||||||
vm_pstLive(); fflush(stderr); fflush(stdout);
|
vm_pstLive(); fflush(stderr); fflush(stdout);
|
||||||
print_vmStack(); fflush(stderr);
|
print_vmStack(); fflush(stderr);
|
||||||
before_exit();
|
before_exit();
|
||||||
#if DEBUG
|
#if DEBUG || USE_VALGRIND
|
||||||
__builtin_trap();
|
__builtin_trap();
|
||||||
#endif
|
#endif
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|||||||
@ -24,6 +24,17 @@
|
|||||||
#define unpacked_vqtbl4q_u8(A,B,C,D,I) vqtbl4q_u8((uint8x16x4_t){A,B,C,D}, I)
|
#define unpacked_vqtbl4q_u8(A,B,C,D,I) vqtbl4q_u8((uint8x16x4_t){A,B,C,D}, I)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if USE_VALGRIND
|
||||||
|
#if defined(__amd64__)
|
||||||
|
#include<immintrin.h>
|
||||||
|
#define _pext_u32 vg_pext_u64
|
||||||
|
#define _pext_u64 vg_pext_u64
|
||||||
|
#define _pdep_u32 vg_pdep_u64
|
||||||
|
#define _pdep_u64 vg_pdep_u64
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#define vg_loadLUT64(p, i) p[i]
|
||||||
|
#endif
|
||||||
|
|
||||||
#define BCALL(N, X) N(b(X))
|
#define BCALL(N, X) N(b(X))
|
||||||
#define interp_f64(X) b(X).f
|
#define interp_f64(X) b(X).f
|
||||||
|
|||||||
@ -53,7 +53,7 @@ B vg_validateResult(B x) {
|
|||||||
u64 exp = (1ULL<<left) - 1;
|
u64 exp = (1ULL<<left) - 1;
|
||||||
u64 got = vg_getDefined_u64(last);
|
u64 got = vg_getDefined_u64(last);
|
||||||
if ((got&exp) != exp) {
|
if ((got&exp) != exp) {
|
||||||
printf("Expected %d defined trailing bits, got:\n", left);
|
printf("Expected %d defined trailing bits in object at %p, got:\n", left, v(x));
|
||||||
vg_printDefined_u64(NULL, last);
|
vg_printDefined_u64(NULL, last);
|
||||||
fatal("");
|
fatal("");
|
||||||
}
|
}
|
||||||
@ -68,7 +68,7 @@ B vg_validateResult(B x) {
|
|||||||
len = sizeof(B) * ia;
|
len = sizeof(B) * ia;
|
||||||
}
|
}
|
||||||
if (VALGRIND_CHECK_MEM_IS_DEFINED(data, len)) {
|
if (VALGRIND_CHECK_MEM_IS_DEFINED(data, len)) {
|
||||||
printf("Expected "N64d" defined bytes, got:\n", len);
|
printf("Expected "N64d" defined bytes in object at %p, got:\n", len, v(x));
|
||||||
vg_printDump_p(NULL, data, len);
|
vg_printDump_p(NULL, data, len);
|
||||||
fatal("");
|
fatal("");
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user