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] |
Ian/Jakub, I will commit the attached patch to mainline. I have bootstrapped and run make check for i686-pc-linux-gnu to ensure all tests pass as expected. 2007-02-08 Harsha Jagasia <harsha.jagasia@amd.com> * config/i386/xmmintrin.h: Make inclusion of emmintrin.h conditional to __SSE2__. (Entries below should have been added to first ChangeLog dated 2007-02-05 for amdfam10) * config/i386/emmintrin.h: Generate #error if __SSE2__ is not defined. * config/i386/pmmintrin.h: Generate #error if __SSE3__ is not defined. * config/i386/tmmintrin.h: Generate #error if __SSSE3__ is not defined. Thanks for catching this issue and I will watch out for the other suggestions you have made in the future. - Harsha >-----Original Message----- >From: Ian Lance Taylor [mailto:iant@google.com] >Sent: Wednesday, February 07, 2007 9:19 AM >To: Jagasia, Harsha >Cc: Jakub Jelinek; gcc-patches@gcc.gnu.org >Subject: Re: Change to gcc/config/i386/emmintrin.h > >Your mailer is not threading properly. It is not inserting >appropriate References headers. > >"Jagasia, Harsha" <harsha.jagasia@amd.com> writes: > >> Hi Jakub, >> >> >On Tue, Feb 06, 2007 at 12:11:17PM -0600, Jagasia, Harsha wrote: >> >> From what I can see, xmmintrin.h (SSE header) includes emmintrin.h >> (SSE2 >> >> header) at the end of the file. >> >> >> >> /* For backward source compatibility. */ >> >> #include <emmintrin.h> >> > >> >Then perhaps you can do there: >> >/* For backward source compatibility. */ >> >#ifdef __SSE2__ >> ># include <emmintrin.h> >> >#endif >> > >> > Jakub >> > >> >> Sure, that's the easy fix. I suspect any code base that Ian or others >> are running outside of the testsuite, which relies on this behavior, >> will have to change the makefiles etc accordingly. > >That #include was added when emmintrin.h was introduced, here: > >http://gcc.gnu.org/ml/gcc-patches/2003-06/msg00229.html > >It was introduced for backward compatibility. Your change breaks that >backward compatibility. This should have been handled separately from >the amdfam10 patches. It has nothing to do with amdfam10, and it was >quite easy to miss the change in the patch, especially without the >ChangeLog entry. In the future, please send unrelated patches in >separate e-mail messages. Thanks. > >In order to acheive the two goals of backward compatibility (insofar >as that is important) and correctness, Jakub's patch looks right to >me. I don't see why it would require any changes to Makefiles. The >intrinsic functions in emmintrin.h were ineffective without -msse2. > >So I will preapprove that patch. Harsha, please test it with a >bootstrap and testsuite run for the target i686-pc-linux-gnu--i.e., a >target which does not natively support any form of SSE. If it passes, >please commit it with an appropriate ChangeLog entry. If you have any >questions or concerns, please ask. Thanks. > >Ian >
Attachment:
fix-xmmintrin.patch
Description: fix-xmmintrin.patch
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |