Message ID | 20200422174918.7290-5-frederic.recoules@univ-grenoble-alpes.fr |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel,1/5,inline,assembly] prepares for contiguous assembly statements merging | expand |
Context | Check | Description |
---|---|---|
andriy/default | pending | |
andriy/make | success | Make finished |
andriy/make_fate | success | Make fate finished |
Hi Michael,
I would like an update on the review process.
The patches add missing clobbers (mmx, xmm and memory) to some assembly chunks.
Note that looking at the commit history, some other chunks have already been patched in such a way by the past.
Moreover, as far as I know, the patches from 1 to 14 passed the fate tests, both on my computer and on patchwork.
Let me know if you have any remark on them.
By the way, I have a deadline that comes and I would really appreciate to see the patches applied by wednesday night. Do you think it would be possible?
Regards,
Frédéric
De: "frederic recoules" <frederic.recoules@univ-grenoble-alpes.fr>
À: "ffmpeg-devel" <ffmpeg-devel@ffmpeg.org>
Cc: "frederic recoules" <frederic.recoules@orange.fr>
Envoyé: Dimanche 26 Avril 2020 21:44:24
Objet: [FFmpeg-devel] [PATCH 14/14] [inline assembly] add mmx clobbers to cavsdsp
From: Frédéric Recoules <frederic.recoules@orange.fr>
---
libavcodec/x86/cavsdsp.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/libavcodec/x86/cavsdsp.c b/libavcodec/x86/cavsdsp.c
index becb3a4808..b1b2c7b069 100644
--- a/libavcodec/x86/cavsdsp.c
+++ b/libavcodec/x86/cavsdsp.c
@@ -166,7 +166,8 @@ static void cavs_idct8_add_sse2(uint8_t *dst, int16_t *block, ptrdiff_t stride)
: "+a"(src), "+c"(dst)\
: "S"((x86_reg)srcStride), "r"((x86_reg)dstStride)\
NAMED_CONSTRAINTS_ADD(ADD,MUL1,MUL2)\
- : "memory"\
+ : "memory" MMX_CLOBBERS(, "mm0", "mm1", "mm2", "mm3",\
+ "mm4", "mm5", "mm6", "mm7") \
);\
if(h==16){\
__asm__ volatile(\
@@ -182,7 +183,8 @@ static void cavs_idct8_add_sse2(uint8_t *dst, int16_t *block, ptrdiff_t stride)
: "+a"(src), "+c"(dst)\
: "S"((x86_reg)srcStride), "r"((x86_reg)dstStride)\
NAMED_CONSTRAINTS_ADD(ADD,MUL1,MUL2)\
- : "memory"\
+ : "memory" MMX_CLOBBERS(, "mm0", "mm1", "mm2", "mm3",\
+ "mm4", "mm5", "mm6", "mm7") \
);\
}\
src += 4-(h+5)*srcStride;\
@@ -235,7 +237,8 @@ static void OPNAME ## cavs_qpel8_h_ ## MMX(uint8_t *dst, const uint8_t *src, ptr
: "+a"(src), "+c"(dst), "+m"(h)\
: "d"((x86_reg)srcStride), "S"((x86_reg)dstStride)\
NAMED_CONSTRAINTS_ADD(ff_pw_4,ff_pw_5)\
- : "memory"\
+ : "memory" MMX_CLOBBERS(, "mm0", "mm1", "mm2", "mm3",\
+ "mm4", "mm5", "mm6", "mm7")\
);\
}\
\
Hi,
I just realized that I have been unsubscribed from the mailing list (is there a inactivity timeout?).
Thus, I do not know if there was some news about the review of the submitted patches.
Yet, I could well imagine that some conflicts have appeared since the submission in May, so if it is the case, let me know it and I will try to update them.
For memory, the patches try to harmonize the interface of inline assembly chunks because for some of them, the compiler miss information (like clobbers) such that it could take advantage of it to produce wrong code. The patches help to avoid unexpected behaviours which may depend on the compiler or the optimization level.
I am looking forward to hearing from you,
Regards,
Frédéric Recoules
----- Mail original -----
De: "FRÉDÉRIC RECOULES" <frederic.recoules@univ-grenoble-alpes.fr>
À: "ffmpeg-devel" <ffmpeg-devel@ffmpeg.org>
Cc: "michael" <michael@niedermayer.cc>, "frederic recoules" <frederic.recoules@orange.fr>
Envoyé: Lundi 4 Mai 2020 21:52:44
Objet: Re: [FFmpeg-devel] [PATCH 14/14] [inline assembly] add mmx clobbers to cavsdsp
Hi Michael,
I would like an update on the review process.
The patches add missing clobbers (mmx, xmm and memory) to some assembly chunks.
Note that looking at the commit history, some other chunks have already been patched in such a way by the past.
Moreover, as far as I know, the patches from 1 to 14 passed the fate tests, both on my computer and on patchwork.
Let me know if you have any remark on them.
By the way, I have a deadline that comes and I would really appreciate to see the patches applied by wednesday night. Do you think it would be possible?
Regards,
Frédéric
De: "frederic recoules" <frederic.recoules@univ-grenoble-alpes.fr>
À: "ffmpeg-devel" <ffmpeg-devel@ffmpeg.org>
Cc: "frederic recoules" <frederic.recoules@orange.fr>
Envoyé: Dimanche 26 Avril 2020 21:44:24
Objet: [FFmpeg-devel] [PATCH 14/14] [inline assembly] add mmx clobbers to cavsdsp
From: Frédéric Recoules <frederic.recoules@orange.fr>
---
libavcodec/x86/cavsdsp.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/libavcodec/x86/cavsdsp.c b/libavcodec/x86/cavsdsp.c
index becb3a4808..b1b2c7b069 100644
--- a/libavcodec/x86/cavsdsp.c
+++ b/libavcodec/x86/cavsdsp.c
@@ -166,7 +166,8 @@ static void cavs_idct8_add_sse2(uint8_t *dst, int16_t *block, ptrdiff_t stride)
: "+a"(src), "+c"(dst)\
: "S"((x86_reg)srcStride), "r"((x86_reg)dstStride)\
NAMED_CONSTRAINTS_ADD(ADD,MUL1,MUL2)\
- : "memory"\
+ : "memory" MMX_CLOBBERS(, "mm0", "mm1", "mm2", "mm3",\
+ "mm4", "mm5", "mm6", "mm7") \
);\
if(h==16){\
__asm__ volatile(\
@@ -182,7 +183,8 @@ static void cavs_idct8_add_sse2(uint8_t *dst, int16_t *block, ptrdiff_t stride)
: "+a"(src), "+c"(dst)\
: "S"((x86_reg)srcStride), "r"((x86_reg)dstStride)\
NAMED_CONSTRAINTS_ADD(ADD,MUL1,MUL2)\
- : "memory"\
+ : "memory" MMX_CLOBBERS(, "mm0", "mm1", "mm2", "mm3",\
+ "mm4", "mm5", "mm6", "mm7") \
);\
}\
src += 4-(h+5)*srcStride;\
@@ -235,7 +237,8 @@ static void OPNAME ## cavs_qpel8_h_ ## MMX(uint8_t *dst, const uint8_t *src, ptr
: "+a"(src), "+c"(dst), "+m"(h)\
: "d"((x86_reg)srcStride), "S"((x86_reg)dstStride)\
NAMED_CONSTRAINTS_ADD(ff_pw_4,ff_pw_5)\
- : "memory"\
+ : "memory" MMX_CLOBBERS(, "mm0", "mm1", "mm2", "mm3",\
+ "mm4", "mm5", "mm6", "mm7")\
);\
}\
\
On Thu, Jul 23, 2020 at 04:00:35PM +0200, FRÉDÉRIC RECOULES wrote: > Hi, > > I just realized that I have been unsubscribed from the mailing list (is there a inactivity timeout?). there is no inactivity timeout but occasionally something gets misclassified as spam by some mail providers. For example GMX decided to mark all mails from our server as spam for a few days. These things lead to bounces the bounces cause unsubscriptions. I did not check what happened in your case though specifically thx [...]
diff --git a/libavcodec/x86/lossless_videoencdsp_init.c b/libavcodec/x86/lossless_videoencdsp_init.c index fb481e66f5..feb6874f94 100644 --- a/libavcodec/x86/lossless_videoencdsp_init.c +++ b/libavcodec/x86/lossless_videoencdsp_init.c @@ -71,7 +71,7 @@ static void sub_median_pred_mmxext(uint8_t *dst, const uint8_t *src1, " jb 1b \n\t" : "+r" (i) : "r" (src1), "r" (src2), "r" (dst), "r" ((x86_reg) w) - : MMX_CLOBBERS("mm0", "mm1", "mm2", "mm3", "mm4", "mm5") + : MMX_CLOBBERS("mm0", "mm1", "mm2", "mm3", "mm4", "mm5",) "memory" ); l = *left;
From: Frédéric Recoules <frederic.recoules@orange.fr> --- libavcodec/x86/lossless_videoencdsp_init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)