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 |
|
George Wort
|
a879715953
|
Move SVE functions into their own files.
Change-Id: I995ba4b7d2b558ee403693ee45d747d414d3b177
|
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
|
25183089fd
|
Use SVE shufti for counting miracles.
Change-Id: Idd4aaf5bbc05fc90e9138c6fed385bc6ffa7b0b8
|
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
|
c95a4c3dd1
|
Use SVE for single shufti.
Change-Id: Ic76940c5bb9b81a1c45d39e9ca396a158c50a7dc
|
2021-10-12 11:51:34 +03:00 |
|
George Wort
|
56ef2d5f72
|
Use SVE2 for counting miracles.
Change-Id: I048dc182e5f4e726b847b3285ffafef4f538e550
|
2021-10-12 11:51:34 +03:00 |
|
George Wort
|
ab5d4d9279
|
Replace USE_ARM_SVE with HAVE_SVE.
Change-Id: I469efaac197cba93201f2ca6eca78ca61be3054d
|
2021-10-12 11:51:34 +03:00 |
|
George Wort
|
8242f46ed7
|
Add Licence to state_compress and bitutils.
Change-Id: I958daf82e5aef5bd306424dcfa7812382b266d65
|
2021-10-12 11:51:34 +03:00 |
|