dzaima
|
ff9bb258c2
|
more comments in slash.singeli
|
2023-07-19 18:50:01 +03:00 |
|
dzaima
|
48111d4873
|
extract iota{} for AVX-512
|
2023-07-19 17:24:20 +03:00 |
|
dzaima
|
a0797318ca
|
use has_simd & arch_defvw
|
2023-07-19 17:03:41 +03:00 |
|
dzaima
|
03c21112c2
|
make NEON builds work
|
2023-07-19 16:58:35 +03:00 |
|
Marshall Lochbaum
|
77188b8e73
|
Add clmul.singeli
|
2023-07-19 09:38:37 -04:00 |
|
Marshall Lochbaum
|
c4364aefa6
|
SSSE3 4-byte compress with half-width table
|
2023-07-19 08:15:53 -04:00 |
|
Marshall Lochbaum
|
ba837ba01b
|
Remove table-less where/compress methods, as they're not competitive
|
2023-07-19 07:22:55 -04:00 |
|
Marshall Lochbaum
|
64d65ae837
|
Never use generic dense compress methods if use_table: where is faster
|
2023-07-18 21:35:12 -04:00 |
|
Marshall Lochbaum
|
b0e0f210c6
|
2- and 4-byte Where with unpack and table
|
2023-07-18 21:10:39 -04:00 |
|
Marshall Lochbaum
|
93e1262864
|
Avoid using popcount primitive in Singeli if POPCNT isn't present
|
2023-07-18 16:52:08 -04:00 |
|
Marshall Lochbaum
|
6df283c379
|
Always increment by full popcount instead of two halves when splitting byte
|
2023-07-17 17:52:59 -04:00 |
|
Marshall Lochbaum
|
2f6a8e55a1
|
Always use vectors for for_special_buffered buffer copy
|
2023-07-17 16:52:10 -04:00 |
|
Marshall Lochbaum
|
8add95b7ab
|
Remove BMI2 where/compress methods
|
2023-07-17 16:20:30 -04:00 |
|
Marshall Lochbaum
|
f005169518
|
1- and 2-byte compress with table and SSSE3
|
2023-07-17 16:19:05 -04:00 |
|
Marshall Lochbaum
|
68978f7e10
|
Table-based 1- and 2-byte Where
|
2023-07-17 16:05:06 -04:00 |
|
Marshall Lochbaum
|
fc187afdf2
|
Extend 1-byte SSE2 Where to 2-byte and 4-byte with unpacked writes
|
2023-07-17 11:28:04 -04:00 |
|
Marshall Lochbaum
|
8b297ae2dc
|
Dedicated 32-bit Singeli where, taking index offset
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
3bd8d1de68
|
Extend all Singeli Compress methods to do Where
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
4415869496
|
Generic Singeli where implementation
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
c484f8ee8d
|
Avoid UB from shifting by 64
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
da5f1faa07
|
Merge BMI2 slash{} cases, with some simplifications
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
b244ba98f5
|
Unify slash1{} and slash2{}
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
f5121f6806
|
Thresholds for compress methods (versus sparse) defined in Singeli
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
824bb04b4d
|
Plain SSE2 1-byte compress
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
f852d12a5c
|
Generic Singeli compress implementation
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
f36426031a
|
Slightly faster table-less compress method
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
84a928863b
|
AVX-512 compress implementations
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
80e93c41c9
|
Use new undefined{type,len} instead of alloca
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
13b3bcd74b
|
Table-less AVX2 1-byte compress
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
d956ba921b
|
Non-overwriting 1-byte and 2-byte compress/where
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
8f4b1966cb
|
Non-overwriting AVX2 4-byte and 8-byte compress, using a buffer
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
9010f648bb
|
Unify permutevar-based compress implementations
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
0921fc2c62
|
AVX2 compress implementations using permutevar and lookup tables
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
03d8919307
|
Add has='pclmul' option and avoid using broadcast
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
871a81ca5f
|
BMI2 pext not-emulation in Singeli
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
1314859a80
|
clmul-based pext emulation
|
2023-07-16 21:56:33 -04:00 |
|
Marshall Lochbaum
|
f315a6d3ea
|
Emulate pext instruction in Singeli
|
2023-07-16 21:56:33 -04:00 |
|
dzaima
|
3946f2cc87
|
use new Singeli builtins
|
2023-07-17 02:23:50 +03:00 |
|
dzaima
|
0601a86f56
|
don't special-case 2/𝕩 on NEON
|
2023-07-11 02:40:05 +03:00 |
|
dzaima
|
cb9f4dbbc1
|
remove debug include
:|
|
2023-07-10 19:19:55 +03:00 |
|
dzaima
|
cd7807fba0
|
NEON constrep
|
2023-07-10 17:11:15 +03:00 |
|
dzaima
|
bf89d2d561
|
a little size reduction on write_indices
|
2023-07-10 16:29:21 +03:00 |
|
Marshall Lochbaum
|
f6d1f9fcab
|
Move utilities from bins to appropriate files
|
2023-07-10 07:14:44 -04:00 |
|
Marshall Lochbaum
|
492e97e2ca
|
Right argument narrowing for numeric Bins
|
2023-07-10 07:14:44 -04:00 |
|
Marshall Lochbaum
|
1fa00c9c6f
|
Update bins implementation comments
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
46c6d47055
|
Permutevar instead of shuffle for 4-byte vector binary search
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
fc57e0012d
|
Shuffle-based 4-byte vector binary search
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
af5ba0a2d2
|
Switch from Eytzinger to linear search on extra lanes
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
64ae8f9afd
|
Slightly better blend pattern for >16-byte bit table
|
2023-07-10 07:13:21 -04:00 |
|
Marshall Lochbaum
|
c8d20fbf26
|
And 2-byte vector binary search on 4 lanes
|
2023-07-10 07:13:21 -04:00 |
|