]> git.ipfire.org Git - thirdparty/vectorscan.git/log
thirdparty/vectorscan.git
3 years agoAdd missing copyright info from tampered files 68/head v5.4.3+vectorscan
Konstantinos Margaritis [Tue, 12 Oct 2021 07:55:33 +0000 (10:55 +0300)] 
Add missing copyright info from tampered files

3 years agobump version
Konstantinos Margaritis [Tue, 12 Oct 2021 05:50:45 +0000 (08:50 +0300)] 
bump version

3 years agofix multiple/undefined symbols when using fat runtimes
Konstantinos Margaritis [Mon, 11 Oct 2021 11:28:42 +0000 (14:28 +0300)] 
fix multiple/undefined symbols when using fat runtimes

3 years agoadd arm truffle block function
Konstantinos Margaritis [Fri, 8 Oct 2021 22:12:43 +0000 (22:12 +0000)] 
add arm truffle block function

3 years agoadd simd_onebit_masks as static in arm simd_utils.h as well
Konstantinos Margaritis [Fri, 8 Oct 2021 22:12:24 +0000 (22:12 +0000)] 
add simd_onebit_masks as static in arm simd_utils.h as well

3 years agosimplify truffle and provide arch-specific block functions
Konstantinos Margaritis [Fri, 8 Oct 2021 21:36:21 +0000 (00:36 +0300)] 
simplify truffle and provide arch-specific block functions

3 years agosimplify shufti and provide arch-specific block functions
Konstantinos Margaritis [Fri, 8 Oct 2021 21:35:59 +0000 (00:35 +0300)] 
simplify shufti and provide arch-specific block functions

3 years agorearrange method declarations
Konstantinos Margaritis [Fri, 8 Oct 2021 21:35:04 +0000 (00:35 +0300)] 
rearrange method declarations

3 years agoremove simd_utils.c
Konstantinos Margaritis [Fri, 8 Oct 2021 21:34:35 +0000 (00:34 +0300)] 
remove simd_utils.c

3 years agoadd x86 vsh* implementations
Konstantinos Margaritis [Fri, 8 Oct 2021 21:31:13 +0000 (00:31 +0300)] 
add x86 vsh* implementations

3 years agouse movemask
Konstantinos Margaritis [Fri, 8 Oct 2021 21:29:33 +0000 (00:29 +0300)] 
use movemask

3 years agoadd header define to avoid double inclusion
Konstantinos Margaritis [Fri, 8 Oct 2021 21:29:08 +0000 (00:29 +0300)] 
add header define to avoid double inclusion

3 years agodo not include the Supervector impl.cpp files in fat runtime
Konstantinos Margaritis [Fri, 8 Oct 2021 21:28:22 +0000 (00:28 +0300)] 
do not include the Supervector impl.cpp files in fat runtime

3 years agoatm, do not built benchmark tool for fat runtime, as the function names are modified...
Konstantinos Margaritis [Fri, 8 Oct 2021 21:25:29 +0000 (00:25 +0300)] 
atm, do not built benchmark tool for fat runtime, as the function names are modified, need to rethink this

3 years agoImprove benchmarks
Konstantinos Margaritis [Sun, 3 Oct 2021 10:51:31 +0000 (10:51 +0000)] 
Improve benchmarks

3 years agooptimize and simplify Shufti and Truffle to work with a single block method instead
Konstantinos Margaritis [Sun, 3 Oct 2021 10:51:03 +0000 (10:51 +0000)] 
optimize and simplify Shufti and Truffle to work with a single block method instead

3 years agono need to convert to size_t
Konstantinos Margaritis [Sun, 3 Oct 2021 10:49:38 +0000 (10:49 +0000)] 
no need to convert to size_t

3 years agoremove asserts, as they are not needed
Konstantinos Margaritis [Sun, 3 Oct 2021 10:49:09 +0000 (10:49 +0000)] 
remove asserts, as they are not needed

3 years agofirstMatch/lastMatch are now arch-dependent, emulating movemask on non-Intel is very...
Konstantinos Margaritis [Sun, 3 Oct 2021 10:47:53 +0000 (10:47 +0000)] 
firstMatch/lastMatch are now arch-dependent, emulating movemask on non-Intel is very costly, the alternative is almost twice as fast on Arm

3 years agofix for new pshufb
Konstantinos Margaritis [Sun, 3 Oct 2021 10:46:47 +0000 (10:46 +0000)] 
fix for new pshufb

