[FFmpeg-devel] [PATCH] x86/emms: run the instruction unconditionally on supported targets

Michael Niedermayer michael at niedermayer.cc
Thu Feb 4 03:57:27 CET 2016


On Wed, Feb 03, 2016 at 02:21:28AM -0300, James Almer wrote:
> Inlined functions like AV_ZERO* and AV_COPY* may use mmx instructions
> regardless of runtime cpuflags.
> 
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> On targets where __MMX__ is not defined (like default x86_32 builds) the
> runtime check is a must, and neither of the above functions will use mmx
> instructions anyway.
> 
>  libavutil/x86/emms.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/libavutil/x86/emms.h b/libavutil/x86/emms.h
> index a529b6b..0deeb8c 100644
> --- a/libavutil/x86/emms.h
> +++ b/libavutil/x86/emms.h
> @@ -34,7 +34,9 @@ void avpriv_emms_yasm(void);
>   */
>  static av_always_inline void emms_c(void)
>  {
> +#if !defined(__MMX__)
>      if(av_get_cpu_flags() & AV_CPU_FLAG_MMX)
> +#endif

should be ok, but please add a comment to the code explaining why
this is done

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

It is what and why we do it that matters, not just one of them.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160204/2b796e7b/attachment.sig>


More information about the ffmpeg-devel mailing list