This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
SSE scalars, intrinsics and transition to "float"...
- From: tbp <tbptbp at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Mon, 1 Nov 2004 14:51:03 +0100
- Subject: SSE scalars, intrinsics and transition to "float"...
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding; b=ThxRM3ecbzKZFzv1+ta4CSISeAEsHGWMpHn5gkBHUKmy+ULtJwc6iqD9++5Efjm19u92UD5ngFCB1ox2qXv3eMyH8+lwdrGHJUJEVQRHUU/fDyIvrcT7G73HPao65okYAyA2UGDoylCDiNO8f9bEvBsDhl5RNuvmWgnxTOvuKmY=
- Reply-to: tbp <tbptbp at gmail dot com>
Let me put that in the proper context.
Say you're on x86, using something in the vein of "-mfpmath=sse", and
gcc does a great job mixing fpu & sse operations. And you want to join
the fun at some point with your own ie dot product which returns a
scalar disguised as a vector.
But you cannot cast that scalar back to a regular float ("cannot
convert `float __vector__' to `const float' in initialization") to
make the junction with the rest. And going throught memory would kill
any benefit.
So you end up rewriting a larger section with intrinsics etc...
That's a major hinderance and what's really annoying is that gcc
obviously knows how to handle those scalar-in-a-vector but i don't
know how to tell him where to look.
Any help apreciated.
tbp.
PS: kudos for the work already done, gcc shines with intrinsics.