3 years agoChanges/Additions to SuperVector class * added ==,!=,>=,>,<=,< operators * reworked...
Konstantinos Margaritis [Sun, 3 Oct 2021 10:43:13 +0000 (10:43 +0000)] 
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).

3 years agoinitial SSE/AVX2 implementation
Konstantinos Margaritis [Mon, 20 Sep 2021 20:52:31 +0000 (23:52 +0300)] 
initial SSE/AVX2 implementation

3 years agoremove adding CMAKE_CXX_IMPLICIT_LINK_LIBRARIES to PRIVATE_LIBS
Duncan Bellamy [Mon, 27 Sep 2021 08:37:00 +0000 (09:37 +0100)] 
remove adding CMAKE_CXX_IMPLICIT_LINK_LIBRARIES to PRIVATE_LIBS
as on alpine linux this add gcc_s which is a shared library

on alpine:
Libs.private: -lstdc++ -lm -lssp_nonshared -lgcc_s -lgcc -lc -lgcc_s -lgcc

3 years agoUnify benchmarks, more accurate measurements
apostolos [Wed, 22 Sep 2021 09:05:28 +0000 (12:05 +0300)] 
Unify benchmarks, more accurate measurements

3 years agoUnify benchmarks, more accurate measurements
Konstantinos Margaritis [Wed, 22 Sep 2021 08:21:37 +0000 (11:21 +0300)] 
Unify benchmarks, more accurate measurements

(cherry picked from commit f50d7656bc78c54ec25916b6c8e655c188d79a13)

3 years agobenchmarks functions replaced with lambdas
apostolos [Thu, 16 Sep 2021 14:23:10 +0000 (17:23 +0300)] 
benchmarks functions replaced with lambdas

3 years agoraw pointers replaced with smart pointers
apostolos [Wed, 15 Sep 2021 10:03:25 +0000 (13:03 +0300)] 
raw pointers replaced with smart pointers

3 years agonit
apostolos [Tue, 14 Sep 2021 13:35:33 +0000 (16:35 +0300)] 
nit

3 years agonit
apostolos [Tue, 14 Sep 2021 13:01:32 +0000 (16:01 +0300)] 
nit

3 years agofix benchmarks outputs
apostolos [Tue, 14 Sep 2021 12:32:26 +0000 (15:32 +0300)] 
fix benchmarks outputs

3 years agobandwidth output fixes
apostolos [Mon, 13 Sep 2021 17:25:46 +0000 (20:25 +0300)] 
bandwidth output fixes

3 years agosize outup for case with match fixed
apostolos [Mon, 13 Sep 2021 07:09:13 +0000 (10:09 +0300)] 
size outup for case with match fixed

3 years agonits
apostolos [Thu, 9 Sep 2021 09:06:02 +0000 (12:06 +0300)] 
nits

3 years agosize output fixed
apostolos [Thu, 9 Sep 2021 09:02:33 +0000 (12:02 +0300)] 
size output fixed

3 years agonits
apostolos [Tue, 7 Sep 2021 08:41:19 +0000 (11:41 +0300)] 
nits

3 years agobenchmarks output fixes
apostolos [Tue, 7 Sep 2021 08:01:10 +0000 (11:01 +0300)] 
benchmarks output fixes

3 years agoadd missing header
Konstantinos Margaritis [Thu, 2 Sep 2021 12:35:23 +0000 (15:35 +0300)] 
add missing header

3 years agoremove confusing OPTIMISE flag
Konstantinos Margaritis [Thu, 2 Sep 2021 12:34:55 +0000 (15:34 +0300)] 
remove confusing OPTIMISE flag

3 years agonits
apostolos [Wed, 25 Aug 2021 08:43:33 +0000 (11:43 +0300)] 
nits

3 years agocode size reduction by using function arrays and add bandwidth to output
apostolos [Wed, 25 Aug 2021 08:09:45 +0000 (11:09 +0300)] 
code size reduction by using function arrays and add bandwidth to output

3 years agomicro-benchmarks for shufti, trufle and noodle added
apostolos [Tue, 24 Aug 2021 11:05:12 +0000 (14:05 +0300)] 
micro-benchmarks for shufti, trufle and noodle added

3 years agoremove Windows/ICC support
Konstantinos Margaritis [Fri, 30 Jul 2021 09:49:38 +0000 (12:49 +0300)] 
remove Windows/ICC support

3 years agofix lshift128 test
Konstantinos Margaritis [Fri, 30 Jul 2021 09:37:41 +0000 (12:37 +0300)] 
fix lshift128 test

