Commit Graph

1447 Commits

Author SHA1 Message Date
Konstantinos Margaritis
369e0d473d remove low4bits from the arguments, fix cases that mostly affect loading large (64) vectors and falling out of bounds 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
47e29602e0 fix loadu_maskz, add {l,r}shift128_var(), tab fixes 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
e25c8ad78b convert to for loops 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
b517cbfb8a minor fixes, add 2 constructors from half size vectors 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
e047fcf629 fix lastMatch<64> 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
0d1d76140a provide an {l,r}shift128_var() to fix immediate value build failure in loadu_maskz 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
f680a79f1e fix arm loadu_maskz() 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
b0fbb39cf0 add arm rshift128/rshift128 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
e1950f1ce5 use rshift128() instead of vector-wide right shift 2021-07-26 00:10:54 +03:00
Konstantinos Margaritis
93abed4d87 add {l,r}shift128()+tests, rename printv_u64() to print64() 2021-07-26 00:10:54 +03:00
George Wort
e325ce9452 Use SVE2 Bitperm's bdep instruction in bitutils and state_compress
Specifically for pdep64, expand32, and expand64 in bitutils,
as well as all of the loadcompressed functions used in
state_compress.

Change-Id: I92851bd12481dbee6a7e344df0890c4901b56d01
2021-07-26 00:10:54 +03:00
George Wort
726a668b65 Fix CROSS_COMPILE_AARCH64 for SVE issues.
Change-Id: I7b9ba3ccb754d96eee22ca01714c783dae1e4956
2021-07-26 00:10:54 +03:00
George Wort
7d7d31ec0d Add SVE2 support for vermicelli
Change-Id: Ia025de53521fbaefe5fb1e4425aaf75c7d80a14e
2021-07-26 00:10:54 +03:00
George Wort
418851a26e Remove possibly undefined behaviour from Noodle.
Change-Id: I9a7997cea6a48927cb02b00c5dba5009bbf83850
2021-07-26 00:10:54 +03:00
George Wort
f99c380167 Remove first check from scanDouble Noodle.
Change-Id: I00eabb3cb06ef6a2060df52c26fa8591907a2711
2021-07-26 00:10:54 +03:00
apostolos
80c01e451d Equal mask test fixed with random numbers 2021-07-26 00:10:54 +03:00
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