[vlc-devel] VLC_MMX and VLC_SSE function attribute macros breaks outside GCC

Rémi Denis-Courmont remi at remlab.net
Mon Mar 5 09:06:43 CET 2012

On Fri, 02 Mar 2012 19:59:18 +0100, Francois Cartegnie <fcvlcdev at free.fr>
> commit 209f1ae07f3380a50f3e920d6ba43a1138fae429 logic:
> Breaks VLC_MMX prefixed functions with Suncc:

Oh really? And how did VLC_MMX prefixed functions work before?

> __MMX__ is not defined and it's not a GCC compiler.

I could be wrong but I believe __MMX__ comes from Intel, not from GCC.

> # if defined (__MMX__)
> #  define VLC_MMX
> # elif VLC_GCC_VERSION(4, 4)
> #  define VLC_MMX __attribute__ ((__target__ ("mmx")))
> # else
> #  define VLC_MMX VLC_MMX_is_not_implemented_on_this_compiler
> # endif

You should add the correct definition for your compiler before the error
case. If SunCC does not support MMX, then you should not compile MMX
optimizations with that compiler.

I did not use #error so that compilation does not artificially fail if
VLC_MMX is not actually used.

Rémi Denis-Courmont
Sent from my collocated server

More information about the vlc-devel mailing list