[vlc-devel] commit: Contribs: Use mtune=pentium2 for Windows (Jean-Baptiste Kempf )

Rémi Denis-Courmont remi at remlab.net
Sat Jan 9 14:18:49 CET 2010

Le samedi 9 janvier 2010 15:13:06 Rémi Denis-Courmont, vous avez écrit :
> Le samedi 9 janvier 2010 13:39:46 Måns Rullgård, vous avez écrit :
> > The only difference resulting from setting -march to one
> > or the other is whether or not gcc is allowed to issue mmx
> > instructions, which it's pretty poor at doing anyway.
> Which, in a paradoxical way is very fortunate this far...
> The VLC build system adds -mmmx, -msse and -msse2 respectively when
>  building MMX-, SSE-, and SSE2-accelerated plugins (e.g. chromas).
>  Unfortuantely, the plugin descriptor, which is _code_, not _data_, is also
>  part of the same file. So for instance, a Pentium 2 running VLC will try
>  to load and run the SSE chroma plugins to discover that they need SSE and
>  it cannot run them.
> If GCC were good at generating MMX and SSE instructions, it could actually
>  use them in the plugin descriptor, and VLC would crash while scanning the
>  plugin directories.
> Obviously, this is a silent bug in the VLC plugins subsystem.

N.B.: This is independent of the operating system. For now, this bug affects 
i386 processors without SSE2 and PowerPC processors without AltiVec. It would 
affect x86-64 processors if we ever made SSE3+ optimizations, and non-NEON ARM 
if we stopped hard-coding NEON support.

Rémi Denis-Courmont

More information about the vlc-devel mailing list