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

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

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 

Obviously, this is a silent bug in the VLC plugins subsystem.

Rémi Denis-Courmont

More information about the vlc-devel mailing list