i386-sse-*.c fails on mainline
Bernd Schmidt
bernds@redhat.com
Wed May 8 15:46:00 GMT 2002
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)));
More information about the Gcc-bugs
mailing list