Marshall Lochbaum
|
eda1cd8b50
|
More tuning based on dzaima's measurements
|
2025-02-26 22:01:37 -05:00 |
|
Marshall Lochbaum
|
a520ff70a1
|
Fix some NEON performance issues for row scans
|
2025-02-26 21:52:49 -05:00 |
|
Marshall Lochbaum
|
a775520927
|
Update scan implementation comments
|
2025-02-26 08:21:22 -05:00 |
|
Marshall Lochbaum
|
422e63bc12
|
Non-CLMUL SIMD ≠`
|
2025-02-26 08:21:22 -05:00 |
|
Marshall Lochbaum
|
d85d69e759
|
Improve baseline for ⊣`˘ to beat non-AVX2 on length ≥64
|
2025-02-25 20:26:51 -05:00 |
|
Marshall Lochbaum
|
709712f03c
|
Tuning; drop the scalar loose_mask branch for ∧∨ as it never seems faster
|
2025-02-25 19:33:26 -05:00 |
|
Marshall Lochbaum
|
b5ec2f5fa8
|
Extend loose_mask system to SSE and NEON (not always fast)
|
2025-02-25 19:28:51 -05:00 |
|
Marshall Lochbaum
|
fb413b1966
|
Enable vector max- min-, and wrapping plus-scan on NEON
Changes the results on NaNs, but they weren't consistent before
|
2025-02-24 22:08:49 -05:00 |
|
Marshall Lochbaum
|
317871db55
|
Extend unaligned <64-bit row scans from AVX2 to SSE, NEON
|
2025-02-24 21:47:46 -05:00 |
|
Marshall Lochbaum
|
b131914cbe
|
Factor out some common code
|
2025-02-24 21:13:19 -05:00 |
|
Marshall Lochbaum
|
0973d9b499
|
Medium-row ⊣˘ and ≠˘ with mask-aware carry
|
2025-02-24 21:13:19 -05:00 |
|
Marshall Lochbaum
|
1fef51a39e
|
AVX2 ∧ and ∨ with intermediate row sizes (64≤l<160)
|
2025-02-23 19:19:46 -05:00 |
|
Marshall Lochbaum
|
94e6b6cb3a
|
Better formula for within-word masked ∧ and ∨
|
2025-02-23 08:27:47 -05:00 |
|
Marshall Lochbaum
|
242a61db11
|
Faster <`, adding instructions to cut dependency chains
|
2025-02-18 16:29:49 -05:00 |
|
dzaima
|
e962195958
|
update Singeli submodule, use Singeli BQN output
|
2025-02-09 21:32:24 +02:00 |
|
dzaima
|
8c1040bd9f
|
cleaner vr?(add|sub)hn NEON defs
|
2025-02-08 18:37:46 +02:00 |
|
dzaima
|
c5d1d19157
|
update bytecode submodule
|
2025-02-08 17:36:44 +02:00 |
|
dzaima
|
09f2980ebf
|
more BMI and NEON defs
|
2025-02-08 17:36:44 +02:00 |
|
dzaima
|
bda9245ac3
|
another unnecessary tree_fold
|
2025-02-08 17:36:44 +02:00 |
|
dzaima
|
0d7a7652e3
|
better NEON all_hom{x:[16]u8}
|
2025-02-08 17:36:44 +02:00 |
|
dzaima
|
c792d47069
|
use Singeli a==b instead of a=(b)
|
2025-02-08 17:36:44 +02:00 |
|
dzaima
|
b12575722a
|
better NEON any_hom
but clang undoes this sometimes :/ https://github.com/llvm/llvm-project/issues/125611
|
2025-02-08 17:36:44 +02:00 |
|
dzaima
|
72cf36334c
|
make (any|all_(hom|top) accept mask or vl or multiple vectors
makes the previous commit superfluous, but still keeping it separate so that this one changes nothing
|
2025-02-08 17:36:44 +02:00 |
|
dzaima
|
341f3757e7
|
make all_hom{mask_none, vec} use simple path
|
2025-02-08 17:36:44 +02:00 |
|
dzaima
|
2cb15c936d
|
get rid of b(x) macro
|
2025-02-08 17:36:44 +02:00 |
|
dzaima
|
4af2fdafca
|
Merge pull request #132 from tankorsmash/update-error-messages
Use 𝕨 and 𝕩 inside error messages
|
2025-02-08 00:10:51 +02:00 |
|
dzaima
|
74483f3859
|
more spaces between 𝕨/𝕩 and names, re-remove •SH args
sh_c1 calls sh_c2, so the arity isn't function-specific
|
2025-02-07 07:57:51 +02:00 |
|
tankorsmash
|
b945e48d29
|
add spacing around system functions; add missing args for SH; fix wrong args for bit._cast
|
2025-02-06 20:17:18 -05:00 |
|
dzaima
|
e3a4132722
|
clean up error messages
incl. correcting •_timed's message being wrong
|
2025-02-06 12:32:19 +02:00 |
|
tankorsmash
|
308f93368e
|
ran test error message updater
|
2025-02-05 20:05:03 -05:00 |
|
tankorsmash
|
3362d46854
|
add best effort guesses for error messages in core/stuff and opt/comp.c
|
2025-02-05 20:02:44 -05:00 |
|
tankorsmash
|
5790d126cd
|
add best effort guesses for many more builtin error messages
|
2025-02-05 19:56:08 -05:00 |
|
tankorsmash
|
63ee20b6fe
|
add best effort guesses for many builtin error messages
|
2025-02-05 19:40:27 -05:00 |
|
tankorsmash
|
dd5d17ca83
|
add best effort guesses for builtins/cmp,fns,fold.c
I'm not sure about modifiers so I left them without arguments
|
2025-02-05 19:32:49 -05:00 |
|
tankorsmash
|
559b3f0d6e
|
add best effort guesses for w and x for builtins/cells.c
|
2025-02-04 19:00:15 -05:00 |
|
tankorsmash
|
dce39a1b05
|
add w and x for builtins/arithm.c
|
2025-02-04 18:57:25 -05:00 |
|
tankorsmash
|
6be291dd6b
|
add w and x for builtins/arithd.c
|
2025-02-04 18:55:14 -05:00 |
|
tankorsmash
|
80d1681b18
|
prefer using w and x inside error messages
|
2025-02-03 20:39:44 -05:00 |
|
dzaima
|
d17c6ebe8e
|
actually fix AVX-512 more
|
2025-02-03 19:58:15 +02:00 |
|
dzaima
|
0bc491e931
|
fix AVX-512 more
|
2025-02-03 19:56:04 +02:00 |
|
dzaima
|
3a8f2a601a
|
better NEON widening add/sub/mul definitions
|
2025-02-03 19:45:21 +02:00 |
|
dzaima
|
44d87fef78
|
fix AVX-512 build
|
2025-02-03 19:31:18 +02:00 |
|
dzaima
|
8c7c0227a5
|
first_hom, try_first_hom, popc_hom
|
2025-02-03 17:32:21 +02:00 |
|
dzaima
|
c64cdb2c61
|
make store_(blended|masked)_(hom|top) accept element pointer
|
2025-02-03 04:20:33 +02:00 |
|
dzaima
|
cd373e2ae6
|
remove (load|store)_low
|
2025-02-03 03:53:11 +02:00 |
|
dzaima
|
61565bfa17
|
define load_low/store_low in terms of vl-based load/store
|
2025-02-03 03:37:38 +02:00 |
|
dzaima
|
848813331a
|
element-pointer-based vector loads & stores
|
2025-02-03 03:17:23 +02:00 |
|
dzaima
|
91800ddd1e
|
more direct mask_none all-bits-zeroes check
|
2025-02-03 03:05:58 +02:00 |
|
dzaima
|
25faa71995
|
better NEON hom_to_int_ext
|
2025-02-03 02:37:07 +02:00 |
|
dzaima
|
afc4aa81fa
|
more complete NEON widening multiply/add/subtract
|
2025-02-03 02:37:07 +02:00 |
|