Commit Graph

3463 Commits

Author SHA1 Message Date
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
dzaima
82bf0d301c more comparison tests 2024-10-10 03:46:47 +03:00
dzaima
5a6f3fd978 move comparison test section to beside total array comparison 2024-10-10 03:46:47 +03:00