Commit Graph

62 Commits

Author SHA1 Message Date
dzaima
79fc8d5116 use direct copy on known-different-eltype arrays 2025-03-04 23:18:30 +02:00
Marshall Lochbaum
d9a80ee83b Test bound and length instead of rank in scan where possible 2025-03-04 10:59:40 -05:00
dzaima
9fdeb5379a fix old gcc 2025-03-04 04:04:04 +02:00
Marshall Lochbaum
010e6a10d4 Implementation comments for new high-rank scans 2025-03-03 19:56:53 -05:00
Marshall Lochbaum
180c79e751 Strided +`, widening and re-trying on overflow 2025-03-03 06:54:40 -05:00
Marshall Lochbaum
87a7d066c8 Strided ⌊⌈ scans with shuffles 2025-03-03 06:54:40 -05:00
Marshall Lochbaum
ee6b91be8a Basic strided ∧∨≠= scan implementations 2025-03-03 06:54:40 -05:00
Marshall Lochbaum
90d0f3015a Use rank-1 scan special code whenever cell size is 1 2025-03-03 06:54:40 -05:00
Marshall Lochbaum
a775520927 Update scan implementation comments 2025-02-26 08:21:22 -05:00
Marshall Lochbaum
242a61db11 Faster <`, adding instructions to cut dependency chains 2025-02-18 16:29:49 -05:00
dzaima
e3a4132722 clean up error messages
incl. correcting •_timed's message being wrong
2025-02-06 12:32:19 +02:00
tankorsmash
63ee20b6fe add best effort guesses for many builtin error messages 2025-02-05 19:40:27 -05:00
dzaima
3d4a31ae6f access function/modifier runtime ID through macro 2024-10-10 02:38:17 +03:00
Marshall Lochbaum
56cb10d6e5 Min/max scan that can skip unused argument vectors sometimes 2024-08-20 15:26:07 -04:00
dzaima
37a3694df7 restore usage of bitarr_ptr where appropriate 2024-08-15 17:36:43 +03:00
dzaima
5098781ffc replace all bitarr_ptr usages with bitany_ptr 2024-08-15 17:36:43 +03:00
dzaima
a9460da19c more missing NEON comments 2024-08-14 05:18:13 +03:00
dzaima
452065adaf add magic incantation to make optimizer happy 2024-06-26 05:30:09 +03:00
dzaima
b6bf3f2da6 suppress clang ubsan warning
it's a true warning of actual UB and could conceivably be taken advantage of by a compiler, but is not currently so keep things pretty for now
2024-06-26 03:36:02 +03:00
dzaima
6c110a29ee use loadu_* & storeu_* for unaligned loads/stores 2024-06-26 03:09:43 +03:00
Marshall Lochbaum
355efd1eb4 Insert-cells and scan implementation comments, and minor tweaks 2024-06-19 18:36:53 -04:00
Marshall Lochbaum
1e6c7057e8 Extend boolean F`˘ special code to any frame and cell rank 2024-06-18 07:46:31 -04:00
Marshall Lochbaum
f0f130c42e Use a lookup table for evenly-spaced masks, getting division results from those 2024-06-18 07:46:31 -04:00
Marshall Lochbaum
6d27dd391b Clean up scan_rows_bit logic and implement -˘ as (2×⊣˘)-+`˘ 2024-06-18 07:46:31 -04:00
Marshall Lochbaum
efde979fe9 Fast boolean ⊣`˘ 2024-06-18 07:46:31 -04:00
Marshall Lochbaum
3b61568fda Implement boolean list scans ->≤≥ using more common scans 2024-06-18 07:46:31 -04:00
Marshall Lochbaum
fde29684d7 Tweak for faster +`˘ on very short boolean rows 2024-06-18 07:46:31 -04:00
Marshall Lochbaum
8e47221c9f Implement monadic boolean = with ≠ 2024-06-18 07:46:31 -04:00
Marshall Lochbaum
8331a05547 Boolean ≠`˘ implementation 2024-06-18 07:46:31 -04:00
Marshall Lochbaum
bd64e8bcd2 Faster boolean +`˘ for short rows based on flattened prefix sum 2024-06-18 07:46:31 -04:00
Marshall Lochbaum
5591d0f4f0 Boolean row-wise scans ∧˘ and ∨˘ 2024-06-18 07:46:31 -04:00
dzaima
72893fc2f5 cell-wise PervasiveDy` highRank 2023-12-15 21:43:07 +02:00
dzaima
d7c153286e gc tests, more reuse removal 2023-12-04 12:07:03 +02:00
dzaima
ecb2d5f63a fix GC referencing bug in reusing 𝕨𝔽`𝕩 by not bothering to reuse 2023-12-04 01:27:38 +02:00
Marshall Lochbaum
d16ba6c3b1 Move xor-scan to scan.singeli; remove neq.singeli 2023-08-26 07:26:33 -04:00
Marshall Lochbaum
00c454d37a Add generic-architecture versions of Singeli scans 2023-08-26 07:26:33 -04:00
dzaima
9cfc3f3f25 various changes on filling arrays with the same element 2023-07-12 16:23:03 +03:00
dzaima
56a1fc3637 use float getting functions for getting floats 2023-07-10 23:48:07 +03:00
dzaima
9b0299d1a5 fix (<1)≠`5⥊1 2023-07-10 23:25:28 +03:00
dzaima
53266ffd88 fix (<1)⌈`↕10 2023-07-10 23:21:36 +03:00
Marshall Lochbaum
a8cead1d3d Fast cases for tacks, constant operands, and short arguments in scans 2023-05-18 10:54:56 -04:00
dzaima
0598ce8357 use getFillQ less 2023-05-09 00:14:14 +03:00
dzaima
865257fdb6 more header file cleanup 2023-04-29 17:39:13 +03:00
dzaima
aa5ed7cc7a BB2B & BBB2B → FC1 & FC2 2023-04-29 15:31:31 +03:00
dzaima
44ce033e73 fix leak in dyadic scan with an empty argument 2023-04-14 00:05:23 +03:00
dzaima
52dc05f228 SIMD +` 2023-04-08 20:04:23 +03:00
dzaima
c3fe3c5b42 more Singeli utilities, more Scan fixing 2023-04-07 21:09:46 +03:00
dzaima
3a7bce3aab a bunch of Scan fixes & improvements 2023-04-07 20:41:34 +03:00
dzaima
3a45eac1aa separate SSE2, implement SSE2 dyarith & bitsel
also separate maskstore to homogeneous & top bit mask variants, and make blend require equal element widths
2023-04-01 20:40:23 +03:00
dzaima
ca0c100b73 name normalization for •ns.Get & •ns.Has
also fix •ns.Has error message & rename some function declarations
2023-03-19 23:27:05 +02:00