[FFmpeg-devel] [PATCH] read_time() for SPARC

Måns Rullgård mans
Fri Sep 10 18:22:19 CEST 2010


Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:

> On Fri, Sep 10, 2010 at 01:32:07PM +0400, Michael Kostylev wrote:
>> On Fri Sep 10 09:47:34 2010
>> M?ns Rullg?rd wrote:
>> >Yes, that instruction would be invalid there.  In a pure 32-bit
>> >environment, you can't use the high half of 64-bit registers, even if
>> >they are physically present.  Consider what happens on a context switch.
>> 
>> An ancient kernel will not preserve the sse registers as well.
>
> And it won't enable SSE either.

Which means you can't use SSE at all on such a kernel, regardless of
the CPU it's running on.

> Which has the additional advantage that a kernel can avoid restoring
> and saving again the SSE state if the program doesn't use it during
> its slice.  Handling CPU extensions with forward-, backward- and
> other compatibility is one of the very few things where others could
> take a lesson from x86.

Lazy FPU context switching is a pretty standard trick used on most
architectures with an FPU.  Also, the compatible at all cost line is
one I'm quite happy others haven't followed.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list