This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: -mno-sse and -mno-sse2 broken on opteron?

On 2005-01-07, at 00:41, Richard Henderson wrote:

On Thu, Jan 06, 2005 at 08:44:36PM +0100, Marcin Dalecki wrote:
That's a non issue. You simply don't use floating point arithmetics
when for kernels.

How naieve you are. The compiler is getting smart enough to use SSE for non floating-point applications. While looking at a bug the other week, I caught it doing exactly that with a bit of kernel code.

Then you are simply using a "different" definition of "floating point register"
then factual on the architecture at hand.

If you're not either turning off sse, or saving and restoring all
sse state on entry to the kernel, then you risk data corruption.

And you are 100% sure the cost of this will be higher then constraining the
compiler to a defective API? If the compiler is going to use them for purposes
not associated necessarily with floating point calculations you will find yourself in
a situation where most of the user space will ask you indirectly to save those
registers on stack anyway... So what? You will soon give the trick of lazy
floating point register file saving on context switch factually up and pay the
penalty of a constrained register file anyway.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]