This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: i386-sse-*.c fails on mainline
- From: Bernd Schmidt <bernds at redhat dot com>
- To: Richard Henderson <rth at redhat dot com>
- Cc: Andreas Jaeger <aj at suse dot de>, <gcc-bugs at gcc dot gnu dot org>,<gcc-patches at gcc dot gnu dot org>
- Date: Wed, 8 May 2002 23:46:29 +0100 (BST)
- Subject: Re: i386-sse-*.c fails on mainline
On Mon, 6 May 2002, Richard Henderson wrote:
> On Tue, May 07, 2002 at 01:27:27AM +0100, Bernd Schmidt wrote:
> > That wouldn't work unless -march=pentium4 also enables the builtins.
>
> It should.
>
> if (processor_alias_table[i].flags & PTA_SSE2
> && !(target_flags & MASK_SSE2_SET))
> target_flags |= MASK_SSE2;
Ah, ok. I'll be applying the following patch then.
Bernd
Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/egcs/gcc/ChangeLog,v
retrieving revision 1.14017
diff -c -p -r1.14017 ChangeLog
*** ChangeLog 8 May 2002 19:33:38 -0000 1.14017
--- ChangeLog 8 May 2002 22:43:05 -0000
***************
*** 1,3 ****
--- 1,9 ----
+ 2002-05-08 Bernd Schmidt <bernds@redhat.com>
+
+ * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
+ use __SSE2__ macro instead.
+ * config/i386/xmmintrin.h: Likewise.
+
2002-05-08 Mark Mitchell <mark@codesourcery.com>
* doc/invoke.texi: Document -mwindiss option.
Index: config/i386/i386.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.h,v
retrieving revision 1.257
diff -c -p -r1.257 i386.h
*** config/i386/i386.h 6 May 2002 18:17:08 -0000 1.257
--- config/i386/i386.h 8 May 2002 22:43:18 -0000
*************** extern int ix86_arch;
*** 619,625 ****
|march=athlon-mp: -D__3dNOW__ }\
%{march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\
|march=athlon-mp: -D__3dNOW_A__ }\
! %{msse2: -D__SSE2_BUILTINS__ }\
%{march=pentium4: -D__SSE2__ }\
%{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}"
--- 619,625 ----
|march=athlon-mp: -D__3dNOW__ }\
%{march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\
|march=athlon-mp: -D__3dNOW_A__ }\
! %{msse2: -D__SSE2__ }\
%{march=pentium4: -D__SSE2__ }\
%{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}"
Index: config/i386/xmmintrin.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/xmmintrin.h,v
retrieving revision 1.4
diff -c -p -r1.4 xmmintrin.h
*** config/i386/xmmintrin.h 6 May 2002 18:17:08 -0000 1.4
--- config/i386/xmmintrin.h 8 May 2002 22:43:18 -0000
*************** do { \
*** 1058,1064 ****
(row3) = __builtin_ia32_shufps (__t2, __t3, 0xDD); \
} while (0)
! #ifdef __SSE2_BUILTINS__
/* SSE2 */
typedef int __v2df __attribute__ ((mode (V2DF)));
typedef int __v2di __attribute__ ((mode (V2DI)));
--- 1058,1064 ----
(row3) = __builtin_ia32_shufps (__t2, __t3, 0xDD); \
} while (0)
! #ifdef __SSE2__
/* SSE2 */
typedef int __v2df __attribute__ ((mode (V2DF)));
typedef int __v2di __attribute__ ((mode (V2DI)));