Konstantinos Margaritis
149ea938c4
don't redefine function on x86
2020-10-16 13:09:08 +03:00
Konstantinos Margaritis
c4db63665a
scalar implementations of diffrich256 and diffrich384
2020-10-16 13:02:40 +03:00
Konstantinos Margaritis
4bce012570
Revert "move x86 popcount.h implementations to util/arch/x86/popcount.h"
...
This reverts commit 6581aae90e55520353c03edb716de80ecc03521a.
2020-10-16 12:32:44 +03:00
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
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
Justin Viiret
f877f14641
ue2_graph: more direct property_graph defn
2018-06-27 13:40:26 +08:00
Justin Viiret
c7c90c7ab7
graph_undirected: adapt bidi graph to undirected
...
Introduces an adaptor (like the BGL's reverse_graph) that presents an
undirected view of a bidirectional graph.
Initially used in ng_calc_components.
2018-06-27 13:40:10 +08:00
Justin Viiret
ce7cfbde82
misc: docs, typo fixes, small cleanups
2018-06-27 13:39:05 +08:00
Justin Viiret
08bf909e2b
ng_violet: make calcSplitRatio operation faster
...
Implements count_reachable in a less malloc-happy way, improving
compile performance. Adds a count() function to small_color_map.
2018-06-27 13:38:55 +08:00
Matthew Barr
50ea83cb26
Move cpuid checks inline.
...
During fat runtime function resolution there was a chance that the PLT
might not be initialised in time for us to call the cpuid check
functions. Moving them inline means there is no PLT to worry about.
Fixes #78
2018-01-19 06:32:18 -05:00
Justin Viiret
ba0bf0c991
rose_build_add_mask: improve findMaskLiteral perf
2017-09-18 13:29:34 +10:00
Justin Viiret
7fe53fec10
partitioned_set: use lower_bound(), not scan
2017-09-18 13:29:34 +10:00
Justin Viiret
012b347284
ue2_literal: define npos in ue2string.cpp
2017-09-18 13:29:33 +10:00
Justin Viiret
fe31b387e8
hash: use std::hash for string hashing
2017-09-18 13:26:18 +10:00
Justin Viiret
25170b32eb
ue2_literal: better hash function
2017-09-18 13:26:18 +10:00
Justin Viiret
1aad3b0ed1
ue2_literal: make nocase member a dynamic_bitset
...
We were previously using vector<bool>, but dynamic_bitset provides a
faster any() impl
2017-09-18 13:26:18 +10:00
Justin Viiret
3ff70d5568
insertion_ordered_{map,set}: add new containers
...
These are associative map/set structures that are iterable in insertion
order.
2017-08-21 11:25:21 +10:00