aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/hyperscan/runtime_avx512/CMakeLists.txt
blob: 322a106b42d343a93210010df01374b8f3fc21fb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
# This file was gererated by the build system used internally in the Yandex monorepo.
# Only simple modifications are allowed (adding source-files to targets, adding simple properties
# like target_include_directories). These modifications will be ported to original
# ya.make files by maintainers. Any complex modifications which can't be ported back to the
# original buildsystem will not be accepted.



add_library(libs-hyperscan-runtime_avx512)
target_compile_options(libs-hyperscan-runtime_avx512 PRIVATE
  -msse4.1
  -DHAVE_SSE41
  -msse4.2
  -DHAVE_SSE42
  -DHAVE_POPCOUNT_INSTR
  -mpopcnt
  -mavx
  -DHAVE_AVX
  -mavx2
  -mfma
  -mbmi
  -mbmi2
  -DHAVE_AVX2
  -mavx512f
  -mavx512cd
  -mavx512bw
  -mavx512dq
  -mavx512vl
  -DHAVE_AVX512
  -DCrc32c_ComputeBuf=avx512_Crc32c_ComputeBuf
  -DblockInitSufPQ=avx512_blockInitSufPQ
  -Dcompress_stream=avx512_compress_stream
  -Dcpuid_flags=avx512_cpuid_flags
  -Dcpuid_tune=avx512_cpuid_tune
  -DdbIsValid=avx512_dbIsValid
  -DdoAccel128=avx512_doAccel128
  -DdoAccel256=avx512_doAccel256
  -DdoAccel32=avx512_doAccel32
  -DdoAccel384=avx512_doAccel384
  -DdoAccel512=avx512_doAccel512
  -DdoAccel64=avx512_doAccel64
  -Dexpand_stream=avx512_expand_stream
  -DfdrExec=avx512_fdrExec
  -DfdrExecStreaming=avx512_fdrExecStreaming
  -Dfdr_exec_fat_teddy_msks1=avx512_fdr_exec_fat_teddy_msks1
  -Dfdr_exec_fat_teddy_msks1_pck=avx512_fdr_exec_fat_teddy_msks1_pck
  -Dfdr_exec_fat_teddy_msks2=avx512_fdr_exec_fat_teddy_msks2
  -Dfdr_exec_fat_teddy_msks2_pck=avx512_fdr_exec_fat_teddy_msks2_pck
  -Dfdr_exec_fat_teddy_msks3=avx512_fdr_exec_fat_teddy_msks3
  -Dfdr_exec_fat_teddy_msks3_pck=avx512_fdr_exec_fat_teddy_msks3_pck
  -Dfdr_exec_fat_teddy_msks4=avx512_fdr_exec_fat_teddy_msks4
  -Dfdr_exec_fat_teddy_msks4_pck=avx512_fdr_exec_fat_teddy_msks4_pck
  -Dfdr_exec_teddy_msks1=avx512_fdr_exec_teddy_msks1
  -Dfdr_exec_teddy_msks1_pck=avx512_fdr_exec_teddy_msks1_pck
  -Dfdr_exec_teddy_msks2=avx512_fdr_exec_teddy_msks2
  -Dfdr_exec_teddy_msks2_pck=avx512_fdr_exec_teddy_msks2_pck
  -Dfdr_exec_teddy_msks3=avx512_fdr_exec_teddy_msks3
  -Dfdr_exec_teddy_msks3_pck=avx512_fdr_exec_teddy_msks3_pck
  -Dfdr_exec_teddy_msks4=avx512_fdr_exec_teddy_msks4
  -Dfdr_exec_teddy_msks4_pck=avx512_fdr_exec_teddy_msks4_pck
  -DflushQueuedLiterals_i=avx512_flushQueuedLiterals_i
  -DflushStoredSomMatches_i=avx512_flushStoredSomMatches_i
  -DhandleSomExternal=avx512_handleSomExternal
  -DhandleSomInternal=avx512_handleSomInternal
  -Dhs_alloc_scratch=avx512_hs_alloc_scratch
  -Dhs_clone_scratch=avx512_hs_clone_scratch
  -Dhs_close_stream=avx512_hs_close_stream
  -Dhs_compress_stream=avx512_hs_compress_stream
  -Dhs_copy_stream=avx512_hs_copy_stream
  -Dhs_database_alloc=avx512_hs_database_alloc
  -Dhs_database_free=avx512_hs_database_free
  -Dhs_database_info=avx512_hs_database_info
  -Dhs_database_size=avx512_hs_database_size
  -Dhs_deserialize_database=avx512_hs_deserialize_database
  -Dhs_deserialize_database_at=avx512_hs_deserialize_database_at
  -Dhs_expand_stream=avx512_hs_expand_stream
  -Dhs_free_database=avx512_hs_free_database
  -Dhs_free_scratch=avx512_hs_free_scratch
  -Dhs_misc_alloc=avx512_hs_misc_alloc
  -Dhs_misc_free=avx512_hs_misc_free
  -Dhs_open_stream=avx512_hs_open_stream
  -Dhs_reset_and_copy_stream=avx512_hs_reset_and_copy_stream
  -Dhs_reset_and_expand_stream=avx512_hs_reset_and_expand_stream
  -Dhs_reset_stream=avx512_hs_reset_stream
  -Dhs_scan=avx512_hs_scan
  -Dhs_scan_stream=avx512_hs_scan_stream
  -Dhs_scan_vector=avx512_hs_scan_vector
  -Dhs_scratch_alloc=avx512_hs_scratch_alloc
  -Dhs_scratch_free=avx512_hs_scratch_free
  -Dhs_scratch_size=avx512_hs_scratch_size
  -Dhs_serialize_database=avx512_hs_serialize_database
  -Dhs_serialized_database_info=avx512_hs_serialized_database_info
  -Dhs_serialized_database_size=avx512_hs_serialized_database_size
  -Dhs_set_allocator=avx512_hs_set_allocator
  -Dhs_set_database_allocator=avx512_hs_set_database_allocator
  -Dhs_set_misc_allocator=avx512_hs_set_misc_allocator
  -Dhs_set_scratch_allocator=avx512_hs_set_scratch_allocator
  -Dhs_set_stream_allocator=avx512_hs_set_stream_allocator
  -Dhs_stream_alloc=avx512_hs_stream_alloc
  -Dhs_stream_free=avx512_hs_stream_free
  -Dhs_stream_size=avx512_hs_stream_size
  -Dhs_valid_platform=avx512_hs_valid_platform
  -Dhs_version=avx512_hs_version
  -DhwlmExec=avx512_hwlmExec
  -DhwlmExecStreaming=avx512_hwlmExecStreaming
  -DloadSomFromStream=avx512_loadSomFromStream
  -Dloadcompressed128=avx512_loadcompressed128
  -Dloadcompressed256=avx512_loadcompressed256
  -Dloadcompressed32=avx512_loadcompressed32
  -Dloadcompressed384=avx512_loadcompressed384
  -Dloadcompressed512=avx512_loadcompressed512
  -Dloadcompressed64=avx512_loadcompressed64
  -Dmcsheng_pext_mask=avx512_mcsheng_pext_mask
  -Dmm_mask_mask=avx512_mm_mask_mask
  -Dmm_shuffle_end=avx512_mm_shuffle_end
  -Dmmbit_keyshift_lut=avx512_mmbit_keyshift_lut
  -Dmmbit_maxlevel_direct_lut=avx512_mmbit_maxlevel_direct_lut
  -Dmmbit_maxlevel_from_keyshift_lut=avx512_mmbit_maxlevel_from_keyshift_lut
  -Dmmbit_root_offset_from_level=avx512_mmbit_root_offset_from_level
  -Dmmbit_zero_to_lut=avx512_mmbit_zero_to_lut
  -DnfaBlockExecReverse=avx512_nfaBlockExecReverse
  -DnfaCheckFinalState=avx512_nfaCheckFinalState
  -DnfaExecCastle_Q=avx512_nfaExecCastle_Q
  -DnfaExecCastle_Q2=avx512_nfaExecCastle_Q2
  -DnfaExecCastle_QR=avx512_nfaExecCastle_QR
  -DnfaExecCastle_expandState=avx512_nfaExecCastle_expandState
  -DnfaExecCastle_inAccept=avx512_nfaExecCastle_inAccept
  -DnfaExecCastle_inAnyAccept=avx512_nfaExecCastle_inAnyAccept
  -DnfaExecCastle_initCompressedState=avx512_nfaExecCastle_initCompressedState
  -DnfaExecCastle_queueCompressState=avx512_nfaExecCastle_queueCompressState
  -DnfaExecCastle_queueInitState=avx512_nfaExecCastle_queueInitState
  -DnfaExecCastle_reportCurrent=avx512_nfaExecCastle_reportCurrent
  -DnfaExecGough16_Q=avx512_nfaExecGough16_Q
  -DnfaExecGough16_Q2=avx512_nfaExecGough16_Q2
  -DnfaExecGough16_QR=avx512_nfaExecGough16_QR
  -DnfaExecGough16_expandState=avx512_nfaExecGough16_expandState
  -DnfaExecGough16_inAccept=avx512_nfaExecGough16_inAccept
  -DnfaExecGough16_inAnyAccept=avx512_nfaExecGough16_inAnyAccept
  -DnfaExecGough16_initCompressedState=avx512_nfaExecGough16_initCompressedState
  -DnfaExecGough16_queueCompressState=avx512_nfaExecGough16_queueCompressState
  -DnfaExecGough16_queueInitState=avx512_nfaExecGough16_queueInitState
  -DnfaExecGough16_reportCurrent=avx512_nfaExecGough16_reportCurrent
  -DnfaExecGough16_testEOD=avx512_nfaExecGough16_testEOD
  -DnfaExecGough8_Q=avx512_nfaExecGough8_Q
  -DnfaExecGough8_Q2=avx512_nfaExecGough8_Q2
  -DnfaExecGough8_QR=avx512_nfaExecGough8_QR
  -DnfaExecGough8_expandState=avx512_nfaExecGough8_expandState
  -DnfaExecGough8_inAccept=avx512_nfaExecGough8_inAccept
  -DnfaExecGough8_inAnyAccept=avx512_nfaExecGough8_inAnyAccept
  -DnfaExecGough8_initCompressedState=avx512_nfaExecGough8_initCompressedState
  -DnfaExecGough8_queueCompressState=avx512_nfaExecGough8_queueCompressState
  -DnfaExecGough8_queueInitState=avx512_nfaExecGough8_queueInitState
  -DnfaExecGough8_reportCurrent=avx512_nfaExecGough8_reportCurrent
  -DnfaExecGough8_testEOD=avx512_nfaExecGough8_testEOD
  -DnfaExecLbrDot_Q=avx512_nfaExecLbrDot_Q
  -DnfaExecLbrDot_Q2=avx512_nfaExecLbrDot_Q2
  -DnfaExecLbrDot_QR=avx512_nfaExecLbrDot_QR
  -DnfaExecLbrDot_expandState=avx512_nfaExecLbrDot_expandState
  -DnfaExecLbrDot_inAccept=avx512_nfaExecLbrDot_inAccept
  -DnfaExecLbrDot_inAnyAccept=avx512_nfaExecLbrDot_inAnyAccept
  -DnfaExecLbrDot_initCompressedState=avx512_nfaExecLbrDot_initCompressedState
  -DnfaExecLbrDot_queueCompressState=avx512_nfaExecLbrDot_queueCompressState
  -DnfaExecLbrDot_queueInitState=avx512_nfaExecLbrDot_queueInitState
  -DnfaExecLbrDot_reportCurrent=avx512_nfaExecLbrDot_reportCurrent
  -DnfaExecLbrNVerm_Q=avx512_nfaExecLbrNVerm_Q
  -DnfaExecLbrNVerm_Q2=avx512_nfaExecLbrNVerm_Q2
  -DnfaExecLbrNVerm_QR=avx512_nfaExecLbrNVerm_QR
  -DnfaExecLbrNVerm_expandState=avx512_nfaExecLbrNVerm_expandState
  -DnfaExecLbrNVerm_inAccept=avx512_nfaExecLbrNVerm_inAccept
  -DnfaExecLbrNVerm_inAnyAccept=avx512_nfaExecLbrNVerm_inAnyAccept
  -DnfaExecLbrNVerm_initCompressedState=avx512_nfaExecLbrNVerm_initCompressedState
  -DnfaExecLbrNVerm_queueCompressState=avx512_nfaExecLbrNVerm_queueCompressState
  -DnfaExecLbrNVerm_queueInitState=avx512_nfaExecLbrNVerm_queueInitState
  -DnfaExecLbrNVerm_reportCurrent=avx512_nfaExecLbrNVerm_reportCurrent
  -DnfaExecLbrShuf_Q=avx512_nfaExecLbrShuf_Q
  -DnfaExecLbrShuf_Q2=avx512_nfaExecLbrShuf_Q2
  -DnfaExecLbrShuf_QR=avx512_nfaExecLbrShuf_QR
  -DnfaExecLbrShuf_expandState=avx512_nfaExecLbrShuf_expandState
  -DnfaExecLbrShuf_inAccept=avx512_nfaExecLbrShuf_inAccept
  -DnfaExecLbrShuf_inAnyAccept=avx512_nfaExecLbrShuf_inAnyAccept
  -DnfaExecLbrShuf_initCompressedState=avx512_nfaExecLbrShuf_initCompressedState
  -DnfaExecLbrShuf_queueCompressState=avx512_nfaExecLbrShuf_queueCompressState
  -DnfaExecLbrShuf_queueInitState=avx512_nfaExecLbrShuf_queueInitState
  -DnfaExecLbrShuf_reportCurrent=avx512_nfaExecLbrShuf_reportCurrent
  -DnfaExecLbrTruf_Q=avx512_nfaExecLbrTruf_Q
  -DnfaExecLbrTruf_Q2=avx512_nfaExecLbrTruf_Q2
  -DnfaExecLbrTruf_QR=avx512_nfaExecLbrTruf_QR
  -DnfaExecLbrTruf_expandState=avx512_nfaExecLbrTruf_expandState
  -DnfaExecLbrTruf_inAccept=avx512_nfaExecLbrTruf_inAccept
  -DnfaExecLbrTruf_inAnyAccept=avx512_nfaExecLbrTruf_inAnyAccept
  -DnfaExecLbrTruf_initCompressedState=avx512_nfaExecLbrTruf_initCompressedState
  -DnfaExecLbrTruf_queueCompressState=avx512_nfaExecLbrTruf_queueCompressState
  -DnfaExecLbrTruf_queueInitState=avx512_nfaExecLbrTruf_queueInitState
  -DnfaExecLbrTruf_reportCurrent=avx512_nfaExecLbrTruf_reportCurrent
  -DnfaExecLbrVerm_Q=avx512_nfaExecLbrVerm_Q
  -DnfaExecLbrVerm_Q2=avx512_nfaExecLbrVerm_Q2
  -DnfaExecLbrVerm_QR=avx512_nfaExecLbrVerm_QR
  -DnfaExecLbrVerm_expandState=avx512_nfaExecLbrVerm_expandState
  -DnfaExecLbrVerm_inAccept=avx512_nfaExecLbrVerm_inAccept
  -DnfaExecLbrVerm_inAnyAccept=avx512_nfaExecLbrVerm_inAnyAccept
  -DnfaExecLbrVerm_initCompressedState=avx512_nfaExecLbrVerm_initCompressedState
  -DnfaExecLbrVerm_queueCompressState=avx512_nfaExecLbrVerm_queueCompressState
  -DnfaExecLbrVerm_queueInitState=avx512_nfaExecLbrVerm_queueInitState
  -DnfaExecLbrVerm_reportCurrent=avx512_nfaExecLbrVerm_reportCurrent
  -DnfaExecLimEx128_B_Reverse=avx512_nfaExecLimEx128_B_Reverse
  -DnfaExecLimEx128_Q=avx512_nfaExecLimEx128_Q
  -DnfaExecLimEx128_Q2=avx512_nfaExecLimEx128_Q2
  -DnfaExecLimEx128_QR=avx512_nfaExecLimEx128_QR
  -DnfaExecLimEx128_expandState=avx512_nfaExecLimEx128_expandState
  -DnfaExecLimEx128_inAccept=avx512_nfaExecLimEx128_inAccept
  -DnfaExecLimEx128_inAnyAccept=avx512_nfaExecLimEx128_inAnyAccept
  -DnfaExecLimEx128_initCompressedState=avx512_nfaExecLimEx128_initCompressedState
  -DnfaExecLimEx128_queueCompressState=avx512_nfaExecLimEx128_queueCompressState
  -DnfaExecLimEx128_queueInitState=avx512_nfaExecLimEx128_queueInitState
  -DnfaExecLimEx128_reportCurrent=avx512_nfaExecLimEx128_reportCurrent
  -DnfaExecLimEx128_testEOD=avx512_nfaExecLimEx128_testEOD
  -DnfaExecLimEx128_zombie_status=avx512_nfaExecLimEx128_zombie_status
  -DnfaExecLimEx256_B_Reverse=avx512_nfaExecLimEx256_B_Reverse
  -DnfaExecLimEx256_Q=avx512_nfaExecLimEx256_Q
  -DnfaExecLimEx256_Q2=avx512_nfaExecLimEx256_Q2
  -DnfaExecLimEx256_QR=avx512_nfaExecLimEx256_QR
  -DnfaExecLimEx256_expandState=avx512_nfaExecLimEx256_expandState
  -DnfaExecLimEx256_inAccept=avx512_nfaExecLimEx256_inAccept
  -DnfaExecLimEx256_inAnyAccept=avx512_nfaExecLimEx256_inAnyAccept
  -DnfaExecLimEx256_initCompressedState=avx512_nfaExecLimEx256_initCompressedState
  -DnfaExecLimEx256_queueCompressState=avx512_nfaExecLimEx256_queueCompressState
  -DnfaExecLimEx256_queueInitState=avx512_nfaExecLimEx256_queueInitState
  -DnfaExecLimEx256_reportCurrent=avx512_nfaExecLimEx256_reportCurrent
  -DnfaExecLimEx256_testEOD=avx512_nfaExecLimEx256_testEOD
  -DnfaExecLimEx256_zombie_status=avx512_nfaExecLimEx256_zombie_status
  -DnfaExecLimEx32_B_Reverse=avx512_nfaExecLimEx32_B_Reverse
  -DnfaExecLimEx32_Q=avx512_nfaExecLimEx32_Q
  -DnfaExecLimEx32_Q2=avx512_nfaExecLimEx32_Q2
  -DnfaExecLimEx32_QR=avx512_nfaExecLimEx32_QR
  -DnfaExecLimEx32_expandState=avx512_nfaExecLimEx32_expandState
  -DnfaExecLimEx32_inAccept=avx512_nfaExecLimEx32_inAccept
  -DnfaExecLimEx32_inAnyAccept=avx512_nfaExecLimEx32_inAnyAccept
  -DnfaExecLimEx32_initCompressedState=avx512_nfaExecLimEx32_initCompressedState
  -DnfaExecLimEx32_queueCompressState=avx512_nfaExecLimEx32_queueCompressState
  -DnfaExecLimEx32_queueInitState=avx512_nfaExecLimEx32_queueInitState
  -DnfaExecLimEx32_reportCurrent=avx512_nfaExecLimEx32_reportCurrent
  -DnfaExecLimEx32_testEOD=avx512_nfaExecLimEx32_testEOD
  -DnfaExecLimEx32_zombie_status=avx512_nfaExecLimEx32_zombie_status
  -DnfaExecLimEx384_B_Reverse=avx512_nfaExecLimEx384_B_Reverse
  -DnfaExecLimEx384_Q=avx512_nfaExecLimEx384_Q
  -DnfaExecLimEx384_Q2=avx512_nfaExecLimEx384_Q2
  -DnfaExecLimEx384_QR=avx512_nfaExecLimEx384_QR
  -DnfaExecLimEx384_expandState=avx512_nfaExecLimEx384_expandState
  -DnfaExecLimEx384_inAccept=avx512_nfaExecLimEx384_inAccept
  -DnfaExecLimEx384_inAnyAccept=avx512_nfaExecLimEx384_inAnyAccept
  -DnfaExecLimEx384_initCompressedState=avx512_nfaExecLimEx384_initCompressedState
  -DnfaExecLimEx384_queueCompressState=avx512_nfaExecLimEx384_queueCompressState
  -DnfaExecLimEx384_queueInitState=avx512_nfaExecLimEx384_queueInitState
  -DnfaExecLimEx384_reportCurrent=avx512_nfaExecLimEx384_reportCurrent
  -DnfaExecLimEx384_testEOD=avx512_nfaExecLimEx384_testEOD
  -DnfaExecLimEx384_zombie_status=avx512_nfaExecLimEx384_zombie_status
  -DnfaExecLimEx512_B_Reverse=avx512_nfaExecLimEx512_B_Reverse
  -DnfaExecLimEx512_Q=avx512_nfaExecLimEx512_Q
  -DnfaExecLimEx512_Q2=avx512_nfaExecLimEx512_Q2
  -DnfaExecLimEx512_QR=avx512_nfaExecLimEx512_QR
  -DnfaExecLimEx512_expandState=avx512_nfaExecLimEx512_expandState
  -DnfaExecLimEx512_inAccept=avx512_nfaExecLimEx512_inAccept
  -DnfaExecLimEx512_inAnyAccept=avx512_nfaExecLimEx512_inAnyAccept
  -DnfaExecLimEx512_initCompressedState=avx512_nfaExecLimEx512_initCompressedState
  -DnfaExecLimEx512_queueCompressState=avx512_nfaExecLimEx512_queueCompressState
  -DnfaExecLimEx512_queueInitState=avx512_nfaExecLimEx512_queueInitState
  -DnfaExecLimEx512_reportCurrent=avx512_nfaExecLimEx512_reportCurrent
  -DnfaExecLimEx512_testEOD=avx512_nfaExecLimEx512_testEOD
  -DnfaExecLimEx512_zombie_status=avx512_nfaExecLimEx512_zombie_status
  -DnfaExecLimEx64_B_Reverse=avx512_nfaExecLimEx64_B_Reverse
  -DnfaExecLimEx64_Q=avx512_nfaExecLimEx64_Q
  -DnfaExecLimEx64_Q2=avx512_nfaExecLimEx64_Q2
  -DnfaExecLimEx64_QR=avx512_nfaExecLimEx64_QR
  -DnfaExecLimEx64_expandState=avx512_nfaExecLimEx64_expandState
  -DnfaExecLimEx64_inAccept=avx512_nfaExecLimEx64_inAccept
  -DnfaExecLimEx64_inAnyAccept=avx512_nfaExecLimEx64_inAnyAccept
  -DnfaExecLimEx64_initCompressedState=avx512_nfaExecLimEx64_initCompressedState
  -DnfaExecLimEx64_queueCompressState=avx512_nfaExecLimEx64_queueCompressState
  -DnfaExecLimEx64_queueInitState=avx512_nfaExecLimEx64_queueInitState
  -DnfaExecLimEx64_reportCurrent=avx512_nfaExecLimEx64_reportCurrent
  -DnfaExecLimEx64_testEOD=avx512_nfaExecLimEx64_testEOD
  -DnfaExecLimEx64_zombie_status=avx512_nfaExecLimEx64_zombie_status
  -DnfaExecMcClellan16_B=avx512_nfaExecMcClellan16_B
  -DnfaExecMcClellan16_Q=avx512_nfaExecMcClellan16_Q
  -DnfaExecMcClellan16_Q2=avx512_nfaExecMcClellan16_Q2
  -DnfaExecMcClellan16_QR=avx512_nfaExecMcClellan16_QR
  -DnfaExecMcClellan16_SimpStream=avx512_nfaExecMcClellan16_SimpStream
  -DnfaExecMcClellan16_expandState=avx512_nfaExecMcClellan16_expandState
  -DnfaExecMcClellan16_inAccept=avx512_nfaExecMcClellan16_inAccept
  -DnfaExecMcClellan16_inAnyAccept=avx512_nfaExecMcClellan16_inAnyAccept
  -DnfaExecMcClellan16_initCompressedState=avx512_nfaExecMcClellan16_initCompressedState
  -DnfaExecMcClellan16_queueCompressState=avx512_nfaExecMcClellan16_queueCompressState
  -DnfaExecMcClellan16_queueInitState=avx512_nfaExecMcClellan16_queueInitState
  -DnfaExecMcClellan16_reportCurrent=avx512_nfaExecMcClellan16_reportCurrent
  -DnfaExecMcClellan16_testEOD=avx512_nfaExecMcClellan16_testEOD
  -DnfaExecMcClellan8_B=avx512_nfaExecMcClellan8_B
  -DnfaExecMcClellan8_Q=avx512_nfaExecMcClellan8_Q
  -DnfaExecMcClellan8_Q2=avx512_nfaExecMcClellan8_Q2
  -DnfaExecMcClellan8_QR=avx512_nfaExecMcClellan8_QR
  -DnfaExecMcClellan8_SimpStream=avx512_nfaExecMcClellan8_SimpStream
  -DnfaExecMcClellan8_expandState=avx512_nfaExecMcClellan8_expandState
  -DnfaExecMcClellan8_inAccept=avx512_nfaExecMcClellan8_inAccept
  -DnfaExecMcClellan8_inAnyAccept=avx512_nfaExecMcClellan8_inAnyAccept
  -DnfaExecMcClellan8_initCompressedState=avx512_nfaExecMcClellan8_initCompressedState
  -DnfaExecMcClellan8_queueCompressState=avx512_nfaExecMcClellan8_queueCompressState
  -DnfaExecMcClellan8_queueInitState=avx512_nfaExecMcClellan8_queueInitState
  -DnfaExecMcClellan8_reportCurrent=avx512_nfaExecMcClellan8_reportCurrent
  -DnfaExecMcClellan8_testEOD=avx512_nfaExecMcClellan8_testEOD
  -DnfaExecMcSheng16_Q=avx512_nfaExecMcSheng16_Q
  -DnfaExecMcSheng16_Q2=avx512_nfaExecMcSheng16_Q2
  -DnfaExecMcSheng16_QR=avx512_nfaExecMcSheng16_QR
  -DnfaExecMcSheng16_expandState=avx512_nfaExecMcSheng16_expandState
  -DnfaExecMcSheng16_inAccept=avx512_nfaExecMcSheng16_inAccept
  -DnfaExecMcSheng16_inAnyAccept=avx512_nfaExecMcSheng16_inAnyAccept
  -DnfaExecMcSheng16_initCompressedState=avx512_nfaExecMcSheng16_initCompressedState
  -DnfaExecMcSheng16_queueCompressState=avx512_nfaExecMcSheng16_queueCompressState
  -DnfaExecMcSheng16_queueInitState=avx512_nfaExecMcSheng16_queueInitState
  -DnfaExecMcSheng16_reportCurrent=avx512_nfaExecMcSheng16_reportCurrent
  -DnfaExecMcSheng16_testEOD=avx512_nfaExecMcSheng16_testEOD
  -DnfaExecMcSheng8_Q=avx512_nfaExecMcSheng8_Q
  -DnfaExecMcSheng8_Q2=avx512_nfaExecMcSheng8_Q2
  -DnfaExecMcSheng8_QR=avx512_nfaExecMcSheng8_QR
  -DnfaExecMcSheng8_expandState=avx512_nfaExecMcSheng8_expandState
  -DnfaExecMcSheng8_inAccept=avx512_nfaExecMcSheng8_inAccept
  -DnfaExecMcSheng8_inAnyAccept=avx512_nfaExecMcSheng8_inAnyAccept
  -DnfaExecMcSheng8_initCompressedState=avx512_nfaExecMcSheng8_initCompressedState
  -DnfaExecMcSheng8_queueCompressState=avx512_nfaExecMcSheng8_queueCompressState
  -DnfaExecMcSheng8_queueInitState=avx512_nfaExecMcSheng8_queueInitState
  -DnfaExecMcSheng8_reportCurrent=avx512_nfaExecMcSheng8_reportCurrent
  -DnfaExecMcSheng8_testEOD=avx512_nfaExecMcSheng8_testEOD
  -DnfaExecMpv_Q=avx512_nfaExecMpv_Q
  -DnfaExecMpv_QueueExecRaw=avx512_nfaExecMpv_QueueExecRaw
  -DnfaExecMpv_expandState=avx512_nfaExecMpv_expandState
  -DnfaExecMpv_initCompressedState=avx512_nfaExecMpv_initCompressedState
  -DnfaExecMpv_queueCompressState=avx512_nfaExecMpv_queueCompressState
  -DnfaExecMpv_queueInitState=avx512_nfaExecMpv_queueInitState
  -DnfaExecMpv_reportCurrent=avx512_nfaExecMpv_reportCurrent
  -DnfaExecSheng_B=avx512_nfaExecSheng_B
  -DnfaExecSheng_Q=avx512_nfaExecSheng_Q
  -DnfaExecSheng_Q2=avx512_nfaExecSheng_Q2
  -DnfaExecSheng_QR=avx512_nfaExecSheng_QR
  -DnfaExecSheng_expandState=avx512_nfaExecSheng_expandState
  -DnfaExecSheng_inAccept=avx512_nfaExecSheng_inAccept
  -DnfaExecSheng_inAnyAccept=avx512_nfaExecSheng_inAnyAccept
  -DnfaExecSheng_initCompressedState=avx512_nfaExecSheng_initCompressedState
  -DnfaExecSheng_queueCompressState=avx512_nfaExecSheng_queueCompressState
  -DnfaExecSheng_queueInitState=avx512_nfaExecSheng_queueInitState
  -DnfaExecSheng_reportCurrent=avx512_nfaExecSheng_reportCurrent
  -DnfaExecSheng_testEOD=avx512_nfaExecSheng_testEOD
  -DnfaExecTamarama_Q=avx512_nfaExecTamarama_Q
  -DnfaExecTamarama_Q2=avx512_nfaExecTamarama_Q2
  -DnfaExecTamarama_QR=avx512_nfaExecTamarama_QR
  -DnfaExecTamarama_expandState=avx512_nfaExecTamarama_expandState
  -DnfaExecTamarama_inAccept=avx512_nfaExecTamarama_inAccept
  -DnfaExecTamarama_inAnyAccept=avx512_nfaExecTamarama_inAnyAccept
  -DnfaExecTamarama_queueCompressState=avx512_nfaExecTamarama_queueCompressState
  -DnfaExecTamarama_queueInitState=avx512_nfaExecTamarama_queueInitState
  -DnfaExecTamarama_reportCurrent=avx512_nfaExecTamarama_reportCurrent
  -DnfaExecTamarama_testEOD=avx512_nfaExecTamarama_testEOD
  -DnfaExecTamarama_zombie_status=avx512_nfaExecTamarama_zombie_status
  -DnfaExpandState=avx512_nfaExpandState
  -DnfaGetZombieStatus=avx512_nfaGetZombieStatus
  -DnfaInAcceptState=avx512_nfaInAcceptState
  -DnfaInAnyAcceptState=avx512_nfaInAnyAcceptState
  -DnfaInitCompressedState=avx512_nfaInitCompressedState
  -DnfaQueueCompressState=avx512_nfaQueueCompressState
  -DnfaQueueExec=avx512_nfaQueueExec
  -DnfaQueueExec2_raw=avx512_nfaQueueExec2_raw
  -DnfaQueueExecRose=avx512_nfaQueueExecRose
  -DnfaQueueExecToMatch=avx512_nfaQueueExecToMatch
  -DnfaQueueExec_raw=avx512_nfaQueueExec_raw
  -DnfaQueueInitState=avx512_nfaQueueInitState
  -DnfaReportCurrentMatches=avx512_nfaReportCurrentMatches
  -DnoodExec=avx512_noodExec
  -DnoodExecStreaming=avx512_noodExecStreaming
  -Dp_mask_arr=avx512_p_mask_arr
  -Dp_mask_arr256=avx512_p_mask_arr256
  -DrepeatHasMatchBitmap=avx512_repeatHasMatchBitmap
  -DrepeatHasMatchRange=avx512_repeatHasMatchRange
  -DrepeatHasMatchRing=avx512_repeatHasMatchRing
  -DrepeatHasMatchSparseOptimalP=avx512_repeatHasMatchSparseOptimalP
  -DrepeatHasMatchTrailer=avx512_repeatHasMatchTrailer
  -DrepeatLastTopBitmap=avx512_repeatLastTopBitmap
  -DrepeatLastTopRange=avx512_repeatLastTopRange
  -DrepeatLastTopRing=avx512_repeatLastTopRing
  -DrepeatLastTopSparseOptimalP=avx512_repeatLastTopSparseOptimalP
  -DrepeatLastTopTrailer=avx512_repeatLastTopTrailer
  -DrepeatNextMatchBitmap=avx512_repeatNextMatchBitmap
  -DrepeatNextMatchRange=avx512_repeatNextMatchRange
  -DrepeatNextMatchRing=avx512_repeatNextMatchRing
  -DrepeatNextMatchSparseOptimalP=avx512_repeatNextMatchSparseOptimalP
  -DrepeatNextMatchTrailer=avx512_repeatNextMatchTrailer
  -DrepeatPack=avx512_repeatPack
  -DrepeatStoreBitmap=avx512_repeatStoreBitmap
  -DrepeatStoreRange=avx512_repeatStoreRange
  -DrepeatStoreRing=avx512_repeatStoreRing
  -DrepeatStoreSparseOptimalP=avx512_repeatStoreSparseOptimalP
  -DrepeatStoreTrailer=avx512_repeatStoreTrailer
  -DrepeatUnpack=avx512_repeatUnpack
  -DroseAnchoredCallback=avx512_roseAnchoredCallback
  -DroseBlockExec=avx512_roseBlockExec
  -DroseCallback=avx512_roseCallback
  -DroseCatchUpAll=avx512_roseCatchUpAll
  -DroseCatchUpMPV_i=avx512_roseCatchUpMPV_i
  -DroseCatchUpSuf=avx512_roseCatchUpSuf
  -DroseDelayRebuildCallback=avx512_roseDelayRebuildCallback
  -DroseFloatingCallback=avx512_roseFloatingCallback
  -DroseHandleChainMatch=avx512_roseHandleChainMatch
  -DroseInitState=avx512_roseInitState
  -DroseNfaAdaptor=avx512_roseNfaAdaptor
  -DroseNfaEarliestSom=avx512_roseNfaEarliestSom
  -DroseReportAdaptor=avx512_roseReportAdaptor
  -DroseRunBoundaryProgram=avx512_roseRunBoundaryProgram
  -DroseRunFlushCombProgram=avx512_roseRunFlushCombProgram
  -DroseRunLastFlushCombProgram=avx512_roseRunLastFlushCombProgram
  -DroseRunProgram=avx512_roseRunProgram
  -DroseRunProgram_l=avx512_roseRunProgram_l
  -DroseStreamEodExec=avx512_roseStreamEodExec
  -DroseStreamExec=avx512_roseStreamExec
  -DrshuftiExec=avx512_rshuftiExec
  -DrtruffleExec=avx512_rtruffleExec
  -Drun_accel=avx512_run_accel
  -DsetSomFromSomAware=avx512_setSomFromSomAware
  -DshuftiDoubleExec=avx512_shuftiDoubleExec
  -DshuftiExec=avx512_shuftiExec
  -Dsimd_onebit_masks=avx512_simd_onebit_masks
  -Dsize_compress_stream=avx512_size_compress_stream
  -DstoreSomToStream=avx512_storeSomToStream
  -Dstorecompressed128=avx512_storecompressed128
  -Dstorecompressed256=avx512_storecompressed256
  -Dstorecompressed32=avx512_storecompressed32
  -Dstorecompressed384=avx512_storecompressed384
  -Dstorecompressed512=avx512_storecompressed512
  -Dstorecompressed64=avx512_storecompressed64
  -DstreamInitSufPQ=avx512_streamInitSufPQ
  -DtruffleExec=avx512_truffleExec
  -Dvbs_mask_data=avx512_vbs_mask_data
  -Wno-everything
)
target_include_directories(libs-hyperscan-runtime_avx512 PRIVATE
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src
)
target_sources(libs-hyperscan-runtime_avx512 PRIVATE
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/alloc.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/crc32.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/database.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/fdr/fdr.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/fdr/teddy.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/fdr/teddy_avx2.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/hs_valid_platform.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/hs_version.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/hwlm/hwlm.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/hwlm/noodle_engine.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/accel.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/castle.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/gough.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/lbr.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/limex_64.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/limex_accel.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/limex_native.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/limex_simd128.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/limex_simd256.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/limex_simd384.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/limex_simd512.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/mcclellan.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/mcsheng.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/mcsheng_data.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/mpv.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/nfa_api_dispatch.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/repeat.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/sheng.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/shufti.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/tamarama.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/nfa/truffle.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/rose/block.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/rose/catchup.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/rose/init.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/rose/match.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/rose/program_runtime.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/rose/stream.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/runtime.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/scratch.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/som/som_runtime.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/som/som_stream.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/stream_compress.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/util/cpuid_flags.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/util/masked_move.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/util/multibit.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/util/simd_utils.c
  ${CMAKE_SOURCE_DIR}/contrib/libs/hyperscan/src/util/state_compress.c
)