Commit Graph

1462 Commits

Author SHA1 Message Date
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
Konstantinos Margaritis
e024e41a2c handle GNUCC_ARCH on non-x86 properly 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
43676fb3dc syntax fixes 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
apostolos
0dce69a6f1 Supervector Unit Tests 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
799026e760 disable SuperVector unit tests for now, until ARM support is included 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
George Wort
2c350e7803 Enable cross compilation to aarch64
Change-Id: Iafc8ac60926f5286990ce63a4ff4f8b6a7c46bef
2021-07-26 00:10:54 +03:00
apostolos
32bd8b131c SuperVector unit tests 2021-07-26 00:10:54 +03:00
apostolos
718641dfda unit tests for supervector 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
ca9d380a6f rename project, change to noodle_engine.cpp 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
df769a9a9a use -O3 for C++ code as well, makes a difference 2021-07-26 00:10:54 +03:00
Robbie Williamson
a280a5e253 Update README.md
Updated the Why the Fork section to be a bit more opensource friendly ;-).
2021-04-01 18:08:34 +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
2eab2ec47b bump version 2021-02-15 20:18:06 +02:00
Konstantinos Margaritis
27bd09454f use correct function names for AVX512, fix build failure v5.4.1+vectorscan 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
e21305aa23 align array 2021-02-15 13:54:19 +02:00