This is the mail archive of the gcc-help@gcc.gnu.org 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: moving data between x87 and xmm registers


Gautam Sewani wrote:
As I mentioned, I am using intrinsics. (Intel SSE 2 intrinsics in the
emmintrin.h file to be specific). I do not wish to transfer data
between x87 and xmm registers, but when I am moving a __m128d variable
(a data type for use with the SSE2 intrinsics), to a 2-element double
array (to perform some calculation on each double individually) and
gcc is using generating x87 FPU code for that. I do not want to use
the x87 FPU at all, because as you said, there is no way of moving
data between x87 and XMM registers without going through memory.
Therefore I want to know a method/compiler-switch etc which will cause
gcc to *not* generate x87 FPU code.

On Thu, Jun 5, 2008 at 3:11 AM, Tim Prince <TimothyPrince@sbcglobal.net> wrote:
Gautam Sewani wrote:

elided on account of top posting


Some of what you say seems to imply you would use a union with an __m128d and a 2 element double array; other seems to imply you should simply use auto-vectorization. You still haven't shown a real example, which would permit anyone to advise you.


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