Commit Graph

3605 Commits

Author SHA1 Message Date
dzaima
07e74d62d8 prepare for merging sse2.singeli and sse.singeli
to preserve sse2.singeli as the base file through blames
2025-04-27 22:17:38 +03:00
dzaima
ccb1f5fa34 proper x86 i32→float convert definiton 2025-04-27 22:17:38 +03:00
dzaima
f72f554a54 remove duplicate and_bit_none SSE definition 2025-04-27 22:16:50 +03:00
dzaima
a5840d0eb8 fix AVX-512 widen arch check 2025-04-27 19:12:51 +03:00
dzaima
e3a985c6e2 proper packs128 instead of packQ 2025-04-27 19:11:15 +03:00
dzaima
7bf55793c5 make build.bqn error on lack of output even if there's no errout 2025-04-27 19:07:39 +03:00
dzaima
26055d0146 generalized x86 load/store low elts 2025-04-27 19:07:39 +03:00
dzaima
70705f9bfe move bmi.singeli into base x86 include 2025-04-27 19:07:39 +03:00
dzaima
98f1c97653 is_pow2 helper 2025-04-24 18:31:25 +03:00
dzaima
0ec37303ea use specified-output-type fold_addw 2025-04-24 00:26:49 +03:00
dzaima
3d52d14101 use vecfold.singeli's x86 fold_addw in count.singeli 2025-04-24 00:26:49 +03:00
dzaima
5df3712748 allow specifying result type of fold_addw, x86 impls for it 2025-04-24 00:26:49 +03:00
dzaima
7237ad1abb more Singeli renames: no more floor,ceil,abs,adds,subs,vshl 2025-04-24 00:23:50 +03:00
dzaima
2202726005 rename isvec→vect and isprim→ptrt 2025-04-24 00:23:50 +03:00
dzaima
6eb454f859 get rid of the single isptr usage 2025-04-24 00:23:50 +03:00
dzaima
c1662c83de move x86 mul32 and mulh defs to x86.singeli 2025-04-24 00:23:50 +03:00
dzaima
e46bbf398e 512-bit & arbitrary-width vector check helpers 2025-04-24 00:23:50 +03:00
dzaima
64a71688fe use util/kind checks instead of custom isreg/istype/istup 2025-04-24 00:23:50 +03:00
dzaima
ee1668c7ea use __min & __max directly instead of custom min/max
might make sense to bring min/max back later as aliases, but the current situation of min!=__min was stupid
2025-04-24 00:21:48 +03:00
dzaima
8beff254e2 x86 saturating multiply sum defs 2025-04-24 00:00:32 +03:00
dzaima
44ee417d40 use pattern matching for NEON vfold cases 2025-04-24 00:00:32 +03:00
dzaima
c95482e8e0 gcc-15 should fix 32-bit x86 miscompilation 2025-04-24 00:00:32 +03:00
dzaima
d2b9f4a02e a bit of src/README.md cleanup 2025-04-24 00:00:32 +03:00
dzaima
64339466cc more clear messages on empty_free / builtin_free 2025-04-24 00:00:32 +03:00
dzaima
f9b3aba234 fix wrong integer types in varargs
problematic in 32-bit builds
2025-04-24 00:00:32 +03:00
dzaima
732f52630a use AVX-512 integer narrow if available 2025-04-24 00:00:32 +03:00
dzaima
528fea645a nicer store-low in bins.singeli
also means it doesn't break on width>256
2025-04-23 22:58:58 +03:00
dzaima
78359afc71 move x86 int widen into x86.singeli
+ AVX-512 defs for it & (undef|zero)_promote; + add extract{V, x:V0, k}
2025-04-03 03:53:31 +03:00
dzaima
dbe97cf0e0 move some basic things into x86.singeli 2025-04-03 03:53:25 +03:00
dzaima
5928bd91bc note problematic latency of dpbusd/dpwssd 2025-04-03 00:37:11 +03:00
dzaima
7ed5ba3b2f list available options on wrong clean= / rebuild= 2025-04-03 00:36:49 +03:00
dzaima
63b7fab72c better w+x & w-x overflow checks 2025-03-26 04:16:38 +02:00
dzaima
09642a354f do reqsz != (size_t) reqsz check in NO_MMAP builds too 2025-03-24 18:12:55 +02:00
dzaima
68a969b417 get clang to do less horrible codegen for index calculations
the do-while loop isn't actually necessary, just moving the unr offset is enough, but I'm doing it anyway
2025-03-24 18:12:55 +02:00
dzaima
ad73e075e0 unroll bitwise arith 2025-03-24 18:12:55 +02:00
dzaima
e3239d29bd enable 32-byte alignment for array data 2025-03-24 18:12:55 +02:00
dzaima
60b848f1b7 don't require strict subset type for trunc 2025-03-22 19:09:51 +02:00
dzaima
c7632c23a2 actually, can define the x86 sadbw-using vfold for i8
it's unsigned, but that doesn't matter when just taking the low 8 bits
2025-03-22 18:21:09 +02:00
dzaima
4e03a6310c fix proper-fills-only error message 2025-03-21 23:35:38 +02:00
dzaima
fa2fccf218 update limitations section in readme 2025-03-21 21:40:06 +02:00
dzaima
ae29c4ad45 fix usz=32 build 2025-03-21 18:08:12 +02:00
dzaima
9a45762ecd more groupstat tests
test change counter for i8 better, and make sure empty input functions as required
2025-03-21 06:01:55 +02:00
dzaima
609f3418d8 use offset loads instead of vec_merge_shift_right for groupstat 2025-03-21 06:01:27 +02:00
dzaima
e2b4dbcf20 use any_hom / all_hom for (any|all)_accumulator 2025-03-21 06:01:27 +02:00
dzaima
05d87dd7df move groupstat to fancy accumulator 2025-03-21 06:01:26 +02:00
dzaima
97260e0051 special-cased x86 SSE2 i8 min/max accumulator 2025-03-21 04:32:26 +02:00
dzaima
f503880cc3 use fancy accumulator for getRange 2025-03-21 04:32:26 +02:00
dzaima
e1b62b95b6 fancy Singeli accumulator; use for integer sum 2025-03-21 04:32:26 +02:00
dzaima
3b1239d499 support requesting a flush every k iterations in for_mu 2025-03-21 04:32:26 +02:00
dzaima
9c2ea18e22 use x86 sad for vfold
not used by anything, but it's here
2025-03-21 04:32:26 +02:00