[FFmpeg-devel] [PATCH 14/14] [inline assembly] add mmx clobbers to cavsdsp
FRÉDÉRIC RECOULES
frederic.recoules at univ-grenoble-alpes.fr
Thu Jul 23 17:00:35 EEST 2020
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 at univ-grenoble-alpes.fr>
À: "ffmpeg-devel" <ffmpeg-devel at ffmpeg.org>
Cc: "michael" <michael at niedermayer.cc>, "frederic recoules" <frederic.recoules at 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 at univ-grenoble-alpes.fr>
À: "ffmpeg-devel" <ffmpeg-devel at ffmpeg.org>
Cc: "frederic recoules" <frederic.recoules at 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 at 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")\
);\
}\
\
--
2.17.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel at ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel at ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list