[vlc-devel] commit: Contribs: Use mtune=pentium2 for Windows (Jean-Baptiste Kempf )
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.
More information about the vlc-devel