This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: floating point sse & sse2
- From: Daniel Berlin <dan at dberlin dot org>
- To: "rkm at usol dot com" <rkm at usol dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 1 Feb 2002 09:07:03 -0500 (EST)
- Subject: Re: floating point sse & sse2
On Fri, 1 Feb 2002, rkm@usol.com wrote:
> Hello,
>
> I am new to this mailing list, sorry if my question has
> already been discussed here.
> I will soon have Redhat Linux 7.2 installed on a Pentium 4
> machine. I am trying to determine whether I can make use of the
> floating point streaming simd extensions (SSE,SSE2) with GCC
> or the AS assembler. I assume that if this is possible at all, I
> will probably have to write in-line assembly code with the SSE
> instructions, is that right?
Depends.
To make full use, yes.
However, the current CVS version of gcc can produce serial SSE code for
floating point (IE use SSE instead of x87).
> However I have downloaded the
> latest version of the binutils I could find on ftp sites (version 2.11.2),
> and I looked at the info files for the AS assembler -- the info
> file says that AS currently does not support floating point SIMD
> for intel processors.
It needs to be updated, it does indeed support it.
> While I saw that the AS assembler can access
> the XMM registers, there are other registers required for SSE that
> are not mentioned in the info file (e.g. CR4).
However, they also work fine.
> Is the info file
> out of date, or is it true that floating point SSE is not yet supported
> in AS (or GCC) for intel Pentium processors?
The first.
SSE support in AS has been around for a while.
> If it is not yet supported,
> is this a project that is in the works for future versions?
> Even if SSE is supported in GCC or AS, I also have questions
> whether the Linux kernel can support SSE. I have read that
> the kernel must support context switching for floating point SSE
> to work properly. I don't understand the implications of this, but
> Redhat 7.2 uses kernel version 2.4.7-10 -- Would I have to use
> a different version of the kernel to support SSE?
Nope, that version should work fine.
--Dan