1471 Commits

Author SHA1 Message Date
Konstantinos Margaritis
83977db7ab split arch-agnostic simd_utils.h functions into the common file 2020-10-16 12:30:34 +03:00
Konstantinos Margaritis
e7e1308d7f fix compilation paths for cpuid_flags for x86 2020-10-16 12:29:45 +03:00
Konstantinos Margaritis
45bfed9b9d add scalar versions of the vectorized functions for architectures that don't support 256-bit/512-bit SIMD vectors such as ARM 2020-10-15 16:30:18 +03:00
Konstantinos Margaritis
c5a7f4b846 add ARM simd_utils vectorized functions for 128-bit vectors 2020-10-15 16:26:49 +03:00
Konstantinos Margaritis
5b425bd5a6 add arm simple cpuid_flags 2020-10-15 16:26:04 +03:00
Konstantinos Margaritis
31ac6718dd add ARM version of simd_utils.h 2020-10-13 09:19:56 +03:00
Konstantinos Margaritis
a9212174ee add arm bitutils.h header 2020-10-08 20:50:55 +03:00
Konstantinos Margaritis
1c2c73becf add C implementation of pdep64() 2020-10-08 20:50:18 +03:00
Konstantinos Margaritis
d2cf1a7882 move cpuid_flags.h header to common 2020-10-08 20:49:33 +03:00
Konstantinos Margaritis
5d773dd9db use C implementation of popcount for arm 2020-10-07 14:28:45 +03:00
Konstantinos Margaritis
4c924cc920 add arm architecture basic defines 2020-10-07 14:28:12 +03:00
Konstantinos Margaritis
9a0494259e minor fix 2020-10-07 14:26:41 +03:00
Konstantinos Margaritis
e91082d477 use right intrinsic 2020-10-06 13:45:52 +03:00
Konstantinos Margaritis
5952c64066 add necessary modifications to CMake system to enable building on ARM, add arm_neon.h intrinsic header to intrinsics.h 2020-10-06 12:44:23 +03:00
Konstantinos Margaritis
f0e70bc0ad Revert "Revert "move x86 popcount.h implementations to util/arch/x86/popcount.h""
This reverts commit 04fbf2468140cc4d7ccabc62a2bdc4503a3d31c5.
2020-09-24 11:52:59 +03:00
Konstantinos Margaritis
04fbf24681 Revert "move x86 popcount.h implementations to util/arch/x86/popcount.h"
This reverts commit 6581aae90e55520353c03edb716de80ecc03521a.
2020-09-24 10:01:50 +03:00
Konstantinos Margaritis
5333467249 fix names, use own intrinsic instead of explicit _mm* ones 2020-09-23 11:51:21 +03:00
Konstantinos Margaritis
f7a6b8934c add some set*() functions, harmonize names, rename setAxB to set1_AxB when using mm_set1_* internally 2020-09-23 11:49:26 +03:00
Konstantinos Margaritis
e8e188acaf move x86 implementations of simd_utils.h to util/arch/x86/ 2020-09-22 13:12:07 +03:00
Konstantinos Margaritis
e915d84864 no need to check for WIN32* 2020-09-22 13:10:52 +03:00
Konstantinos Margaritis
9f3ad89ed6 move andn helper function to bitutils.h 2020-09-22 12:17:27 +03:00
Konstantinos Margaritis
6581aae90e move x86 popcount.h implementations to util/arch/x86/popcount.h 2020-09-22 11:45:24 +03:00
Konstantinos Margaritis
aac1f0f1dc move x86 bitutils.h implementations to util/arch/x86/bitutils.h 2020-09-22 11:02:07 +03:00
Konstantinos Margaritis
8ed5f4ac75 fix include paths for masked_move 2020-09-18 12:55:57 +03:00
Konstantinos Margaritis
956b001613 move masked_move* AVX2 implementation to util/arch/x86 2020-09-18 12:51:39 +03:00
Konstantinos Margaritis
ea721c908f move crc32 SSE42 implementation to util/arch/x86 2020-09-18 12:48:14 +03:00
Konstantinos Margaritis
6a40793719 move cpuid stuff to util/arch/x86 2020-09-17 20:35:39 +03:00
Konstantinos Margaritis
2d89df44ae move x86 arch and SIMD types to x86 arch folder 2020-09-17 19:00:48 +03:00
Hong, Yang A
765b8f9fb9 literal API: remove HS_FLAG_MULTILINE flag support
fixes github issue #237
2020-05-25 13:47:53 +00:00
Hong, Yang A
88a18dcf98 add AVX512 support for vermicelli model 2020-05-25 13:47:53 +00:00
Hong, Yang A
3ff54f68e4 add Hyperscan version marcro in public header 2020-05-25 13:47:53 +00:00
Chang, Harry
e665e959a0 Revert to AVX2 Fat Teddy instead of AVX512 reinforced Fat Teddy. 2020-05-25 13:47:53 +00:00
Chang, Harry
43204dda48 AVX512VBMI Teddy. 2020-05-25 13:47:53 +00:00
Hong, Yang A
22991f2da1 update description of HS_FLAG_SOM_LEFTMOST to eliminate ambiguity 2020-05-25 13:47:53 +00:00
Hong, Yang A
8344395bfd avoid crash in addLitExpression()
fixes github issue #205
2020-05-25 13:47:53 +00:00
Wang Xiang W
7c4490cfc9 smallwrite: add report dedupe check 2020-05-25 13:46:57 +00:00
Wang Xiang W
411317639b Limex: fix acceleration path analysis 2020-05-25 13:46:42 +00:00
Wang Xiang W
f658c4e149 Noodle: avoid an extra convert instruction
fixes github issue #221
2020-05-25 13:46:42 +00:00
Hong, Yang A
6f6e2744df Cyclic redundancy: change DFS termination condition into successors of cyclic vertex 2020-01-15 15:40:10 +00:00
Dmitry Yakovenko
17de350599 Fix platform compatibility check 2020-01-15 15:40:10 +00:00
Pavel Shlyak
3ca3602755 A tiny cleanup 2019-12-02 16:40:38 +00:00
Wang, Xiang W
49592833a7 Scratch: fix scratch free issue when memory allocation fails
Fixes github issue #174
2019-08-13 14:52:21 +08:00
Hong, Yang A
23e5f06594 add new Literal API for pure literal expressions:
Design compile time api hs_compile_lit() and hs_compile_lit_multi()
to handle pure literal pattern sets. Corresponding option --literal-on
is added for hyperscan testing suites. Extended parameters and part of
flags are not supported for this api.
2019-08-13 14:51:38 +08:00
Chang, Harry
8bfbf07f75 Do not free stream unless hs_close_stream returns success.
(by unit-hyperscan HyperscanArgChecks.CloseStreamNoScratch)
2019-08-13 14:50:45 +08:00
Chang, Harry
64ea43ea39 Logical Combination: avoid corruption of pending combination report
in streaming mode.

