Marshall Lochbaum
|
b829076271
|
Put CPU-size transpose functions in a table
|
2023-03-29 12:37:15 -04:00 |
|
Marshall Lochbaum
|
410d51501d
|
Check for AVX2 in Singeli transpose so it can build on non-x86 architectures
|
2023-03-29 12:37:15 -04:00 |
|
Marshall Lochbaum
|
bf04b3aab0
|
Move w128i and similar from sse3 and avx.singeli to base
|
2023-03-28 16:11:46 -04:00 |
|
Marshall Lochbaum
|
ebbddf9dcf
|
Move height/width 2 transposes to Singeli
|
2023-03-28 16:11:46 -04:00 |
|
dzaima
|
21b9ad5c3c
|
don't include debug.singeli
|
2023-03-27 17:53:01 +03:00 |
|
dzaima
|
fa8437ca25
|
don't use _mm256_loadu2_m128i
doesn't exist on old gcc
|
2023-03-23 18:21:34 +02:00 |
|
Marshall Lochbaum
|
699faea69c
|
Dedicated width-overflow loop for SIMD transpose
|
2023-03-22 17:34:37 -04:00 |
|
Marshall Lochbaum
|
5a2bc15f2a
|
Overlap SIMD transpose on width too
|
2023-03-22 15:14:09 -04:00 |
|
Marshall Lochbaum
|
61eefe0776
|
Fix writing past end in i16 transpose with overlapped halves
|
2023-03-22 15:14:09 -04:00 |
|
Marshall Lochbaum
|
8ff40cb2e5
|
Overlap SIMD transpose to handle uneven heights (not widths yet)
|
2023-03-22 15:14:09 -04:00 |
|
Marshall Lochbaum
|
fad7f3aa8b
|
Simplify
|
2023-03-22 15:14:09 -04:00 |
|
Marshall Lochbaum
|
dd141add3f
|
Merge i16 SIMD transpose with the rest of them
|
2023-03-22 15:14:09 -04:00 |
|
Marshall Lochbaum
|
9673771187
|
Combine code for the different transpose kernel geometries
|
2023-03-22 15:14:09 -04:00 |
|
Marshall Lochbaum
|
e40feaa81c
|
Make transpose kernel code type-generic
|
2023-03-22 15:14:09 -04:00 |
|
Marshall Lochbaum
|
923c485cc2
|
Use packed-halves transpose kernel for 8x8 i16
|
2023-03-22 15:14:09 -04:00 |
|
Marshall Lochbaum
|
2a8e6e9c8a
|
Separate most transpose kernel logic from loops and move i8 case into main
|
2023-03-22 15:14:08 -04:00 |
|
Marshall Lochbaum
|
7d800bf349
|
SIMD transpose on 1-byte elements
|
2023-03-22 15:14:08 -04:00 |
|
Marshall Lochbaum
|
5fccf4cda3
|
Refactoring; check for small transpose width/height in Singeli, not C
|
2023-03-22 15:14:08 -04:00 |
|
Marshall Lochbaum
|
0e2e315e51
|
Allow an 8x8 row for 2-byte transpose
|
2023-03-22 15:14:08 -04:00 |
|
Marshall Lochbaum
|
239c765998
|
SIMD transpose on 2-byte elements
|
2023-03-22 15:14:08 -04:00 |
|
Marshall Lochbaum
|
f6c6e72661
|
More transpose kernel refactoring
|
2023-03-22 15:14:08 -04:00 |
|
Marshall Lochbaum
|
c0aaa6f615
|
SIMD transpose on 8-byte elements
|
2023-03-22 15:14:08 -04:00 |
|
Marshall Lochbaum
|
a0e85db702
|
Refactor vtranspose with more general code
|
2023-03-22 15:14:08 -04:00 |
|
Marshall Lochbaum
|
ca44d41daa
|
Faster i32 transpose when height is a multiple of 16 by writing cache lines
|
2023-03-22 15:14:08 -04:00 |
|
Marshall Lochbaum
|
bfb2519aed
|
Remove transpose_rec (was unused): the whole cache-oblivious thing seems to be useless
|
2023-03-22 15:14:08 -04:00 |
|
dzaima
|
db8a4d3af0
|
don't use def as a variable name
|
2023-03-12 00:11:30 +02:00 |
|
dzaima
|
1178e5df56
|
new Singeli syntax
|
2023-03-11 23:17:30 +02:00 |
|
dzaima
|
397f8745ce
|
go back to regular completions if no system commands match
|
2023-02-27 23:51:35 +02:00 |
|
dzaima
|
6d03071ae6
|
SIMD i32 transpose
|
2023-02-26 01:19:54 +02:00 |
|
dzaima
|
c32285dba9
|
Singeli copy from unaligned bitarr
|
2023-02-18 11:52:45 +02:00 |
|
dzaima
|
8e720a2faa
|
use loadLow & storeLow in neq.singeli
|
2023-02-17 23:41:26 +02:00 |
|
dzaima
|
1e6b612e13
|
NEON copy.singeli
|
2023-02-17 22:10:21 +02:00 |
|
dzaima
|
089e2a38c6
|
update Singeli things
|
2023-02-16 21:31:19 +02:00 |
|
dzaima
|
a84ca6c5d6
|
strict prototypes
|
2023-02-03 15:33:31 +02:00 |
|
dzaima
|
6baa96c1e3
|
NEON squeeze
|
2023-01-25 02:22:53 +02:00 |
|
dzaima
|
88410c02e5
|
prep for NEON squeeze
|
2023-01-24 22:21:38 +02:00 |
|
dzaima
|
92c855920b
|
unroll int×u1
|
2023-01-23 21:43:39 +02:00 |
|
dzaima
|
721dd8889b
|
monadic arith
|
2023-01-23 01:22:40 +02:00 |
|
dzaima
|
7284eb7010
|
more manual unrolling in dyarith.singeli
|
2023-01-22 22:49:44 +02:00 |
|
dzaima
|
162adbca68
|
more Singeli utilities
|
2023-01-22 18:04:52 +02:00 |
|
dzaima
|
86c2aa7e2c
|
unroll non-overflowing dyarith loops for aarch64
|
2023-01-22 04:22:21 +02:00 |
|
dzaima
|
afe6707654
|
dyarith NEON support
|
2023-01-22 03:27:41 +02:00 |
|
dzaima
|
4945a90ff0
|
valgrind changes
|
2023-01-18 02:05:24 +02:00 |
|
dzaima
|
5de565f1b0
|
use 'debug/printf' for Singeli printf
|
2023-01-17 01:01:13 +02:00 |
|
dzaima
|
6c89982bbc
|
unrolled Singeli loop option
|
2023-01-15 22:51:31 +02:00 |
|
dzaima
|
6d79ce9fb1
|
use arch-independent names for things suppported on both x86-64 & NEON
|
2022-12-24 15:26:05 +02:00 |
|
dzaima
|
d38316e670
|
BQN-based build system
|
2022-12-23 23:09:55 +02:00 |
|
dzaima
|
d05621f8f4
|
generic vector width calculation for NEON-supported files
|
2022-12-20 00:02:46 +02:00 |
|
dzaima
|
b91e72567d
|
update Singeli submodule, conditional NEON includes
|
2022-12-19 23:31:44 +02:00 |
|
dzaima
|
30a6de0a31
|
add unrolling to aarch64 cmp.singeli
|
2022-12-18 22:45:42 +02:00 |
|