-
d5facc33ad
some Singeli cleanup
dzaima
2025-03-06 05:22:34 +0200
-
bb3bb1b1d3
Merge pull request #135 from mlochbaum/scan
dzaima
2025-03-06 05:18:07 +0200
-
-
6d7983fd48
test for scan overflow checking in tail
dzaima
2025-03-06 01:29:46 +0200
-
267ddc4987
clarifying comments
dzaima
2025-03-05 01:33:35 +0200
-
79fc8d5116
use direct copy on known-different-eltype arrays
dzaima
2025-03-04 23:18:30 +0200
-
26cd40dfd3
tests for single-element-cell scans
dzaima
2025-03-04 20:11:04 +0200
-
d9a80ee83b
Test bound and length instead of rank in scan where possible
Marshall Lochbaum
2025-03-04 10:57:28 -0500
-
a11ed3d79a
Mask out values past the end for strided +` overflow checks
Marshall Lochbaum
2025-03-04 07:38:28 -0500
-
9fdeb5379a
fix old gcc
dzaima
2025-03-04 04:04:04 +0200
-
010e6a10d4
Implementation comments for new high-rank scans
Marshall Lochbaum
2025-03-03 19:56:53 -0500
-
46300bcb51
Use scalar case for small-stride +` on <SSSE3 to avoid incorrectly overlapping vectors
Marshall Lochbaum
2025-03-03 08:15:47 -0500
-
4072bde806
Strided scan with AVX2 [8]i32 permute if possible
Marshall Lochbaum
2025-03-03 07:48:48 -0500
-
180c79e751
Strided +`, widening and re-trying on overflow
Marshall Lochbaum
2025-03-01 20:41:58 -0500
-
87a7d066c8
Strided ⌊⌈ scans with shuffles
Marshall Lochbaum
2025-03-01 08:42:36 -0500
-
360e4e8320
Save a word instead of writing to avoid stall for scan with 64<stride<128
Marshall Lochbaum
2025-02-28 14:56:49 -0500
-
f3e0ea7531
Use CLMUL-based ≠` for power-of-two stride up to 64
Marshall Lochbaum
2025-02-28 14:32:43 -0500
-
ee6b91be8a
Basic strided ∧∨≠= scan implementations
Marshall Lochbaum
2025-02-28 14:24:58 -0500
-
90d0f3015a
Use rank-1 scan special code whenever cell size is 1
Marshall Lochbaum
2025-02-28 13:09:53 -0500
-
b03b26656d
Fix usz=32 build
Marshall Lochbaum
2025-03-02 14:16:07 -0500
-
-
d3b4c3cc26
flush stdout on •Show and •Out
dzaima
2025-03-03 00:53:55 +0200
-
db6118489d
make
make install work on macos
dzaima
2025-03-03 00:17:23 +0200
-
9eeee12d53
add shared-o3n make target
dzaima
2025-03-02 23:51:43 +0200
-
05a9cd736b
more spaces around names between name and 𝕨/𝕩 in error messages
dzaima
2025-03-02 19:55:19 +0200
-
bdf9a52625
more proper error messages for /⁼𝕩
dzaima
2025-03-02 19:47:00 +0200
-
17ec5f0a8a
add 𝕩 to error messages of <⁼𝕩, ⋈⁼𝕩, ≍⁼𝕩
dzaima
2025-03-02 19:32:49 +0200
-
445007b38c
unify toLast and broadcast_last
dzaima
2025-03-02 02:03:28 +0200
-
9826c4ce0e
add 𝕨/𝕩 in dyadic ⌽/⌽⁼ error message
dzaima
2025-02-17 06:30:11 +0200
-
bdee96a995
remove old blend definitions
dzaima
2025-02-12 19:52:39 +0200
-
8055f8dbab
Merge pull request #134 from mlochbaum/scan
dzaima
2025-02-27 05:48:02 +0200
-
-
eda1cd8b50
More tuning based on dzaima's measurements
Marshall Lochbaum
2025-02-26 22:01:37 -0500
-
a520ff70a1
Fix some NEON performance issues for row scans
Marshall Lochbaum
2025-02-26 21:52:49 -0500
-
a775520927
Update scan implementation comments
Marshall Lochbaum
2025-02-25 20:32:03 -0500
-
422e63bc12
Non-CLMUL SIMD ≠`
Marshall Lochbaum
2025-02-26 08:13:06 -0500
-
d85d69e759
Improve baseline for ⊣`˘ to beat non-AVX2 on length ≥64
Marshall Lochbaum
2025-02-25 20:05:37 -0500
-
709712f03c
Tuning; drop the scalar loose_mask branch for ∧∨ as it never seems faster
Marshall Lochbaum
2025-02-25 19:33:26 -0500
-
b5ec2f5fa8
Extend loose_mask system to SSE and NEON (not always fast)
Marshall Lochbaum
2025-02-25 14:48:45 -0500
-
fb413b1966
Enable vector max- min-, and wrapping plus-scan on NEON
Marshall Lochbaum
2025-02-24 22:05:21 -0500
-
317871db55
Extend unaligned <64-bit row scans from AVX2 to SSE, NEON
Marshall Lochbaum
2025-02-24 21:47:46 -0500
-
b131914cbe
Factor out some common code
Marshall Lochbaum
2025-02-24 15:01:02 -0500
-
0973d9b499
Medium-row ⊣
˘ and ≠˘ with mask-aware carry
Marshall Lochbaum
2025-02-24 09:37:20 -0500
-
1fef51a39e
AVX2 ∧
and ∨ with intermediate row sizes (64≤l<160)
Marshall Lochbaum
2025-02-23 19:19:46 -0500
-
94e6b6cb3a
Better formula for within-word masked ∧
and ∨
Marshall Lochbaum
2025-02-23 08:27:47 -0500
-
242a61db11
Faster <`, adding instructions to cut dependency chains
Marshall Lochbaum
2025-02-18 16:29:49 -0500
-
-
e962195958
update Singeli submodule, use Singeli BQN output
dzaima
2025-02-09 21:21:15 +0200
-
8c1040bd9f
cleaner vr?(add|sub)hn NEON defs
dzaima
2025-02-08 18:37:46 +0200
-
c5d1d19157
update bytecode submodule
dzaima
2025-02-08 17:22:31 +0200
-
09f2980ebf
more BMI and NEON defs
dzaima
2025-02-08 01:04:37 +0200
-
bda9245ac3
another unnecessary tree_fold
dzaima
2025-02-08 00:17:45 +0200
-
0d7a7652e3
better NEON all_hom{x:[16]u8}
dzaima
2025-02-08 00:13:20 +0200
-
c792d47069
use Singeli a==b instead of a=(b)
dzaima
2025-02-04 23:01:10 +0200
-
b12575722a
better NEON any_hom
dzaima
2025-02-04 03:14:16 +0200
-
72cf36334c
make (any|all_(hom|top) accept mask or vl or multiple vectors
dzaima
2025-02-04 02:49:26 +0200
-
341f3757e7
make all_hom{mask_none, vec} use simple path
dzaima
2025-02-04 02:49:01 +0200
-
2cb15c936d
get rid of b(x) macro
dzaima
2025-02-04 22:50:10 +0200
-
4af2fdafca
Merge pull request #132 from tankorsmash/update-error-messages
dzaima
2025-02-08 00:10:51 +0200
-
-
74483f3859
more spaces between 𝕨/𝕩 and names, re-remove •SH args
dzaima
2025-02-07 07:31:44 +0200
-
b945e48d29
add spacing around system functions; add missing args for SH; fix wrong args for bit._cast
tankorsmash
2025-02-06 20:17:18 -0500
-
e3a4132722
clean up error messages
dzaima
2025-02-06 12:23:55 +0200
-
308f93368e
ran test error message updater
tankorsmash
2025-02-05 20:05:03 -0500
-
3362d46854
add best effort guesses for error messages in core/stuff and opt/comp.c
tankorsmash
2025-02-05 20:02:44 -0500
-
5790d126cd
add best effort guesses for many more builtin error messages
tankorsmash
2025-02-05 19:56:08 -0500
-
63ee20b6fe
add best effort guesses for many builtin error messages
tankorsmash
2025-02-05 19:40:27 -0500
-
dd5d17ca83
add best effort guesses for builtins/cmp,fns,fold.c
tankorsmash
2025-02-05 19:32:49 -0500
-
559b3f0d6e
add best effort guesses for w and x for builtins/cells.c
tankorsmash
2025-02-04 19:00:15 -0500
-
dce39a1b05
add w and x for builtins/arithm.c
tankorsmash
2025-02-04 18:57:25 -0500
-
6be291dd6b
add w and x for builtins/arithd.c
tankorsmash
2025-02-04 18:55:14 -0500
-
80d1681b18
prefer using w and x inside error messages
tankorsmash
2025-02-03 20:39:44 -0500
-
-
d17c6ebe8e
actually fix AVX-512 more
dzaima
2025-02-03 19:58:15 +0200
-
0bc491e931
fix AVX-512 more
dzaima
2025-02-03 19:56:04 +0200
-
3a8f2a601a
better NEON widening add/sub/mul definitions
dzaima
2025-02-03 19:43:16 +0200
-
44d87fef78
fix AVX-512 build
dzaima
2025-02-03 19:31:18 +0200
-
8c7c0227a5
first_hom, try_first_hom, popc_hom
dzaima
2025-02-03 17:31:44 +0200
-
c64cdb2c61
make store_(blended|masked)_(hom|top) accept element pointer
dzaima
2025-02-03 04:18:23 +0200
-
cd373e2ae6
remove (load|store)_low
dzaima
2025-02-03 03:51:08 +0200
-
61565bfa17
define load_low/store_low in terms of vl-based load/store
dzaima
2025-02-03 03:37:38 +0200
-
848813331a
element-pointer-based vector loads & stores
dzaima
2025-02-03 03:17:23 +0200
-
91800ddd1e
more direct mask_none all-bits-zeroes check
dzaima
2025-02-03 03:05:33 +0200
-
25faa71995
better NEON hom_to_int_ext
dzaima
2025-01-26 23:40:53 +0200
-
afc4aa81fa
more complete NEON widening multiply/add/subtract
dzaima
2025-01-26 20:56:36 +0200
-
49dd6e394a
mask.singeli loop renames
dzaima
2025-02-02 22:04:58 +0200
-
92f40ddbe2
mask.singeli def renames
dzaima
2025-02-02 22:38:21 +0200
-
b6578e43a1
renames of the rest of base.singeli
dzaima
2025-02-02 19:01:08 +0200
-
189ffa7d1f
bitops.singeli renames
dzaima
2025-02-02 18:08:31 +0200
-
f409ee8729
fix generic arch
dzaima
2025-02-02 00:42:43 +0200
-
a6266b2168
remove unnecessary defs
dzaima
2025-02-02 00:42:06 +0200
-
490285f1ca
andAllZero → and_bit_none
dzaima
2025-02-01 22:21:37 +0200
-
10ec04a76e
(load|store)Low → (load|store)_low
dzaima
2025-02-01 22:16:07 +0200
-
ad79ef71cf
more Singeli mask op renames
dzaima
2025-02-01 22:02:17 +0200
-
6f8b08bb1f
oneVal/oneType/allSame → one_val/one_type/all_same
dzaima
2025-02-01 21:41:01 +0200
-
a3e33366df
exportT → export_tab
dzaima
2025-02-01 21:37:08 +0200
-
70e2694f88
more Singeli NEON cleanup
dzaima
2025-01-29 19:25:09 +0200
-
b899180166
any_num → any_int where applicable
dzaima
2025-01-26 21:12:03 +0200
-
936300a492
any(Int|Num) → any_(int|num)
dzaima
2025-01-26 21:10:05 +0200
-
0357d57171
various Singeli NEON cleanup things
dzaima
2025-01-26 20:43:38 +0200
-
f3e7f4032c
get rid of custom NEON rev
dzaima
2025-01-26 02:07:55 +0200
-
6c7a444cd7
more consistent NEON naming
dzaima
2025-01-26 02:01:02 +0200
-
e3b30e5db7
(hom|top)Mask → (hom|top)_to_int
dzaima
2025-01-26 01:33:54 +0200
-
e9e1574d28
rearrange initial Singeli base defs
dzaima
2025-01-26 00:00:57 +0200
-
426c1b4bf8
(bit|top|hom)(Any|All) → (any|all)_(bit|top|hom)
dzaima
2025-01-25 23:01:23 +0200
-
c4afe7b329
(bit|top|hom)Blend → blend_(bit|top|hom)
dzaima
2025-01-25 22:22:41 +0200