]> git.ipfire.org Git - thirdparty/vectorscan.git/log
thirdparty/vectorscan.git
3 years agofix unit-internal release builds using __builtin_constant_p() as well 79/head
Konstantinos Margaritis [Thu, 25 Nov 2021 13:09:01 +0000 (15:09 +0200)] 
fix unit-internal release builds using __builtin_constant_p() as well

3 years agonit
Konstantinos Margaritis [Thu, 25 Nov 2021 06:21:07 +0000 (06:21 +0000)] 
nit

3 years agouse __builtin_constant_p() instead for arm as well
Konstantinos Margaritis [Thu, 25 Nov 2021 06:20:53 +0000 (06:20 +0000)] 
use __builtin_constant_p() instead for arm as well

3 years agoRemoved duplicates
Apostolos Tapsas [Wed, 24 Nov 2021 15:09:53 +0000 (15:09 +0000)] 
Removed duplicates

3 years ago*fix palignr implementation for VSX Release mode
Apostolos Tapsas [Wed, 24 Nov 2021 15:03:49 +0000 (15:03 +0000)] 
*fix palignr implementation for VSX Release mode
*add unit test for palignr
*enable unit test building for Release mode

3 years agoRemoved accidentaly included header file
Apostolos Tapsas [Wed, 24 Nov 2021 12:11:21 +0000 (12:11 +0000)] 
Removed accidentaly included header file

3 years agofound and solved very hard to track bug of intrinsic function palignr, that manifeste...
Apostolos Tapsas [Wed, 24 Nov 2021 11:18:18 +0000 (11:18 +0000)] 
found and solved very hard to track bug of intrinsic function palignr, that manifested only in Release builds and not Debug builds in a particular number of tests

3 years agoWIP:tracking last bugs in failing tests for release build
Apostolos Tapsas [Tue, 16 Nov 2021 15:24:22 +0000 (15:24 +0000)] 
WIP:tracking last bugs in failing tests for release build

3 years agovermicelli and match implementations for ppc64el added
Apostolos Tapsas [Sat, 13 Nov 2021 19:36:46 +0000 (19:36 +0000)] 
vermicelli and match implementations for ppc64el added

3 years agoresolving conficts after merging
apostolos [Sat, 13 Nov 2021 16:58:22 +0000 (18:58 +0200)] 
resolving conficts after merging

3 years agoMerge pull request #78 from VectorCamp/feature/refactor-vermicelli
Konstantinos Margaritis [Fri, 12 Nov 2021 21:06:46 +0000 (23:06 +0200)] 
Merge pull request #78 from VectorCamp/feature/refactor-vermicelli

Feature/refactor vermicelli

3 years agoSuperVector opandnot test enriched
apostolos [Wed, 10 Nov 2021 13:12:25 +0000 (15:12 +0200)] 
SuperVector opandnot test enriched

3 years agotest for load m128 from u64a function added
apostolos [Wed, 10 Nov 2021 07:01:28 +0000 (09:01 +0200)] 
test for load m128 from u64a function added

3 years agoadd len parameter to arm matchers as well 78/head
Konstantinos Margaritis [Mon, 8 Nov 2021 19:45:36 +0000 (19:45 +0000)] 
add len parameter to arm matchers as well

3 years agosplit vermicelli block implementations per arch
Konstantinos Margaritis [Mon, 8 Nov 2021 19:45:21 +0000 (19:45 +0000)] 
split vermicelli block implementations per arch

3 years agosimd_utils functions fixed
Apostolos Tapsas [Mon, 8 Nov 2021 14:22:58 +0000 (14:22 +0000)] 
simd_utils functions fixed

3 years agoSuperVector constructors as well as andnot implementation fixed
Apostolos Tapsas [Fri, 5 Nov 2021 13:34:48 +0000 (13:34 +0000)] 
SuperVector constructors as well as andnot implementation fixed

3 years agoadd len parameter and mask, fixes corner cases on AVX512
Konstantinos Margaritis [Fri, 5 Nov 2021 12:30:22 +0000 (14:30 +0200)] 
add len parameter and mask, fixes corner cases on AVX512

3 years agoremove vermicelli.h and replace it with vermicelli.hpp
Konstantinos Margaritis [Tue, 2 Nov 2021 20:30:53 +0000 (22:30 +0200)] 
remove vermicelli.h and replace it with vermicelli.hpp

3 years agorefactor vermicelliDoubleMaskedExec()
Konstantinos Margaritis [Tue, 2 Nov 2021 20:30:21 +0000 (22:30 +0200)] 
refactor vermicelliDoubleMaskedExec()

3 years agoadd vermicelli.hpp to includes
Konstantinos Margaritis [Mon, 1 Nov 2021 16:40:17 +0000 (16:40 +0000)] 
add vermicelli.hpp to includes

