Konstantinos Margaritis
|
36e8a55bf5
|
fix x86 debug alignr
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
ff02749a73
|
move firstMatch, lastMatch to own header in util
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
31aca74801
|
minor fixes
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
472b119e35
|
compilation fixes for debug mode
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
176fa17970
|
fix arm implementation of alignr()
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
f59be47288
|
harmonise syntax of x86 SuperVector impl.cpp like arm, fix alignr, define printv_* functions when on debug mode only
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
ec1858febd
|
style fixes
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
fe2596ff5b
|
removed obsolete file
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
c2a5de03e0
|
rename supervector class header, use dup_*() functions names instead of set1_*(), minor fixes
|
2021-10-12 11:51:34 +03:00 |
|
apostolos
|
bab390d442
|
Truffle simd vectorized
|
2021-10-12 11:51:34 +03:00 |
|
George Wort
|
db26cdd4bf
|
Fix error in initial noodle double final call.
Change-Id: Ie044988f183b47e0b2f1eed3b4bd23de75c3117d
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
ca8b6932f2
|
nits
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
cb0bcbccdb
|
fix typo
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
24b984483b
|
fix unit tests, and resp. ARM SuperVector methods based on those unit tests, add print functions for SuperVector
|
2021-10-12 11:51:34 +03:00 |
|
George Wort
|
0ba1cbb32b
|
Add SVE2 support for noodle
Change-Id: Iacb7d1f164bdd0ba50e2e13d26fe548cf9b45a6a
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
fb71288740
|
add missing ARM SuperVector methods, some tests still fail, WIP
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
9258894087
|
rename arm impl.hpp to impl.cpp, add operator|() to SuperVector class
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
f689179a82
|
refactor shufti algorithm to use SuperVector class, WIP
|
2021-10-12 11:51:34 +03:00 |
|
George Wort
|
d59f11dc01
|
Add SVE, SVE2, and SVE2_BITPERM as targets
Change-Id: I5231e2eb0a31708a16c853dc83ea48db32e0b0a5
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
a6230d6410
|
add more functions, move defines here, enable inlining of template specializations only when running optimized code
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
d72038bc31
|
fix compilation on C++
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
7262ae8b74
|
simplify function
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
94089d9acb
|
move definitions elsewhere
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
4fe9a75abc
|
move SuperVector versions of noodleEngine scan functions to _simd.hpp file
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
bc2e3dfd2e
|
add arm support for the new SuperVector class
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
923f8bd357
|
simplify scanSingleMain() and scanDoubleMain()
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
4d8fbe95a7
|
delete separate implementations
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
c3101d53f4
|
add C++ template SIMD library (WIP)
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
7c303b62e3
|
add generic SIMD implementation
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
718cc7be1d
|
convert to C++
|
2021-10-12 11:51:34 +03:00 |
|
Konstantinos Margaritis
|
26bb00a932
|
revert to push_back()
|
2021-10-12 11:51:33 +03:00 |
|
Konstantinos Margaritis
|
317fb3dcfc
|
add global definitions for CHUNKSIZE/VECTORSIZE, define HAVE_AVX512* only when BUILD_AVX512 is also enabled
|
2021-10-12 11:51:33 +03:00 |
|
Konstantinos Margaritis
|
5171627e3b
|
fix typo
|
2021-10-12 11:51:33 +03:00 |
|
Konstantinos Margaritis
|
3f35a2be37
|
replace push_back by emplace_back where possible
|
2021-10-12 11:51:33 +03:00 |
|
Konstantinos Margaritis
|
361aa4b900
|
minor optimizations
|
2021-10-12 11:50:32 +03:00 |
|
Konstantinos Margaritis
|
acb542a5be
|
prefetch works best when addresses are 64-byte aligned
|
2021-10-12 11:50:32 +03:00 |
|
Konstantinos Margaritis
|
68b92f338d
|
Revert "replace long macro and switch statement with function pointer array and branchless execution"
This reverts commit cc9dfed249.
|
2021-10-12 11:50:32 +03:00 |
|
Konstantinos Margaritis
|
381ef41168
|
replace long macro and switch statement with function pointer array and branchless execution
|
2021-10-12 11:50:32 +03:00 |
|
Konstantinos Margaritis
|
95b929ed26
|
optimise case handling
|
2021-10-12 11:50:32 +03:00 |
|
Konstantinos Margaritis
|
ffb6a95e72
|
simplify and make scanSingle*()/scanDouble*() more uniform
|
2021-10-12 11:50:32 +03:00 |
|
Konstantinos Margaritis
|
da6216e42d
|
optimize caseMask handling
|
2021-10-12 11:50:32 +03:00 |
|
Konstantinos Margaritis
|
1c1bca4f98
|
use correct function names for AVX512, fix build failure
|
2021-02-15 13:54:19 +02:00 |
|
Konstantinos Margaritis
|
73bab6346d
|
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
|
2a2609229c
|
fix x86 implementations for compress128/expand128
|
2021-02-15 13:54:19 +02:00 |
|
Konstantinos Margaritis
|
71c59a95e9
|
add BUILD_AVX2 definition, enable non-AVX2 building selectively
|
2021-02-15 13:54:19 +02:00 |
|
Konstantinos Margaritis
|
e12a6a0fd2
|
use unaligned loads for short scans
|
2021-02-11 14:21:57 +02:00 |
|
Konstantinos Margaritis
|
ecd2842217
|
optimize case mask AND out of the loop
|
2021-02-10 13:29:45 +02:00 |
|
Konstantinos Margaritis
|
e2ed30f42c
|
fixes in shifting primitives
|
2021-02-08 19:38:20 +02:00 |
|
Konstantinos Margaritis
|
2ebb7d2b21
|
bugfix compress128/expand128, add unit tests
|
2021-02-08 19:20:37 +02:00 |
|
Konstantinos Margaritis
|
1e41465eff
|
make const
|
2021-02-08 19:19:52 +02:00 |
|