Bugfix/fix avx512vbmi regressions (#335)

Multiple AVX512VBMI-related fixes:

src/nfa/mcsheng_compile.cpp: No need for an assert here, impl_id can be set to 0
src/nfa/nfa_api_queue.h: Make sure this compiles on both C++ and C
src/nfagraph/ng_fuzzy.cpp: Fix compilation error when DEBUG_OUTPUT=on
src/runtime.c: Fix crash when data == NULL
unit/internal/sheng.cpp: Unit test has to enable AVX512VBMI manually as autodetection does not get trigger, this causes test to fail
src/fdr/teddy_fat.cpp: AVX512 loads need to be 64-bit aligned, caused a crash on clang-18
This commit is contained in:
Konstantinos Margaritis
2025-05-30 21:08:55 +03:00
committed by GitHub
parent 7b505226ed
commit 7737104585
7 changed files with 18 additions and 8 deletions

View File

@@ -610,7 +610,9 @@ dstate_id_t find_sheng_states(dfa_info &info,
for (auto v : sheng_states) {
dstate_id_t s = g[v].index;
if (contains(accel_escape_info, s)) {
assert(!info.states[s].impl_id);
if (info.states[s].impl_id == 0) {
DEBUG_PRINTF("impl_id == 0!\n");
}
info.states[s].impl_id = sheng_end++;
info.extra[s].sheng_id = info.states[s].impl_id - 1;
}

View File

@@ -251,7 +251,11 @@ void q_skip_forward_to(struct mq *q, s64a min_loc) {
// Dump the contents of the given queue.
static never_inline UNUSED
void debugQueue(const struct mq *q) {
#ifdef __cplusplus
if (q == nullptr) {
#else
if (q == NULL) {
#endif
DEBUG_PRINTF("q=NULL!\n");
return;
}