[FFmpeg-devel] Does i686 have MMX?

Alex Converse alex.converse
Thu Aug 26 21:35:00 CEST 2010


2010/8/26 M?ns Rullg?rd <mans at mansr.com>

> Alex Converse <alex.converse at gmail.com> writes:
>
> > 2010/8/26 M?ns Rullg?rd <mans at mansr.com>
> >
> >> Jason Garrett-Glaser <darkshikari at gmail.com> writes:
> >>
> >> > 2010/8/26 M?ns Rullg?rd <mans at mansr.com>:
> >> >> Alex Converse <alex.converse at gmail.com> writes:
> >> >>
> >> >>> 2010/8/26 M?ns Rullg?rd <mans at mansr.com>:
> >> >>>> Jason Garrett-Glaser <darkshikari at gmail.com> writes:
> >> >>>>
> >> >>>>> The issue is simple:
> >> >>>>>
> >> >>>>> 1.  People use --cpu on x86 to mean "it should run on at least
> this
> >> >>>>> CPU, and contain optimizations for all better CPUs".
> >> >>>>
> >> >>>> Are you aware of the contradiction in that statement?
> >> >>>
> >> >>> please elaborate
> >> >>
> >> >> "Optimisations for better CPUs" might not run on "this CPU".  Thus,
> if
> >> >> the code "contains" such optimisations, it might not run, yet running
> >> >> was a requirement.
> >> >
> >> > Runtime detection exists for a reason.  Don't be obtuse.
> >>
> >> A lot of existing things are flawed.
> >
> > Did you find that in a fortune cookie?
> >
> > WTF are you trying to say?
> >
> > Are you saying the concept of runtime detection is flawed?
>
> Yes.  It solves only half the problem.  I already explained why.
>
>
Preparing custom builds for every single x86 CPU feature set is an even
bigger problem

Let's assume we only care about P2 or newer.

i686+CMOV+MMX

i686+CMOV+MMX+MMXExt

i686+CMOV+MMX+MMXExt+SSE

NetBurst+MMX+MMXExt+SSE+SSE2

NetBurst+MMX+MMXExt+SSE+SSE2+SSE3

i686+CMOV+MMX+MMXExt+SSE+SSE2

i686+CMOV+MMX+MMXExt+SSE+SSE2+SSE3

Core2

Core2+SSE3+SSSE3

Corei7

Corei7+SSE4.2

I'm already fucking lost and I left out Atom and 3DNow!TM for simplicity.



More information about the ffmpeg-devel mailing list