Konstantinos Margaritis
ef7da97aa1
no need to convert to size_t
2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
1af82e395f
Changes/Additions to SuperVector class * added ==,!=,>=,>,<=,< operators * reworked shift operators to be more uniform and orthogonal, like Arm ISA * Added Unroller class to allow handling of multiple cases but avoid code duplication * pshufb method can now emulate Intel or not (avoids one instruction).
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
a3f083a9ff
initial SSE/AVX2 implementation
2021-10-12 11:51:34 +03:00
apostolos
bb9bcb3760
micro-benchmarks for shufti, trufle and noodle added
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
752d6cf997
fix lshift128 test
2021-10-12 11:51:34 +03:00
apostolos
b26a88efe5
alignr methods for avx2 and avx512 added
2021-10-12 11:51:34 +03:00
apostolos
150ae10ea4
limex_shuffle added and it's unit tests
2021-10-12 11:51:34 +03:00
George Wort
e1f0f6baf7
Implement new DoubleVermicelli16 acceleration functions using SVE2
...
Change-Id: Id4a8ffca840caab930a6e78cc0dfd0fe7d320b4e
2021-10-12 11:51:34 +03:00
George Wort
60b2112505
Use SVE for double shufti.
...
Change-Id: I09e0d57bb8a2f05b613f6225dea79ae823136268
2021-10-12 11:51:34 +03:00
George Wort
b54710d208
Implement new Vermicelli16 acceleration functions using SVE2.
...
The scheme utilises the MATCH and NMATCH instructions to
scan for 16 characters at the same rate as vermicelli
scans for one.
Change-Id: Ie2cef904c56651e6108593c668e9b65bc001a886
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
5adbfc94b8
use STL make_unique, remove wrapper header, breaks C++17 compilation
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
d6fd17ec82
convert to for loops
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
5fd1ed58e6
add {l,r}shift128()+tests, rename printv_u64() to print64()
2021-10-12 11:51:34 +03:00
George Wort
acfa11a34f
Add SVE2 support for vermicelli
...
Change-Id: Ia025de53521fbaefe5fb1e4425aaf75c7d80a14e
2021-10-12 11:51:34 +03:00
apostolos
ce9ffe9bce
Equal mask test fixed with random numbers
2021-10-12 11:51:34 +03:00
apostolos
b1dfc6abc4
Supervector test fixes
2021-10-12 11:51:34 +03:00
apostolos
a369e3aa53
SuperVector AVX512 implementations
2021-10-12 11:51:34 +03:00
apostolos
3f72b681cc
SuperVector unit tests for AVX2 and AVX512 added
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
1f496a1411
tiny change in vector initialization
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
f59be47288
harmonise syntax of x86 SuperVector impl.cpp like arm, fix alignr, define printv_* functions when on debug mode only
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
c2a5de03e0
rename supervector class header, use dup_*() functions names instead of set1_*(), minor fixes
2021-10-12 11:51:34 +03:00
apostolos
bab390d442
Truffle simd vectorized
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
736286c2f3
syntax fixes
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
24b984483b
fix unit tests, and resp. ARM SuperVector methods based on those unit tests, add print functions for SuperVector
2021-10-12 11:51:34 +03:00
apostolos
0adc21bee6
Supervector Unit Tests
2021-10-12 11:51:34 +03:00
apostolos
1e7765c485
SuperVector unit tests
2021-10-12 11:51:34 +03:00
apostolos
8bbcfe698a
unit tests for supervector
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
1c1bca4f98
use correct function names for AVX512, fix build failure
2021-02-15 13:54:19 +02:00
Konstantinos Margaritis
fd881a22ef
align array
2021-02-15 13:54:19 +02:00
Konstantinos Margaritis
f838d46cc2
use correct include
2021-02-15 13:54:19 +02:00
Konstantinos Margaritis
2ebb7d2b21
bugfix compress128/expand128, add unit tests
2021-02-08 19:20:37 +02:00
Wang Xiang W
a307e11283
limex: add fast NFA check
2021-01-25 14:13:13 +02:00
Konstantinos Margaritis
700a0a093c
fix compilation on non-x86
2021-01-25 12:13:35 +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
e00190fb52
add some debug and minor optimizations in unit test
2020-11-05 19:21:16 +02:00
Konstantinos Margaritis
3df337b457
don't use SSE directly in the tests
2020-10-30 10:38:05 +02:00
Hong, Yang A
4d33736a5c
gcc-10: fix hyperscan compile issue
...
Fixes github issue #239
2020-05-25 13:47:53 +00:00
Carlo Marcelo Arenas Belón
f28feee57d
unit: avoid UB by making integer literal explicitally unsigned
...
reported by cppcheck as:
[unit/internal/uniform_ops.cpp:78]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[unit/internal/uniform_ops.cpp:109]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[unit/internal/uniform_ops.cpp:127]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[unit/internal/uniform_ops.cpp:145]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
2019-08-13 14:49:37 +08:00
Wang, Xiang W
08b00f6149
hscollider: fix input length for UTF8 check
2018-06-27 14:04:53 +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
Matthew Barr
1891f14755
Add support for Hamming distance approx matching
2018-01-19 06:11:43 -05:00
Justin Viiret
3f36665e39
unit: add PrintTo for ue2_literal
2017-09-18 13:26:18 +10:00
Alex Coyte
47e64646b4
move mergeDupeLeaves() and uncalcLeaves() to rose_build_role_aliasing
...
Unlike the rest of rose_build_mergem, these functions relate to merging
roles/vertices rather than merging engines.
2017-09-18 13:22:56 +10:00
Alex Coyte
2a492273b5
remove !LBR constraints from merge passes
...
we have either converted candidates to castles already or we have converted them
back in the hope of merging them with other holders
2017-09-18 13:22:56 +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
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
Wang, Xiang W
86c5f7feb1
FDR: Squash buckets of included literals in FDR confirm
...
- Change the compile of literal matchers to two passes.
- Reverse the bucket assignment in FDR, bucket with longer literals has
smaller bucket id.
- Squash the buckets of included literals and jump to the the program of
included literals directly from parent literal program without going
through FDR confirm for included iterals.
2017-08-21 11:12:36 +10:00
Wang, Xiang W
67a8f43355
literal matchers: change context passed to callback to scratch
2017-08-21 11:12:36 +10:00
Wang, Xiang W
ebb1b0006b
remove start argument in literal matcher callbacks
2017-08-21 11:12:36 +10:00