This is the mail archive of the gcc-patches@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: SSE5 patches round 3


On Mon, Sep 10, 2007 at 01:09:52PM -0400, Meissner, Michael wrote:
> I had forgotten about the smmintrin.h/mmintrin-common.h changes in the
> ChangeLog.  Good catch.  Yes, I should have added them.  The changes to
> smmintrin.h were to move the common stuff between bmmintrin.h and
> smmintrin.h into a common file (mmintrin-common.h), so that
> sse-1{2,3,4}.c can be compiled.  This is needed because both SSE4.1 and
> SSE5 define the same instructions (ROUND and PTEST).  H. J., what are
> your feelings about my changes to smmintrin.h?
> 
> Ok, I will look at merging SSE5_INTRINSIC, since now that I'm using
> vec_merge, the two cases can be handled.  I just wanted to make sure the
> main changes got in.
> 
> In terms of sse-1{2,3,4}.c and bmmintrin.h/ammintrin.h.  I originally
> did it that way, and I can change it back.  I was just being cautious in
> case Intel/Via decides to implement SSE5 but not SSE4A (right now,
> -msse5 does turn on -msse4a, but they are logically disjoint
> extensions).

Ok, here is the latest version of these patches.  The floating point
multiply/add ops are now under a single UNSPEC SSE5_INTRINSIC.  I tightened up
the code for the scalar floating multiply/add intrinsic, so the upper bits
always come from the first argument.  I renamed the vec_merge functions to have
'vm' in them.  I bootstraped and make check the patches, and got the same
regressions.  Note, I did apply Ira's patch to params.def when doing the
bootstrap to reduce the vectorizer errors.  I went back on sse-1{2,3,4}.c to
adding -msse5 and not adding -msse4a (since that comes on by default).

-- 
Michael Meissner, AMD
90 Central Street, MS 83-29, Boxborough, MA, 01719, USA
michael.meissner@amd.com

Attachment: sse5-gcc.patch03
Description: Text document


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