Commit Graph

  • 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