mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
remap: cleanup assembler a little
This commit is contained in:
parent
9d25467964
commit
59070892ed
2 changed files with 26 additions and 29 deletions
|
|
@ -51,7 +51,7 @@
|
||||||
" punpckl"#s" %%mm4, %%mm4 \n\t" \
|
" punpckl"#s" %%mm4, %%mm4 \n\t" \
|
||||||
" punpckh"#s" %%mm5, %%mm5 \n\t" \
|
" punpckh"#s" %%mm5, %%mm5 \n\t" \
|
||||||
" punpckl"#s" %%mm6, %%mm6 \n\t" \
|
" punpckl"#s" %%mm6, %%mm6 \n\t" \
|
||||||
" punpckh"#s" %%mm7, %%mm7 \n\t" \
|
" punpckh"#s" %%mm7, %%mm7 \n\t"
|
||||||
|
|
||||||
#define STORE_SAMPLES \
|
#define STORE_SAMPLES \
|
||||||
" movq %%mm0, (%0) \n\t" \
|
" movq %%mm0, (%0) \n\t" \
|
||||||
|
|
@ -67,32 +67,31 @@
|
||||||
|
|
||||||
#define HANDLE_SINGLE(s) \
|
#define HANDLE_SINGLE(s) \
|
||||||
" movd (%1), %%mm0 \n\t" \
|
" movd (%1), %%mm0 \n\t" \
|
||||||
" movq %%mm0, %%mm1 \n\t" \
|
|
||||||
" punpckl"#s" %%mm0, %%mm0 \n\t" \
|
" punpckl"#s" %%mm0, %%mm0 \n\t" \
|
||||||
" movq %%mm0, (%0) \n\t" \
|
" movq %%mm0, (%0) \n\t" \
|
||||||
" add $4, %1 \n\t" \
|
" add $4, %1 \n\t" \
|
||||||
" add $8, %0 \n\t"
|
" add $8, %0 \n\t"
|
||||||
|
|
||||||
#define MONO_TO_STEREO(s) \
|
#define MONO_TO_STEREO(s) \
|
||||||
" mov %3, %2 \n\t" \
|
" mov %3, %2 \n\t" \
|
||||||
" sar $3, %2 \n\t" \
|
" sar $3, %2 \n\t" \
|
||||||
" cmp $0, %2 \n\t" \
|
" cmp $0, %2 \n\t" \
|
||||||
" je 2f \n\t" \
|
" je 2f \n\t" \
|
||||||
"1: \n\t" \
|
"1: \n\t" \
|
||||||
LOAD_SAMPLES \
|
LOAD_SAMPLES \
|
||||||
UNPACK_SAMPLES(s) \
|
UNPACK_SAMPLES(s) \
|
||||||
STORE_SAMPLES \
|
STORE_SAMPLES \
|
||||||
" dec %2 \n\t" \
|
" dec %2 \n\t" \
|
||||||
" jne 1b \n\t" \
|
" jne 1b \n\t" \
|
||||||
"2: \n\t" \
|
"2: \n\t" \
|
||||||
" mov %3, %2 \n\t" \
|
" mov %3, %2 \n\t" \
|
||||||
" and $7, %2 \n\t" \
|
" and $7, %2 \n\t" \
|
||||||
" je 4f \n\t" \
|
" je 4f \n\t" \
|
||||||
"3: \n\t" \
|
"3: \n\t" \
|
||||||
HANDLE_SINGLE(s) \
|
HANDLE_SINGLE(s) \
|
||||||
" dec %2 \n\t" \
|
" dec %2 \n\t" \
|
||||||
" jne 3b \n\t" \
|
" jne 3b \n\t" \
|
||||||
"4: \n\t" \
|
"4: \n\t" \
|
||||||
" emms \n\t"
|
" emms \n\t"
|
||||||
|
|
||||||
#if defined (__i386__) || defined (__amd64__)
|
#if defined (__i386__) || defined (__amd64__)
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@
|
||||||
" punpckl"#s" %%xmm4, %%xmm4 \n\t" \
|
" punpckl"#s" %%xmm4, %%xmm4 \n\t" \
|
||||||
" punpckh"#s" %%xmm5, %%xmm5 \n\t" \
|
" punpckh"#s" %%xmm5, %%xmm5 \n\t" \
|
||||||
" punpckl"#s" %%xmm6, %%xmm6 \n\t" \
|
" punpckl"#s" %%xmm6, %%xmm6 \n\t" \
|
||||||
" punpckh"#s" %%xmm7, %%xmm7 \n\t" \
|
" punpckh"#s" %%xmm7, %%xmm7 \n\t"
|
||||||
|
|
||||||
#define STORE_SAMPLES \
|
#define STORE_SAMPLES \
|
||||||
" movdqu %%xmm0, (%0) \n\t" \
|
" movdqu %%xmm0, (%0) \n\t" \
|
||||||
|
|
@ -66,10 +66,9 @@
|
||||||
" add $128, %0 \n\t"
|
" add $128, %0 \n\t"
|
||||||
|
|
||||||
#define HANDLE_SINGLE(s) \
|
#define HANDLE_SINGLE(s) \
|
||||||
" movd (%1), %%mm0 \n\t" \
|
" movd (%1), %%xmm0 \n\t" \
|
||||||
" movq %%mm0, %%mm1 \n\t" \
|
" punpckl"#s" %%xmm0, %%xmm0 \n\t" \
|
||||||
" punpckl"#s" %%mm0, %%mm0 \n\t" \
|
" movq %%xmm0, (%0) \n\t" \
|
||||||
" movq %%mm0, (%0) \n\t" \
|
|
||||||
" add $4, %1 \n\t" \
|
" add $4, %1 \n\t" \
|
||||||
" add $8, %0 \n\t"
|
" add $8, %0 \n\t"
|
||||||
|
|
||||||
|
|
@ -92,8 +91,7 @@
|
||||||
HANDLE_SINGLE(s) \
|
HANDLE_SINGLE(s) \
|
||||||
" dec %2 \n\t" \
|
" dec %2 \n\t" \
|
||||||
" jne 3b \n\t" \
|
" jne 3b \n\t" \
|
||||||
"4: \n\t" \
|
"4: \n\t"
|
||||||
" emms \n\t"
|
|
||||||
|
|
||||||
static void remap_mono_to_stereo_sse (pa_remap_t *m, void *dst, const void *src, unsigned n) {
|
static void remap_mono_to_stereo_sse (pa_remap_t *m, void *dst, const void *src, unsigned n) {
|
||||||
pa_reg_x86 temp;
|
pa_reg_x86 temp;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue