Commit Graph

369 Commits

Author SHA1 Message Date
Konstantinos Margaritis
81c996098b remove forgotten printf 2020-12-07 23:12:41 +02:00
Konstantinos Margaritis
9716197623 optimize *shiftbyte_m128() functions to use palign instead of variable_byte_shift_m128() 2020-12-07 23:12:26 +02:00
Konstantinos Margaritis
ffbb6eb548 fix movq and load_m128_from_u64a and resp. test for NEON 2020-12-03 19:27:38 +02:00
Konstantinos Margaritis
fe2fbc4af8 define debug vector print functions to NULL in non-debug mode 2020-12-03 19:27:05 +02:00
Konstantinos Margaritis
fe4196da3e helper functions to print a m128 vector in debug mode 2020-11-24 17:57:16 +02:00
Konstantinos Margaritis
505d7215c3 when building in debug mode, vgetq_lane_*() and vextq_*() need immediate operands, and we have to use switch()'ed versions 2020-11-24 17:56:40 +02:00
Konstantinos Margaritis
1d02082052 remove debug from functions 2020-11-05 20:33:17 +02:00
Konstantinos Margaritis
623b654361 add some debug info 2020-11-05 19:20:37 +02:00
Konstantinos Margaritis
c728b76898 add compress128 function and implementation 2020-11-05 19:20:06 +02:00
Konstantinos Margaritis
5e2d704bcd add extra instructions (currently arm-only), fix order of elements in set4x32/set2x64 2020-11-05 19:18:53 +02:00
Konstantinos Margaritis
6e4f387285 small optimization in storecompress*() 2020-10-30 10:49:50 +02:00
Konstantinos Margaritis
c9b338fd6c fix ARM implementations 2020-10-30 10:38:41 +02:00
Konstantinos Margaritis
d48a4d6171 don't redefine function on x86 2020-10-16 13:09:08 +03:00
Konstantinos Margaritis
a34cbf8edb scalar implementations of diffrich256 and diffrich384 2020-10-16 13:02:40 +03:00
Konstantinos Margaritis
7248399f8a Revert "move x86 popcount.h implementations to util/arch/x86/popcount.h"
This reverts commit 6581aae90e.
2020-10-16 12:32:44 +03:00
Konstantinos Margaritis
75aadb76f8 split arch-agnostic simd_utils.h functions into the common file 2020-10-16 12:30:34 +03:00
Konstantinos Margaritis
74919026c3 fix compilation paths for cpuid_flags for x86 2020-10-16 12:29:45 +03:00
Konstantinos Margaritis
6ff47528ba 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
08c3114090 add ARM simd_utils vectorized functions for 128-bit vectors 2020-10-15 16:26:49 +03:00
Konstantinos Margaritis
64535610f5 add arm simple cpuid_flags 2020-10-15 16:26:04 +03:00
Konstantinos Margaritis
d3b33ac02d add ARM version of simd_utils.h 2020-10-13 09:19:56 +03:00
Konstantinos Margaritis
73297dea33 add arm bitutils.h header 2020-10-08 20:50:55 +03:00
Konstantinos Margaritis
d142a92b93 add C implementation of pdep64() 2020-10-08 20:50:18 +03:00
Konstantinos Margaritis
a0912a2ce5 move cpuid_flags.h header to common 2020-10-08 20:49:33 +03:00
Konstantinos Margaritis
f424f16070 use C implementation of popcount for arm 2020-10-07 14:28:45 +03:00
Konstantinos Margaritis
b77ffbf4ed add arm architecture basic defines 2020-10-07 14:28:12 +03:00
Konstantinos Margaritis
427c98743f minor fix 2020-10-07 14:26:41 +03:00
Konstantinos Margaritis
e8920de9e8 use right intrinsic 2020-10-06 13:45:52 +03:00
Konstantinos Margaritis
cde2f4c81b 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
6a1d5b4a0b Revert "Revert "move x86 popcount.h implementations to util/arch/x86/popcount.h""
This reverts commit 04fbf24681.
2020-09-24 11:52:59 +03:00
Konstantinos Margaritis
13c2e10525 Revert "move x86 popcount.h implementations to util/arch/x86/popcount.h"
This reverts commit 6581aae90e.
2020-09-24 10:01:50 +03:00
Konstantinos Margaritis
8ef26f19fc fix names, use own intrinsic instead of explicit _mm* ones 2020-09-23 11:51:21 +03:00
Konstantinos Margaritis
4fd0723532 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
3f0f9e6052 move x86 implementations of simd_utils.h to util/arch/x86/ 2020-09-22 13:12:07 +03:00
Konstantinos Margaritis
2db39eb329 no need to check for WIN32* 2020-09-22 13:10:52 +03:00
Konstantinos Margaritis
b0cf02fdc1 move andn helper function to bitutils.h 2020-09-22 12:17:27 +03:00
Konstantinos Margaritis
25f0c7823a move x86 popcount.h implementations to util/arch/x86/popcount.h 2020-09-22 11:45:24 +03:00
Konstantinos Margaritis
50bd64468c move x86 bitutils.h implementations to util/arch/x86/bitutils.h 2020-09-22 11:02:07 +03:00
Konstantinos Margaritis
09993e5190 fix include paths for masked_move 2020-09-18 12:55:57 +03:00
Konstantinos Margaritis
9221905642 move masked_move* AVX2 implementation to util/arch/x86 2020-09-18 12:51:39 +03:00
Konstantinos Margaritis
edf4614db2 move crc32 SSE42 implementation to util/arch/x86 2020-09-18 12:48:14 +03:00
Konstantinos Margaritis
cc81d7f578 move cpuid stuff to util/arch/x86 2020-09-17 20:35:39 +03:00
Konstantinos Margaritis
57bb5dbafa move x86 arch and SIMD types to x86 arch folder 2020-09-17 19:00:48 +03:00
Chang, Harry
43204dda48 AVX512VBMI Teddy. 2020-05-25 13:47:53 +00: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
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
Hong, Yang A
f68723a606 literal matching: separate path for pure literal patterns 2019-01-21 09:59:22 +08:00
Lu, Qi
5a0885d235 Windows porting: port hyperscan and chimera tools to windows. 2018-07-09 11:40:43 -04:00
Wang, Xiang W
bf87f8c003 chimera: hybrid of Hyperscan and PCRE 2018-07-09 11:30:35 -04:00
Chang, Harry
8a1c497f44 Logical Combination of patterns. 2018-06-27 14:04:57 +08:00