summaryrefslogtreecommitdiff
path: root/src/analysis/scan/patterns/backends/bitap-int.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/scan/patterns/backends/bitap-int.h')
-rw-r--r--src/analysis/scan/patterns/backends/bitap-int.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/analysis/scan/patterns/backends/bitap-int.h b/src/analysis/scan/patterns/backends/bitap-int.h
index 83ecc17..ea739b4 100644
--- a/src/analysis/scan/patterns/backends/bitap-int.h
+++ b/src/analysis/scan/patterns/backends/bitap-int.h
@@ -33,12 +33,15 @@
#include "../backend-int.h"
#include "../../../../common/cpu.h"
+#include "../../../../../config.h"
#define BITAP_ATOM_SIZE 7
+#ifdef HAVE_AVX2
+
/* Suivi d'un groupe de chaînes */
typedef struct _grouped_strings_avx2_t
{
@@ -64,6 +67,9 @@ typedef struct _group_manager_avx2_t
} group_manager_avx2_t;
+#endif
+
+#ifdef HAVE_AVX512_F
/* Suivi d'un groupe de chaînes */
typedef struct _grouped_strings_avx512_t
@@ -90,6 +96,8 @@ typedef struct _group_manager_avx512_t
} group_manager_avx512_t;
+#endif
+
/* Méthode de recherche basée sur l'algorithme Bitap (instance) */
struct _GBitapBackend
@@ -98,11 +106,17 @@ struct _GBitapBackend
CPUSMIDFeature optimization; /* Mode de calculs */
+#if defined HAVE_AVX2 || defined HAVE_AVX512_F
union
{
+# ifdef HAVE_AVX2
group_manager_avx2_t manager_avx2; /* Gestionnaire pour AVX2 */
+# endif
+# ifdef HAVE_AVX512_F
group_manager_avx512_t manager_avx512;/* Gestionnaire pour AVX-512 */
+# endif
};
+#endif
};