[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