From ced082cc82e845b1763690ffaf61a7f39acfedae Mon Sep 17 00:00:00 2001 From: dzaima Date: Wed, 31 Jul 2024 03:54:34 +0300 Subject: [PATCH] use custom valgrind pdep/pext everywhere --- src/builtins/slash.c | 10 ---------- src/core/stuff.c | 2 +- src/utils/includeSingeli.h | 11 +++++++++++ src/utils/valgrind.c | 4 ++-- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/builtins/slash.c b/src/builtins/slash.c index 228552f7..bad784ba 100644 --- a/src/builtins/slash.c +++ b/src/builtins/slash.c @@ -69,16 +69,6 @@ #define FAST_PDEP 1 #endif #include - - #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 diff --git a/src/core/stuff.c b/src/core/stuff.c index 7ac11122..87dcf0a0 100644 --- a/src/core/stuff.c +++ b/src/core/stuff.c @@ -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); diff --git a/src/utils/includeSingeli.h b/src/utils/includeSingeli.h index b7b403a0..ce2edf74 100644 --- a/src/utils/includeSingeli.h +++ b/src/utils/includeSingeli.h @@ -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 + #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 diff --git a/src/utils/valgrind.c b/src/utils/valgrind.c index a12e7257..6a902b95 100644 --- a/src/utils/valgrind.c +++ b/src/utils/valgrind.c @@ -53,7 +53,7 @@ B vg_validateResult(B x) { u64 exp = (1ULL<