use custom valgrind pdep/pext everywhere
This commit is contained in:
parent
d1469df96b
commit
ced082cc82
@ -69,16 +69,6 @@
|
||||
#define FAST_PDEP 1
|
||||
#endif
|
||||
#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
|
||||
|
||||
#if !USE_VALGRIND
|
||||
|
||||
@ -29,7 +29,7 @@ NORETURN NOINLINE void fatal(char* s) {
|
||||
vm_pstLive(); fflush(stderr); fflush(stdout);
|
||||
print_vmStack(); fflush(stderr);
|
||||
before_exit();
|
||||
#if DEBUG
|
||||
#if DEBUG || USE_VALGRIND
|
||||
__builtin_trap();
|
||||
#endif
|
||||
exit(1);
|
||||
|
||||
@ -24,6 +24,17 @@
|
||||
#define unpacked_vqtbl4q_u8(A,B,C,D,I) vqtbl4q_u8((uint8x16x4_t){A,B,C,D}, I)
|
||||
#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 interp_f64(X) b(X).f
|
||||
|
||||
@ -53,7 +53,7 @@ B vg_validateResult(B x) {
|
||||
u64 exp = (1ULL<<left) - 1;
|
||||
u64 got = vg_getDefined_u64(last);
|
||||
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);
|
||||
fatal("");
|
||||
}
|
||||
@ -68,7 +68,7 @@ B vg_validateResult(B x) {
|
||||
len = sizeof(B) * ia;
|
||||
}
|
||||
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);
|
||||
fatal("");
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user