[FFmpeg-devel] Patch: Inline asm fixes for Intel compiler on Windows

Reimar Döffinger Reimar.Doeffinger at gmx.de
Sat Dec 28 16:02:21 CET 2013


On Sat, Dec 28, 2013 at 03:23:51PM +0100, Reimar Döffinger wrote:
> > -    __asm__ ("cltd                   \n\t"      \
> > +    __asm__ ("cdq                    \n\t"      \
> 
> This one will break Solaris for example.
> 
> > -    "pand "MANGLE(mask0010)", %%mm0 \n" /* -- -- -- -- G1 B1 -- -- */\
> > +    "pand "#_mask0010",       %%mm0 \n" /* -- -- -- -- G1 B1 -- -- */\
> 
> This one should have told you that ICC doesn't have a problem with the
> symbols but that MANGLE isn't working right.

Sorry, I quoted badly. The _mask0010 is a macro argument after the
patch, so my comment/conclusion doesn't apply.

> > libavutil/x86/asm.h:#    define LOCAL_MANGLE(a) #a "(%%rip)"
> > libavutil/x86/asm.h:#    define LOCAL_MANGLE(a) #a
> > libavutil/x86/asm.h:#define MANGLE(a) EXTERN_PREFIX LOCAL_MANGLE(a)
> 
> As long as EXTERN_PREFIX is "_" as it should be on Windows, these two
> lines above should produce _exactly_ the same string.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


More information about the ffmpeg-devel mailing list