3 years agoalignr methods for avx2 and avx512 added
apostolos [Wed, 28 Jul 2021 09:55:32 +0000 (12:55 +0300)] 
alignr methods for avx2 and avx512 added

3 years agolimex_shuffle added and it's unit tests
apostolos [Tue, 27 Jul 2021 08:44:35 +0000 (11:44 +0300)] 
limex_shuffle added and it's unit tests

3 years agoremove duplicate functions from previous merge
Konstantinos Margaritis [Mon, 26 Jul 2021 18:11:30 +0000 (21:11 +0300)] 
remove duplicate functions from previous merge

3 years agoadd missing compile flags
Konstantinos Margaritis [Mon, 26 Jul 2021 18:09:12 +0000 (21:09 +0300)] 
add missing compile flags

3 years agoadd accidentally removed lines
Konstantinos Margaritis [Mon, 26 Jul 2021 16:50:34 +0000 (19:50 +0300)] 
add accidentally removed lines

3 years ago* add -fno-new-ttp-matching to fix build-failures on newer gcc compilers with C++17
Konstantinos Margaritis [Mon, 26 Jul 2021 16:13:33 +0000 (19:13 +0300)] 
* add -fno-new-ttp-matching to fix build-failures on newer gcc compilers with C++17
* add explicit -mssse3, -mavx2 in compiler flags in respective build profiles

3 years agoMove SVE functions into their own files.
George Wort [Tue, 20 Jul 2021 17:13:02 +0000 (18:13 +0100)] 
Move SVE functions into their own files.

Change-Id: I995ba4b7d2b558ee403693ee45d747d414d3b177

3 years agoImplement new DoubleVermicelli16 acceleration functions using SVE2
George Wort [Mon, 28 Jun 2021 15:29:43 +0000 (16:29 +0100)] 
Implement new DoubleVermicelli16 acceleration functions using SVE2

Change-Id: Id4a8ffca840caab930a6e78cc0dfd0fe7d320b4e

3 years agoUse SVE shufti for counting miracles.
George Wort [Fri, 2 Jul 2021 14:54:42 +0000 (15:54 +0100)] 
Use SVE shufti for counting miracles.

Change-Id: Idd4aaf5bbc05fc90e9138c6fed385bc6ffa7b0b8

3 years agoUse SVE for double shufti.
George Wort [Tue, 13 Jul 2021 19:39:53 +0000 (20:39 +0100)] 
Use SVE for double shufti.

Change-Id: I09e0d57bb8a2f05b613f6225dea79ae823136268

3 years agoUse SVE for single shufti.
George Wort [Tue, 13 Jul 2021 14:09:38 +0000 (15:09 +0100)] 
Use SVE for single shufti.

Change-Id: Ic76940c5bb9b81a1c45d39e9ca396a158c50a7dc

3 years agoUse SVE2 for counting miracles.
George Wort [Fri, 2 Jul 2021 14:53:43 +0000 (15:53 +0100)] 
Use SVE2 for counting miracles.

Change-Id: I048dc182e5f4e726b847b3285ffafef4f538e550

3 years agoReplace USE_ARM_SVE with HAVE_SVE.
George Wort [Fri, 16 Jul 2021 12:21:14 +0000 (13:21 +0100)] 
Replace USE_ARM_SVE with HAVE_SVE.

Change-Id: I469efaac197cba93201f2ca6eca78ca61be3054d

3 years agoAdd Licence to state_compress and bitutils.
George Wort [Fri, 16 Jul 2021 10:56:48 +0000 (11:56 +0100)] 
Add Licence to state_compress and bitutils.

Change-Id: I958daf82e5aef5bd306424dcfa7812382b266d65

3 years agoImplement new Vermicelli16 acceleration functions using SVE2.
George Wort [Mon, 28 Jun 2021 15:29:43 +0000 (16:29 +0100)] 
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

3 years agoAdd SVE2 support for dvermicelli
George Wort [Wed, 23 Jun 2021 13:14:28 +0000 (14:14 +0100)] 
Add SVE2 support for dvermicelli

Change-Id: I056ef15e162ab6fb1f78964321ce893f4096367e

3 years agoadd arm rshift128/rshift128
Konstantinos Margaritis [Tue, 20 Jul 2021 11:33:03 +0000 (14:33 +0300)] 
add arm rshift128/rshift128

3 years agofix failing corner case, add pshufb_maskz()
Konstantinos Margaritis [Fri, 23 Jul 2021 15:55:56 +0000 (18:55 +0300)] 
fix failing corner case, add pshufb_maskz()

