1514 Commits

Author SHA1 Message Date
Konstantinos Margaritis
35a25fffd7 link benchmarks against static lib only as some symbols are not exposed in the shared lib v5.4.4+vectorscan 2021-10-12 10:33:40 +00:00
Konstantinos Margaritis
4e044d4142 Add missing copyright info from tampered files v5.4.3+vectorscan 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
b9801478b2 bump version 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
c3baf3d296 fix multiple/undefined symbols when using fat runtimes 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
2d9f52d03e add arm truffle block function 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
9d0c15c448 add simd_onebit_masks as static in arm simd_utils.h as well 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
aea10b8ab0 simplify truffle and provide arch-specific block functions 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
623c64142b simplify shufti and provide arch-specific block functions 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
577e03e0c7 rearrange method declarations 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
9c54412447 remove simd_utils.c 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
8b7ba89cb5 add x86 vsh* implementations 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
eebd6c97bc use movemask 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
6ceab8435d add header define to avoid double inclusion 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
db6354b787 do not include the Supervector impl.cpp files in fat runtime 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
a78f3789a9 atm, do not built benchmark tool for fat runtime, as the function names are modified, need to rethink this 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
96af3e8613 Improve benchmarks 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
fad39b6058 optimize and simplify Shufti and Truffle to work with a single block method instead 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
456b1c6182 no need to convert to size_t 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
9e6c1c30cf remove asserts, as they are not needed 2021-10-12 11:51:35 +03:00
Konstantinos Margaritis
fa3d509fad firstMatch/lastMatch are now arch-dependent, emulating movemask on non-Intel is very costly, the alternative is almost twice as fast on Arm 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
9ab18cf419 fix for new pshufb 2021-10-12 11:51:34 +03:00
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
Duncan Bellamy
e5e2057ca9 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
2021-10-12 11:51:34 +03:00
apostolos
bc57891aa0 Unify benchmarks, more accurate measurements 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
b40899966f Unify benchmarks, more accurate measurements
(cherry picked from commit f50d7656bc78c54ec25916b6c8e655c188d79a13)
2021-10-12 11:51:34 +03:00
apostolos
d7e9d2d915 benchmarks functions replaced with lambdas 2021-10-12 11:51:34 +03:00
apostolos
cf1d72745c raw pointers replaced with smart pointers 2021-10-12 11:51:34 +03:00
apostolos
c774a76f24 nit 2021-10-12 11:51:34 +03:00
apostolos
a86d6c290d nit 2021-10-12 11:51:34 +03:00
apostolos
ee8fa17351 fix benchmarks outputs 2021-10-12 11:51:34 +03:00
apostolos
53b9034546 bandwidth output fixes 2021-10-12 11:51:34 +03:00
apostolos
0e141ce700 size outup for case with match fixed 2021-10-12 11:51:34 +03:00
apostolos
5d4adf267d nits 2021-10-12 11:51:34 +03:00
apostolos
2e6c75c895 size output fixed 2021-10-12 11:51:34 +03:00
apostolos
9901477bcf nits 2021-10-12 11:51:34 +03:00
apostolos
2b9636ccc0 benchmarks output fixes 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
91f58fb1ca add missing header 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
be1551aa94 remove confusing OPTIMISE flag 2021-10-12 11:51:34 +03:00
apostolos
4027319d6c nits 2021-10-12 11:51:34 +03:00
apostolos
1009391d9f code size reduction by using function arrays and add bandwidth to output 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
Konstantinos Margaritis
de30471edd remove duplicate functions from previous merge 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
e5050c9373 add missing compile flags 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
7f5e859019 add accidentally removed lines 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
deae90f947 * 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
2021-10-12 11:51:34 +03:00