Apostolos Tapsas
3423ea5b2b
WIP: Power VSX support almost completed
2021-10-14 13:53:55 +03:00
Konstantinos Margaritis
2f55e5b54f
add x86 vsh* implementations
2021-10-12 11:51:35 +03:00
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
cf4b95fff2
remove Windows/ICC support
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
Konstantinos Margaritis
080de16428
disable SuperVector unit tests for now, until ARM support is included
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
71c59a95e9
add BUILD_AVX2 definition, enable non-AVX2 building selectively
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
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