Commit Graph

1431 Commits

Author SHA1 Message Date
apostolos
4326aecfda Supervector test fixes 2021-07-26 00:10:54 +03:00
apostolos
a98a114568 SuperVector AVX512 implementations 2021-07-26 00:10:54 +03:00
apostolos
17bf07f446 SuperVector unit tests for AVX2 and AVX512 added 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
56b124b9a1 really fix lshift for avx2 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
e296a71540 disable OPTIMISE by default 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
6ad1e70c36 fix truffle SIMD for S>16 as well 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
46c37ece4b add AVX2 specializations 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
65d911c976 lots of fixes to AVX2 implementation 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
517d2aa633 convert print helper functions to class methods 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
009ac9432c tiny change in vector initialization 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
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