Konstantinos Margaritis
67e0674df8
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
e7161fdfec
initial SSE/AVX2 implementation
2021-10-12 11:51:34 +03:00
apostolos
904a94fbe5
micro-benchmarks for shufti, trufle and noodle added
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
08357a096c
remove Windows/ICC support
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
8cff876962
fix lshift128 test
2021-10-12 11:51:34 +03:00
apostolos
67fa6d2738
alignr methods for avx2 and avx512 added
2021-10-12 11:51:34 +03:00
apostolos
b3a20afbbc
limex_shuffle added and it's unit tests
2021-10-12 11:51:34 +03:00
George Wort
6c6aee9682
Implement new DoubleVermicelli16 acceleration functions using SVE2
...
Change-Id: Id4a8ffca840caab930a6e78cc0dfd0fe7d320b4e
2021-10-12 11:51:34 +03:00
George Wort
00fff3f53c
Use SVE for double shufti.
...
Change-Id: I09e0d57bb8a2f05b613f6225dea79ae823136268
2021-10-12 11:51:34 +03:00
George Wort
df926ef62f
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
e35b88f2c8
use STL make_unique, remove wrapper header, breaks C++17 compilation
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
a2e6143ea1
convert to for loops
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
6c51f7f591
add {l,r}shift128()+tests, rename printv_u64() to print64()
2021-10-12 11:51:34 +03:00
George Wort
9fb79ac3ec
Add SVE2 support for vermicelli
...
Change-Id: Ia025de53521fbaefe5fb1e4425aaf75c7d80a14e
2021-10-12 11:51:34 +03:00
apostolos
89b123d003
Equal mask test fixed with random numbers
2021-10-12 11:51:34 +03:00
apostolos
6f88ecac44
Supervector test fixes
2021-10-12 11:51:34 +03:00
apostolos
ae6bc52076
SuperVector AVX512 implementations
2021-10-12 11:51:34 +03:00
apostolos
32350cf9b1
SuperVector unit tests for AVX2 and AVX512 added
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
78e098661f
tiny change in vector initialization
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
28b2949396
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
2753dbb3b0
rename supervector class header, use dup_*() functions names instead of set1_*(), minor fixes
2021-10-12 11:51:34 +03:00
apostolos
1ce5e17ce9
Truffle simd vectorized
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
5297ed5038
syntax fixes
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
e49fa3a97a
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
1e434a9b3d
Supervector Unit Tests
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
5d9d958e74
disable SuperVector unit tests for now, until ARM support is included
2021-10-12 11:51:34 +03:00
apostolos
feb2d3ccf7
SuperVector unit tests
2021-10-12 11:51:34 +03:00
apostolos
096fb55faa
unit tests for supervector
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
27bd09454f
use correct function names for AVX512, fix build failure
2021-02-15 13:54:19 +02:00
Konstantinos Margaritis
e21305aa23
align array
2021-02-15 13:54:19 +02:00
Konstantinos Margaritis
04567ab649
use correct include
2021-02-15 13:54:19 +02:00
Konstantinos Margaritis
814045201f
add BUILD_AVX2 definition, enable non-AVX2 building selectively
2021-02-15 13:54:19 +02:00
Konstantinos Margaritis
f541f75400
bugfix compress128/expand128, add unit tests
2021-02-08 19:20:37 +02:00
Wang Xiang W
9ea1e4be3d
limex: add fast NFA check
2021-01-25 14:13:13 +02:00
Konstantinos Margaritis
51dcfa8571
fix compilation on non-x86
2021-01-25 12:13:35 +02:00
Konstantinos Margaritis
38477b08bc
fix movq and load_m128_from_u64a and resp. test for NEON
2020-12-03 19:27:38 +02:00
Konstantinos Margaritis
62fed20ad0
add some debug and minor optimizations in unit test
2020-11-05 19:21:16 +02:00
Konstantinos Margaritis
0bef151437
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
Bobby Martin
e395cd3166
Add windows DLL support
...
(with AVX2 flag removed currently)
2019-08-13 14:52:38 +08:00
Chang, Harry
4b1927c038
Logical combination: add purely negative match at EOD unit test
...
MultiCombPurelyNegativeUniSubEOD6.
2019-08-13 14:50:39 +08:00
Chang, Harry
fdc3c290b6
Logical combination: add streaming mode unit test MultiCombStream1.
2019-08-13 14:50:32 +08:00
Chang, Harry
1f4c10a58d
Logical combination: support EOD match from purely negative case.
2019-08-13 14:50:07 +08: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
Hong, Yang A
224b16cd2f
unit: check fix of rose instr program dead loop
2019-04-10 06:53:26 -04:00
Wang, Xiang W
b0c0d9cd92
unit: check return value of malloc
2019-01-29 14:16:59 +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
Wang, Xiang W
08b00f6149
hscollider: fix input length for UTF8 check
2018-06-27 14:04:53 +08:00