3 years agouse STL make_unique, remove wrapper header, breaks C++17 compilation
Konstantinos Margaritis [Fri, 23 Jul 2021 08:54:53 +0000 (11:54 +0300)] 
use STL make_unique, remove wrapper header, breaks C++17 compilation

3 years agochange C/C++ standard used to C17/C++17
Konstantinos Margaritis [Fri, 23 Jul 2021 08:47:45 +0000 (11:47 +0300)] 
change C/C++ standard used to C17/C++17

3 years agoremove low4bits from the arguments, fix cases that mostly affect loading large (64...
Konstantinos Margaritis [Fri, 23 Jul 2021 08:45:58 +0000 (11:45 +0300)] 
remove low4bits from the arguments, fix cases that mostly affect loading large (64) vectors and falling out of bounds

3 years agofix loadu_maskz, add {l,r}shift128_var(), tab fixes
Konstantinos Margaritis [Fri, 23 Jul 2021 08:44:46 +0000 (11:44 +0300)] 
fix loadu_maskz, add {l,r}shift128_var(), tab fixes

3 years agoconvert to for loops
Konstantinos Margaritis [Fri, 23 Jul 2021 08:43:51 +0000 (11:43 +0300)] 
convert to for loops

3 years agominor fixes, add 2 constructors from half size vectors
Konstantinos Margaritis [Fri, 23 Jul 2021 08:43:10 +0000 (11:43 +0300)] 
minor fixes, add 2 constructors from half size vectors

3 years agofix lastMatch<64>
Konstantinos Margaritis [Fri, 23 Jul 2021 08:42:13 +0000 (11:42 +0300)] 
fix lastMatch<64>

3 years agoprovide an {l,r}shift128_var() to fix immediate value build failure in loadu_maskz
Konstantinos Margaritis [Wed, 21 Jul 2021 10:20:40 +0000 (10:20 +0000)] 
provide an {l,r}shift128_var() to fix immediate value build failure in loadu_maskz

3 years agofix arm loadu_maskz()
Konstantinos Margaritis [Tue, 20 Jul 2021 11:38:19 +0000 (11:38 +0000)] 
fix arm loadu_maskz()

3 years agoadd arm rshift128/rshift128
Konstantinos Margaritis [Tue, 20 Jul 2021 11:33:03 +0000 (14:33 +0300)] 
add arm rshift128/rshift128

3 years agouse rshift128() instead of vector-wide right shift
Konstantinos Margaritis [Tue, 20 Jul 2021 11:33:03 +0000 (14:33 +0300)] 
use rshift128() instead of vector-wide right shift

3 years agoadd {l,r}shift128()+tests, rename printv_u64() to print64()
Konstantinos Margaritis [Tue, 20 Jul 2021 11:32:40 +0000 (14:32 +0300)] 
add {l,r}shift128()+tests, rename printv_u64() to print64()

3 years agoUse SVE2 Bitperm's bdep instruction in bitutils and state_compress
George Wort [Fri, 2 Jul 2021 09:43:48 +0000 (10:43 +0100)] 
Use SVE2 Bitperm's bdep instruction in bitutils and state_compress

Specifically for pdep64, expand32, and expand64 in bitutils,
as well as all of the loadcompressed functions used in
state_compress.

Change-Id: I92851bd12481dbee6a7e344df0890c4901b56d01

3 years agoFix CROSS_COMPILE_AARCH64 for SVE issues.
George Wort [Mon, 12 Jul 2021 16:08:11 +0000 (17:08 +0100)] 
Fix CROSS_COMPILE_AARCH64 for SVE issues.

Change-Id: I7b9ba3ccb754d96eee22ca01714c783dae1e4956

3 years agoAdd SVE2 support for vermicelli
George Wort [Mon, 7 Jun 2021 12:55:09 +0000 (13:55 +0100)] 
Add SVE2 support for vermicelli

Change-Id: Ia025de53521fbaefe5fb1e4425aaf75c7d80a14e

3 years agoRemove possibly undefined behaviour from Noodle.
George Wort [Thu, 1 Jul 2021 13:19:20 +0000 (14:19 +0100)] 
Remove possibly undefined behaviour from Noodle.

Change-Id: I9a7997cea6a48927cb02b00c5dba5009bbf83850

3 years agoRemove first check from scanDouble Noodle.
George Wort [Wed, 30 Jun 2021 13:13:27 +0000 (14:13 +0100)] 
Remove first check from scanDouble Noodle.

Change-Id: I00eabb3cb06ef6a2060df52c26fa8591907a2711

3 years agoEqual mask test fixed with random numbers
apostolos [Mon, 19 Jul 2021 10:12:58 +0000 (13:12 +0300)] 
Equal mask test fixed with random numbers

3 years agoSupervector test fixes
apostolos [Mon, 19 Jul 2021 07:23:11 +0000 (10:23 +0300)] 
Supervector test fixes

3 years agoSuperVector AVX512 implementations
apostolos [Fri, 16 Jul 2021 08:17:28 +0000 (11:17 +0300)] 
SuperVector AVX512 implementations

3 years agoSuperVector unit tests for AVX2 and AVX512 added
apostolos [Tue, 13 Jul 2021 13:38:25 +0000 (16:38 +0300)] 
SuperVector unit tests for AVX2 and AVX512  added

3 years agoreally fix lshift for avx2
Konstantinos Margaritis [Tue, 13 Jul 2021 10:19:48 +0000 (13:19 +0300)] 
really fix lshift for avx2

3 years agodisable OPTIMISE by default
Konstantinos Margaritis [Mon, 12 Jul 2021 18:12:21 +0000 (21:12 +0300)] 
disable OPTIMISE by default

3 years agofix truffle SIMD for S>16 as well
Konstantinos Margaritis [Mon, 12 Jul 2021 18:12:05 +0000 (21:12 +0300)] 
fix truffle SIMD for S>16 as well

3 years agoadd AVX2 specializations
Konstantinos Margaritis [Mon, 12 Jul 2021 18:09:10 +0000 (21:09 +0300)] 
add AVX2 specializations

3 years agolots of fixes to AVX2 implementation
Konstantinos Margaritis [Mon, 12 Jul 2021 18:08:51 +0000 (21:08 +0300)] 
lots of fixes to AVX2 implementation

3 years agoconvert print helper functions to class methods
Konstantinos Margaritis [Mon, 12 Jul 2021 17:59:09 +0000 (20:59 +0300)] 
convert print helper functions to class methods

3 years agotiny change in vector initialization
Konstantinos Margaritis [Mon, 12 Jul 2021 17:57:44 +0000 (20:57 +0300)] 
tiny change in vector initialization

3 years agofix last failing Shufti/Truffle tests
Konstantinos Margaritis [Tue, 6 Jul 2021 06:22:31 +0000 (09:22 +0300)] 
fix last failing Shufti/Truffle tests

3 years agofix arm SuperVector implementation
Konstantinos Margaritis [Tue, 6 Jul 2021 06:22:00 +0000 (09:22 +0300)] 
fix arm SuperVector implementation

3 years agofix rtruffle, was failing Lbr and a few ReverseTruffle tests
Konstantinos Margaritis [Mon, 5 Jul 2021 10:06:12 +0000 (13:06 +0300)] 
fix rtruffle, was failing Lbr and a few ReverseTruffle tests

3 years agofix x86 debug alignr
Konstantinos Margaritis [Mon, 5 Jul 2021 06:07:02 +0000 (09:07 +0300)] 
fix x86 debug alignr

3 years agomove firstMatch, lastMatch to own header in util
Konstantinos Margaritis [Sun, 4 Jul 2021 16:12:23 +0000 (19:12 +0300)] 
move firstMatch, lastMatch to own header in util

3 years agominor fixes
Konstantinos Margaritis [Sun, 4 Jul 2021 16:11:55 +0000 (19:11 +0300)] 
minor fixes

3 years agocompilation fixes for debug mode
Konstantinos Margaritis [Sun, 4 Jul 2021 11:46:50 +0000 (14:46 +0300)] 
compilation fixes for debug mode

3 years agofix arm implementation of alignr()
Konstantinos Margaritis [Fri, 2 Jul 2021 17:16:23 +0000 (20:16 +0300)] 
fix arm implementation of alignr()

3 years agoharmonise syntax of x86 SuperVector impl.cpp like arm, fix alignr, define printv_...
Konstantinos Margaritis [Fri, 2 Jul 2021 16:53:37 +0000 (19:53 +0300)] 
harmonise syntax of x86 SuperVector impl.cpp like arm, fix alignr, define printv_* functions when on debug mode only

3 years agostyle fixes
Konstantinos Margaritis [Fri, 2 Jul 2021 16:28:37 +0000 (19:28 +0300)] 
style fixes

3 years agoremoved obsolete file
Konstantinos Margaritis [Fri, 2 Jul 2021 16:16:18 +0000 (19:16 +0300)] 
removed obsolete file