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
Hong, Yang A
205a5bc98f
multibit compression support
2017-08-21 11:19:11 +10:00
Justin Viiret
14cf5c3684
small_vector: require boost >= 1.61
...
We use the small_vector constructors introduced in Boost 1.61 (trac bug
11866, github commit b436c91). If the Boost version is too old, we fall
back to using std::vector.
2017-08-21 11:18:43 +10:00
Chang, Harry
8da2d13baa
AVX512 Reinforced FAT teddy.
2017-08-21 11:14:59 +10:00
Justin Viiret
4528485a56
determinise: use find first, rather than emplace
...
For non-trivial StateSet types, copying to do the emplace if it is
already in the map is more expensive than checking with find() first.
2017-08-21 11:14:59 +10:00
Justin Viiret
33823d60d1
tidy: "ue2::flat_set/map" -> "flat_set/map"
2017-08-21 11:14:59 +10:00
Justin Viiret
9cf66b6ac9
util: switch from Boost to std::unordered set/map
...
This commit replaces the ue2::unordered_{set,map} types with their STL
versions, with some new hashing utilities in util/hash.h. The new types
ue2_unordered_set<T> and ue2_unordered_map<Key, T> default to using the
ue2_hasher.
The header util/ue2_containers.h has been removed, and the flat_set/map
containers moved to util/flat_containers.h.
2017-08-21 11:14:55 +10:00
Justin Viiret
a425bb9b7c
ue2_graph: move descriptors out of graph struct
2017-08-21 11:12:36 +10:00
Chang, Harry
68e08d8e18
AVX512 reinforced teddy.
2017-08-21 11:12:36 +10:00
Justin Viiret
a1ff4d3293
small_color_map: add efficient 2-bit color map
2017-08-21 11:12:26 +10:00
Justin Viiret
f762fb9af6
dump_util: richer StdioFile type
2017-08-21 11:10:11 +10:00
Justin Viiret
4edf1e4195
dump: move openStdioFile() to util/dump_util.h
2017-08-21 11:10:11 +10:00
Justin Viiret
b09e3acd04
ng_misc_opt: improve performance in large cases
2017-08-21 11:10:11 +10:00
Justin Viiret
c83f2ea389
rose_build_matchers: be more careful w/ mixed-case
...
Overhaul the way fragment literals are added to HWLM and accel, fix
some bugs shaken out by stricter mask use.
2017-08-21 11:09:45 +10:00