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 |
|
dzaima
|
6c6f6e4013
|
add x86 sad & madd intrinsics
|
2025-03-21 04:32:26 +02:00 |
|
dzaima
|
9876d1d622
|
reduce Singeli-generated C noise on constant broadcasts
|
2025-03-21 04:32:26 +02:00 |
|
dzaima
|
d6d1ab286f
|
update Singeli submodule
|
2025-03-21 04:32:26 +02:00 |
|