Marshall Lochbaum
4aea668a6c
Allow i16 /⁼ to jump to Singeli code after range checking
2024-11-17 15:29:36 -05:00
Marshall Lochbaum
926e59483d
More precise sparse check for i8 /⁼ result: previously stopped at 65
2024-11-17 15:29:36 -05:00
Marshall Lochbaum
e24d0bac63
Extend SIMD counting to i16 in addition to i8
2024-11-17 15:29:36 -05:00
Marshall Lochbaum
e681f3c09a
Run-based 1-byte /⁼ implementation
2024-11-17 15:29:36 -05:00
dzaima
092ba4167a
fix talloc_realloc in VERIFY_TAIL
2024-11-17 22:18:33 +02:00
dzaima
f3094295dd
Singeli compile commands
2024-11-14 22:54:47 +02:00
dzaima
0a4925e84f
move compile_commands.json to build/
2024-11-14 22:45:43 +02:00
dzaima
b72fe465a2
fix /⁼1e4⥊1‿2 on NEON
2024-11-14 22:45:43 +02:00
dzaima
cbac419b4a
fix ⍷2‿0⥊x
2024-11-06 22:34:55 +02:00
dzaima
d47cedb165
some cleanup
2024-11-06 22:32:05 +02:00
dzaima
163853439e
Merge pull request #123 from mlochbaum/modperm
...
CPU-sized select single column and transpose with modular permutations
2024-11-06 22:23:20 +02:00
Marshall Lochbaum
db16b8fa6e
Fix dropped high bit in ⊣˝˘ due to signed rather than unsigned saturating pack
2024-11-06 14:52:18 -05:00
Marshall Lochbaum
67d3fe3f81
Missing SSSE3 requirement for some uninterleave implementations
2024-11-06 14:51:16 -05:00
Marshall Lochbaum
15df6afc7d
Implementation comments for transpose with short height/width
2024-11-05 22:04:23 -05:00
Marshall Lochbaum
e75b63831f
Clean up dispatching for the various transpose kernel methods
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
2d75c6c535
And manually vectorize uninterleave
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
32ad2e9953
Manually vectorized interleave function
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
980e4b2248
Short-height version of 16x16 i8 transpose kernel, using overlapped writes
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
abb96cb18a
Fixed-height transposes, more or less reverse of fixed-width
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
0ab2e485ca
Width-4 transpose with shuffles
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
8bc37098dc
Modular kernel transpose for odd*2 (so, just 6)
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
091f08c6cc
Extend modular permutation transpose to any element size
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
780bfdfa0b
Kernel transpose with overreading and skipped writes, for short rows
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
b6e418ed5b
Fix modular permutation example in comment
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
d7b508ff3b
Move select_cells_single (atom⊸⊏˘) to select.c and use for any singleton index
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
0bdc43cc0f
Even number handling for modular permutation ⊣˝˘
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
4c55eab740
Fast ⊣˝˘ for power-of-two widths, 4- and 8-byte elements
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
8d9d946ec5
Fast ⊣˝˘ with pack for power-of-two widths, 1- and 2-byte elements
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
aefd2a4abd
Fast 1-byte small odd width transpose with blends and modular permutation
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
5bdee886cc
Extend kernel transpose from AVX2 only to SSE2, NEON
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
6e4859e17f
Extend select_rows_byte to any architecture with (shuffle and) blend
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
4669418f1c
Extend modular permutation ⊣˝˘ to multi-byte element types
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
9997c52e4c
Initial 1-byte ⊣˝˘ with blends and modular permutation
2024-11-05 21:48:54 -05:00
Marshall Lochbaum
18f594e829
Update Singeli submodule
2024-11-05 21:48:25 -05:00
dzaima
0c6e32a24c
fix si_select_cells_bit_lt64 signature
2024-10-23 21:53:48 +03:00
dzaima
4c8b8519fa
Merge pull request #122 from mlochbaum/vec-select
...
Use Singeli's select includes
2024-10-23 21:51:22 +03:00
dzaima
bd6effe7ab
restore dropped comment
2024-10-23 21:37:56 +03:00
Marshall Lochbaum
7ac7297617
More simplifications to Singeli vector utilities
2024-10-21 21:44:21 -04:00
Marshall Lochbaum
8099945068
Use vec_select from Singeli select includes
2024-10-21 18:53:03 -04:00
Marshall Lochbaum
25724b6b3e
More NEON functionality moved to neon_intrin/select
2024-10-21 18:53:03 -04:00
Marshall Lochbaum
fa43ffd882
Alias vec_shuffle to shuf
2024-10-21 18:53:03 -04:00
Marshall Lochbaum
27af1c0558
Use Singeli select include for x86 blend, byteshift, zip
2024-10-21 18:53:03 -04:00
Marshall Lochbaum
6140290813
Use Singeli select includes for shuffling
2024-10-14 10:24:07 -04:00
dzaima
52f318e755
EACH_FILLS tests
2024-10-14 05:09:03 +03:00
dzaima
df1773712f
Merge pull request #121 from svmhdvn/gmake-fix
...
build: fix on systems with bmake as make impl
2024-10-14 05:07:45 +03:00
Siva Mahadevan
a18f547b44
build: fix on systems with bmake as make impl
...
For example, on FreeBSD, bmake is the default make implementation. Thus, to
build CBQN, we must use 'gmake' invocations. This patch fixes the hardcoded call
to 'make' in build/build.
2024-10-13 21:46:52 -04:00
dzaima
1e00aa71c9
atomEqualF & atomEEqual cleanup
2024-10-10 04:12:07 +03:00
dzaima
503bddced5
bring back atomEqualF fast path
2024-10-10 04:00:43 +03:00
dzaima
61e5ca2767
move function/modifier native ID into their respective structs
2024-10-10 03:46:47 +03:00
dzaima
4885ca1c62
fix rtwrap decompose
2024-10-10 03:46:47 +03:00