Commit Graph

1120 Commits

Author SHA1 Message Date
Konstantinos Margaritis
517d2aa633 convert print helper functions to class methods 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
9c2c6fdcfc fix last failing Shufti/Truffle tests 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
3021db0a17 fix arm SuperVector implementation 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
0576c5e8b1 fix rtruffle, was failing Lbr and a few ReverseTruffle tests 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
d1097e713d fix x86 debug alignr 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
848a583599 move firstMatch, lastMatch to own header in util 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
e31dd448b4 minor fixes 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
69378e7eee compilation fixes for debug mode 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
a5cce2670e fix arm implementation of alignr() 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
736da56850 harmonise syntax of x86 SuperVector impl.cpp like arm, fix alignr, define printv_* functions when on debug mode only 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
f6edd100c4 style fixes 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
a6bbe55574 removed obsolete file 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
6348a2f222 rename supervector class header, use dup_*() functions names instead of set1_*(), minor fixes 2021-07-26 00:10:54 +03:00
apostolos
885a4da0c8 Truffle simd vectorized 2021-07-26 00:10:54 +03:00
George Wort
b190e9d364 Fix error in initial noodle double final call.
Change-Id: Ie044988f183b47e0b2f1eed3b4bd23de75c3117d
2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
1c0d9f399f nits 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
0fbd90c511 fix typo 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
f7ae729930 fix unit tests, and resp. ARM SuperVector methods based on those unit tests, add print functions for SuperVector 2021-07-26 00:10:54 +03:00
George Wort
530b33a309 Add SVE2 support for noodle
Change-Id: Iacb7d1f164bdd0ba50e2e13d26fe548cf9b45a6a
2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
655c2eb87f add missing ARM SuperVector methods, some tests still fail, WIP 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
38600b717e rename arm impl.hpp to impl.cpp, add operator|() to SuperVector class 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
b33b7a3ee4 refactor shufti algorithm to use SuperVector class, WIP 2021-07-26 00:10:54 +03:00
George Wort
27b1bea462 Add SVE, SVE2, and SVE2_BITPERM as targets
Change-Id: I5231e2eb0a31708a16c853dc83ea48db32e0b0a5
2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
cc26212560 add more functions, move defines here, enable inlining of template specializations only when running optimized code 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
74e460d89b fix compilation on C++ 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
492874db43 simplify function 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
c4685b14a6 move definitions elsewhere 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
faae8819f3 move SuperVector versions of noodleEngine scan functions to _simd.hpp file 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
d232a50d72 add arm support for the new SuperVector class 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
6e804d8b16 simplify scanSingleMain() and scanDoubleMain() 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
0ccf9280ff delete separate implementations 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
73199585dd add C++ template SIMD library (WIP) 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
dc519e22fc add generic SIMD implementation 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
80a6b55bd4 convert to C++ 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
61f68f9d3b revert to push_back() 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
8d9dd3c286 add global definitions for CHUNKSIZE/VECTORSIZE, define HAVE_AVX512* only when BUILD_AVX512 is also enabled 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
c15018286a fix typo 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
7c6e47c95b replace push_back by emplace_back where possible 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
8d464477ad minor optimizations 2021-03-16 17:47:00 +02:00
Konstantinos Margaritis
40531ad6e5 prefetch works best when addresses are 64-byte aligned 2021-03-12 10:10:53 +02:00
Konstantinos Margaritis
53a3e33204 Revert "replace long macro and switch statement with function pointer array and branchless execution"
This reverts commit cc9dfed249.
2021-02-26 16:40:58 +02:00
Konstantinos Margaritis
cc9dfed249 replace long macro and switch statement with function pointer array and branchless execution 2021-02-26 16:39:24 +02:00
Konstantinos Margaritis
87f3ab0463 optimise case handling 2021-02-22 13:59:05 +02:00
Konstantinos Margaritis
afe7061860 simplify and make scanSingle*()/scanDouble*() more uniform 2021-02-19 12:16:43 +02:00
Konstantinos Margaritis
d0c3764a4c optimize caseMask handling 2021-02-16 22:10:42 +02:00
Konstantinos Margaritis
27bd09454f use correct function names for AVX512, fix build failure 2021-02-15 13:54:19 +02:00
Konstantinos Margaritis
741d8246c5 fix some AVX512 function names, to fix AVX512 build failure, also rename the expand* functions to broadcast*() ones for consistency 2021-02-15 13:54:19 +02:00
Konstantinos Margaritis
c3c68b1c3f fix x86 implementations for compress128/expand128 2021-02-15 13:54:19 +02:00
Konstantinos Margaritis
814045201f add BUILD_AVX2 definition, enable non-AVX2 building selectively 2021-02-15 13:54:19 +02:00
Konstantinos Margaritis
9fd94e0062 use unaligned loads for short scans 2021-02-11 14:21:57 +02:00