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