3 years agoremove vermicelli_sse.h
Konstantinos Margaritis [Mon, 1 Nov 2021 16:40:01 +0000 (16:40 +0000)] 
remove vermicelli_sse.h

3 years agofix arm matchers
Konstantinos Margaritis [Mon, 1 Nov 2021 16:31:38 +0000 (16:31 +0000)] 
fix arm matchers

3 years agocomplete refactoring and unification of Vermicelli functions
Konstantinos Margaritis [Mon, 1 Nov 2021 14:51:18 +0000 (16:51 +0200)] 
complete refactoring and unification of Vermicelli functions

3 years agoremove unneeded header
Konstantinos Margaritis [Mon, 1 Nov 2021 14:50:38 +0000 (16:50 +0200)] 
remove unneeded header

3 years agoadd new include file
Konstantinos Margaritis [Wed, 27 Oct 2021 09:32:54 +0000 (12:32 +0300)] 
add new include file

3 years agorenamed matcher functions, added new ones for Vermicelli
Konstantinos Margaritis [Wed, 27 Oct 2021 09:32:03 +0000 (12:32 +0300)] 
renamed matcher functions, added new ones for Vermicelli

3 years agonits
Konstantinos Margaritis [Wed, 27 Oct 2021 09:31:04 +0000 (12:31 +0300)] 
nits

3 years agomove casemask helper functions to separate header
Konstantinos Margaritis [Wed, 27 Oct 2021 09:30:42 +0000 (12:30 +0300)] 
move casemask helper functions to separate header

3 years agoadd to CMake
Konstantinos Margaritis [Wed, 27 Oct 2021 09:29:59 +0000 (12:29 +0300)] 
add to CMake

3 years agoadded refactored vermicelli_simd.cpp implementation
Konstantinos Margaritis [Wed, 27 Oct 2021 09:29:39 +0000 (12:29 +0300)] 
added refactored vermicelli_simd.cpp implementation

3 years agoadd Vermicelli/RVermicelli to microbenchmark utility
Konstantinos Margaritis [Mon, 1 Nov 2021 12:48:17 +0000 (14:48 +0200)] 
add Vermicelli/RVermicelli to microbenchmark utility

3 years agoadd arm vector types in union, avoid -flax-conversions, fix castings
Konstantinos Margaritis [Tue, 19 Oct 2021 18:23:13 +0000 (18:23 +0000)] 
add arm vector types in union, avoid -flax-conversions, fix castings

3 years agocomplete refactoring and unification of Vermicelli functions
Konstantinos Margaritis [Mon, 1 Nov 2021 14:51:18 +0000 (16:51 +0200)] 
complete refactoring and unification of Vermicelli functions

3 years agoremove unneeded header
Konstantinos Margaritis [Mon, 1 Nov 2021 14:50:38 +0000 (16:50 +0200)] 
remove unneeded header

3 years agoprints commants and formating fixes
apostolos [Mon, 1 Nov 2021 08:05:25 +0000 (10:05 +0200)] 
prints commants and formating fixes

3 years agoadd new include file
Konstantinos Margaritis [Wed, 27 Oct 2021 09:32:54 +0000 (12:32 +0300)] 
add new include file

3 years agorenamed matcher functions, added new ones for Vermicelli
Konstantinos Margaritis [Wed, 27 Oct 2021 09:32:03 +0000 (12:32 +0300)] 
renamed matcher functions, added new ones for Vermicelli

3 years agonits
Konstantinos Margaritis [Wed, 27 Oct 2021 09:31:04 +0000 (12:31 +0300)] 
nits

3 years agomove casemask helper functions to separate header
Konstantinos Margaritis [Wed, 27 Oct 2021 09:30:42 +0000 (12:30 +0300)] 
move casemask helper functions to separate header

3 years agoadd to CMake
Konstantinos Margaritis [Wed, 27 Oct 2021 09:29:59 +0000 (12:29 +0300)] 
add to CMake

3 years agoadded refactored vermicelli_simd.cpp implementation
Konstantinos Margaritis [Wed, 27 Oct 2021 09:29:39 +0000 (12:29 +0300)] 
added refactored vermicelli_simd.cpp implementation

3 years agonits
apostolos [Tue, 26 Oct 2021 08:55:02 +0000 (11:55 +0300)] 
nits

3 years agoSpecial case for Shuffle test added as well as comments for respectives implementations
apostolos [Tue, 26 Oct 2021 08:48:33 +0000 (11:48 +0300)] 
Special case for Shuffle test added as well as comments for respectives implementations

