[PATCH 6/6 V2] [pcm_dmix assembly] (minor) give more freedom over the constraints
frederic.recoules at univ-grenoble-alpes.fr
frederic.recoules at univ-grenoble-alpes.fr
Wed Apr 29 21:10:39 CEST 2020
From: Frédéric Recoules <frederic.recoules at orange.fr>
Signed-off-by: Frédéric Recoules <frederic.recoules at orange.fr>
---
src/pcm/pcm_dmix_i386.h | 30 +++++++++++++++---------------
src/pcm/pcm_dmix_x86_64.h | 18 +++++++++---------
2 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/src/pcm/pcm_dmix_i386.h b/src/pcm/pcm_dmix_i386.h
index b28ae787..65ed6d43 100644
--- a/src/pcm/pcm_dmix_i386.h
+++ b/src/pcm/pcm_dmix_i386.h
@@ -149,13 +149,13 @@ static void MIX_AREAS_16(unsigned int size,
# ifdef BOUNDED_EBX
"\tmovl %[old_ebx], %%ebx\n" /* ebx is GOT pointer (-fPIC) */
# endif
- : [size] "+m" (size)
+ : [size] "+&rm" (size)
# ifdef BOUNDED_EBX
, [old_ebx] "=m" (old_ebx)
# endif
: [dst] "m" (dst), [src] "m" (src), [sum] "m" (sum),
- [dst_step] "m" (dst_step), [src_step] "m" (src_step),
- [sum_step] "m" (sum_step)
+ [dst_step] "im" (dst_step), [src_step] "im" (src_step),
+ [sum_step] "im" (sum_step)
: "esi", "edi", "edx", "ecx", "eax", "memory", "cc"
# ifndef BOUNDED_EBX
, "ebx"
@@ -249,13 +249,13 @@ static void MIX_AREAS_16_MMX(unsigned int size,
# ifdef BOUNDED_EBX
"\tmovl %[old_ebx], %%ebx\n" /* ebx is GOT pointer (-fPIC) */
# endif
- : [size] "+m" (size)
+ : [size] "+&rm" (size)
# ifdef BOUNDED_EBX
, [old_ebx] "=m" (old_ebx)
# endif
: [dst] "m" (dst), [src] "m" (src), [sum] "m" (sum),
- [dst_step] "m" (dst_step), [src_step] "m" (src_step),
- [sum_step] "m" (sum_step)
+ [dst_step] "im" (dst_step), [src_step] "im" (src_step),
+ [sum_step] "im" (sum_step)
: "esi", "edi", "edx", "ecx", "eax", "memory", "cc"
# ifndef BOUNDED_EBX
, "ebx"
@@ -377,13 +377,13 @@ static void MIX_AREAS_32(unsigned int size,
# ifdef BOUNDED_EBX
"\tmovl %[old_ebx], %%ebx\n" /* ebx is GOT pointer (-fPIC) */
# endif
- : [size] "+m" (size)
+ : [size] "+&rm" (size)
# ifdef BOUNDED_EBX
, [old_ebx] "=m" (old_ebx)
# endif
: [dst] "m" (dst), [src] "m" (src), [sum] "m" (sum),
- [dst_step] "m" (dst_step), [src_step] "m" (src_step),
- [sum_step] "m" (sum_step)
+ [dst_step] "im" (dst_step), [src_step] "im" (src_step),
+ [sum_step] "im" (sum_step)
: "esi", "edi", "edx", "ecx", "eax", "memory", "cc"
# ifndef BOUNDED_EBX
, "ebx"
@@ -492,13 +492,13 @@ static void MIX_AREAS_24(unsigned int size,
# ifdef BOUNDED_EBX
"\tmovl %[old_ebx], %%ebx\n" /* ebx is GOT pointer (-fPIC) */
# endif
- : [size] "+m" (size)
+ : [size] "+&rm" (size)
# ifdef BOUNDED_EBX
, [old_ebx] "=m" (old_ebx)
# endif
: [dst] "m" (dst), [src] "m" (src), [sum] "m" (sum),
- [dst_step] "m" (dst_step), [src_step] "m" (src_step),
- [sum_step] "m" (sum_step)
+ [dst_step] "im" (dst_step), [src_step] "im" (src_step),
+ [sum_step] "im" (sum_step)
: "esi", "edi", "edx", "ecx", "eax", "memory", "cc"
# ifndef BOUNDED_EBX
, "ebx"
@@ -600,13 +600,13 @@ static void MIX_AREAS_24_CMOV(unsigned int size,
# ifdef BOUNDED_EBX
"\tmovl %[old_ebx], %%ebx\n" /* ebx is GOT pointer (-fPIC) */
# endif
- : [size] "+m" (size)
+ : [size] "+&rm" (size)
# ifdef BOUNDED_EBX
, [old_ebx] "=m" (old_ebx)
# endif
: [dst] "m" (dst), [src] "m" (src), [sum] "m" (sum),
- [dst_step] "m" (dst_step), [src_step] "m" (src_step),
- [sum_step] "m" (sum_step)
+ [dst_step] "im" (dst_step), [src_step] "im" (src_step),
+ [sum_step] "im" (sum_step)
: "esi", "edi", "edx", "ecx", "eax", "memory", "cc"
# ifndef BOUNDED_EBX
, "ebx"
diff --git a/src/pcm/pcm_dmix_x86_64.h b/src/pcm/pcm_dmix_x86_64.h
index f543a134..4848ff80 100644
--- a/src/pcm/pcm_dmix_x86_64.h
+++ b/src/pcm/pcm_dmix_x86_64.h
@@ -122,13 +122,13 @@ static void MIX_AREAS_16(unsigned int size,
# ifdef BOUNDED_RBX
"\tmovq %[old_rbx], %%rbx\n"
# endif
- : [size] "+m" (size)
+ : [size] "+&rm" (size)
# ifdef BOUNDED_RBX
, [old_rbx] "=m" (old_rbx)
# endif
: [dst] "m" (dst), [src] "m" (src), [sum] "m" (sum),
- [dst_step] "m" (dst_step), [src_step] "m" (src_step),
- [sum_step] "m" (sum_step)
+ [dst_step] "im" (dst_step), [src_step] "im" (src_step),
+ [sum_step] "im" (sum_step)
: "rsi", "rdi", "edx", "ecx", "eax", "memory", "cc"
# ifndef BOUNDED_RBX
, "rbx"
@@ -252,13 +252,13 @@ static void MIX_AREAS_32(unsigned int size,
# ifdef BOUNDED_RBX
"\tmovq %[old_rbx], %%rbx\n"
# endif
- : [size] "+m" (size)
+ : [size] "+&rm" (size)
# ifdef BOUNDED_RBX
, [old_rbx] "=m" (old_rbx)
# endif
: [dst] "m" (dst), [src] "m" (src), [sum] "m" (sum),
- [dst_step] "m" (dst_step), [src_step] "m" (src_step),
- [sum_step] "m" (sum_step)
+ [dst_step] "im" (dst_step), [src_step] "im" (src_step),
+ [sum_step] "im" (sum_step)
: "rsi", "rdi", "edx", "ecx", "eax", "memory", "cc"
# ifndef BOUNDED_RBX
, "rbx"
@@ -364,13 +364,13 @@ static void MIX_AREAS_24(unsigned int size,
# ifdef BOUNDED_RBX
"\tmovq %[old_rbx], %%rbx\n"
# endif
- : [size] "+m" (size)
+ : [size] "+&rm" (size)
# ifdef BOUNDED_RBX
, [old_rbx] "=m" (old_rbx)
# endif
: [dst] "m" (dst), [src] "m" (src), [sum] "m" (sum),
- [dst_step] "m" (dst_step), [src_step] "m" (src_step),
- [sum_step] "m" (sum_step)
+ [dst_step] "im" (dst_step), [src_step] "im" (src_step),
+ [sum_step] "im" (sum_step)
: "rsi", "rdi", "edx", "ecx", "eax", "memory", "cc"
# ifndef BOUNDED_RBX
, "rbx"
--
2.17.1
More information about the Alsa-devel
mailing list