Fixes github issue #165
2019-08-13 14:50:16 +08:00
Chang, Harry
1f4c10a58d Logical combination: support EOD match from purely negative case. 2019-08-13 14:50:07 +08:00
Mostafa Nazari
92edc37c1f BUGFIX: fix Numerical result out of range error
Fix Error errno=34,  fix Numerical result out of range error
issue: https://github.com/intel/hyperscan/issues/155
2019-08-13 14:49:24 +08:00
Derrick Lyndon Pallas
5a1b02bc10 Fix uninitialized use of scatter_unit_uX due to padding
These non-packed structures are placed into a std::vector.  Later, they
contents of the vector are memcpy'd and the CRC of this space is taken.
Some compilers will zero the struct padding but GCC8.2 with -O2 at least
will not.  This means that the CRC is based on uninitialized memory.

Since it is expected that these bytes will be memcpy'd, zero in place once
they're in the std::vector.

Found by Valgrind.

Q.v. Issue #148
2019-08-13 14:49:15 +08:00
Derrick Lyndon Pallas
356c0ab3d4 dispatcher: return correct function type from ifunc resolver 2019-08-13 14:49:00 +08:00
Hong, Yang A
bc37072d5b Rose: add necessary instruction programs to avoid dead loop
Fixes github issue #141
2019-04-10 06:53:03 -04:00