illegal instruction - create compile variants ?

Bryn M. Reeves bmr at redhat.com
Tue May 3 13:28:19 UTC 2011


On 05/01/2011 11:46 AM, Reindl Harald wrote:
> 
> Am 01.05.2011 09:56, schrieb David Timms:
> 
>> Should I be suggesting to upstream to attempt to detect CPU before 
>> running non-available instructions, eg as part of app startup ?
>> Can that even be done (reliably)?
> 
> ffmpeg has since years a option "--enable-runtime-cpudetect" what makes the
> binary a little larger but let it run on all CPUs with good performance
> 
> so yes, it is possible
>

And libmpeg2 and many, many other especially multimedia libraries that
can get a large benefit from the SIMD and other extensions in later CPUs.

This really should be done at runtime and either a jump table consulted,
or code patched in/out by some means (if the expense of pointer lookups
on each op is excessive).

I recently became aware of rakarrack and would very much like to use it
so I might take a peek at the source to get an idea of the work involved
as this is an area of interest of mine (hobby thing though - I can't
promise to have lots of time to spend on it!).

Regards,
Bryn.




More information about the devel mailing list