3 years agoShuffle simd and SuperVector implementetions as well as their test realy fixed
Apostolos Tapsas [Sun, 24 Oct 2021 16:52:12 +0000 (16:52 +0000)] 
Shuffle simd and SuperVector implementetions as well as their test realy fixed

3 years agoSuperVector shuffle implementation and test function optimized
Apostolos Tapsas [Fri, 22 Oct 2021 11:55:39 +0000 (11:55 +0000)] 
SuperVector shuffle implementation and test function optimized

3 years agoprint functions missing keywords replaced
apostolos [Fri, 22 Oct 2021 09:38:16 +0000 (12:38 +0300)] 
print functions missing keywords replaced

3 years agoprint functions keyword renamed
apostolos [Fri, 22 Oct 2021 09:36:07 +0000 (12:36 +0300)] 
print functions keyword renamed

3 years agotest for movemask and shuffle cases added
apostolos [Fri, 22 Oct 2021 08:17:43 +0000 (11:17 +0300)] 
test for movemask and shuffle cases added

3 years agoexpand128 bugs fixed
Apostolos Tapsas [Fri, 22 Oct 2021 07:05:55 +0000 (07:05 +0000)] 
expand128 bugs fixed

3 years agoexpand128 implementation was changed to be like arm's
apostolos [Fri, 22 Oct 2021 06:46:04 +0000 (09:46 +0300)] 
expand128 implementation was changed to be like arm's

3 years agoWIP: simd & bitutils files finctions fixes
Apostolos Tapsas [Thu, 21 Oct 2021 13:34:02 +0000 (13:34 +0000)] 
WIP: simd & bitutils files finctions fixes

3 years agoSuperVector operators fixes and simd_utils low/high64 functions implementations added
Apostolos Tapsas [Mon, 18 Oct 2021 12:26:38 +0000 (12:26 +0000)] 
SuperVector operators fixes and simd_utils low/high64 functions implementations added

3 years agoSuperVector vsh* implementations
Apostolos Tapsas [Fri, 15 Oct 2021 14:07:17 +0000 (14:07 +0000)] 
SuperVector vsh* implementations

3 years agomatch file for ARCH_PPC64EL added
apostolos [Thu, 14 Oct 2021 13:26:59 +0000 (16:26 +0300)] 
match file for ARCH_PPC64EL added

3 years agotrufle and shufle implementations for ARCH_PPC64EL
apostolos [Thu, 14 Oct 2021 13:01:21 +0000 (16:01 +0300)] 
trufle and shufle implementations for ARCH_PPC64EL

3 years agoblockSigleMask implementations for ARCH_PPC64 added
apostolos [Thu, 14 Oct 2021 12:56:13 +0000 (15:56 +0300)] 
blockSigleMask implementations for ARCH_PPC64 added

3 years agoSupervector vsh* added
apostolos [Thu, 14 Oct 2021 12:08:23 +0000 (15:08 +0300)] 
Supervector vsh* added

3 years agoWIP: Power VSX support almost completed
Apostolos Tapsas [Thu, 14 Oct 2021 10:33:10 +0000 (10:33 +0000)] 
WIP: Power VSX support almost completed

3 years agocompile fixes for vsc port
Vectorcamp [Wed, 6 Oct 2021 10:23:46 +0000 (06:23 -0400)] 
compile fixes for vsc port

3 years agoupdate powerpc simd util file functions
apostolos [Mon, 27 Sep 2021 12:14:07 +0000 (15:14 +0300)] 
update powerpc simd util file functions

3 years agoimplementations for powerpc64el architecture
apostolos [Fri, 24 Sep 2021 10:01:14 +0000 (13:01 +0300)] 
implementations for powerpc64el architecture

3 years agoppc64el arcitecture added in CMakelists file
Vectorcamp [Thu, 23 Sep 2021 14:07:27 +0000 (10:07 -0400)] 
ppc64el arcitecture added in CMakelists file

3 years agotest commit from VM and CMakelists add power support
Vectorcamp [Thu, 23 Sep 2021 13:28:37 +0000 (09:28 -0400)] 
test commit from VM and CMakelists add power support

3 years agoadd initial ppc64el support
Konstantinos Margaritis [Mon, 25 Jan 2021 22:44:38 +0000 (00:44 +0200)] 
add initial ppc64el support

(cherry picked from commit 63e26a4b2880eda7b6ac7b49271d83ba3e6143c4)
(cherry picked from commit c214ba253327114c16d0724f75c998ab00d44919)

3 years agolink benchmarks against static lib only as some symbols are not exposed in the shared lib v5.4.4+vectorscan
Konstantinos Margaritis [Tue, 12 Oct 2021 10:33:40 +0000 (10:33 +0000)] 
link benchmarks against static lib only as some symbols are not exposed in the shared lib

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