This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
turn off mmx/3dnow autovec
- From: Richard Henderson <rth at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 27 Dec 2004 01:39:23 -0800
- Subject: turn off mmx/3dnow autovec
As mentioned in another thread, we can't generate proper MMX/3DNOW
code ourselves. The existing intrinsics expect users to segregate
MMX and FPU code themselves by hand.
The tests removed here are duplicates of their s/a// counterpart,
which just have a different dg-options for testing mmx.
r~
* config/i386/i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.
* gcc.dg/vect/vect-27a.c, gcc.dg/vect/vect-29a.c,
gcc.dg/vect/vect-48a.c, gcc.dg/vect/vect-56a.c,
gcc.dg/vect/vect-72a.c, gcc.dg/vect/vect-77a.c: Remove.
Index: config/i386/i386.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.h,v
retrieving revision 1.413
diff -c -p -d -u -r1.413 i386.h
--- config/i386/i386.h 23 Dec 2004 03:49:01 -0000 1.413
+++ config/i386/i386.h 27 Dec 2004 09:31:05 -0000
@@ -1085,8 +1085,9 @@ do { \
((MODE) == DImode || (MODE) == V8QImode || (MODE) == V4HImode \
|| (MODE) == V2SImode || (MODE) == SImode)
-#define UNITS_PER_SIMD_WORD \
- (TARGET_SSE ? 16 : TARGET_MMX || TARGET_3DNOW ? 8 : 0)
+/* ??? No autovectorization into MMX or 3DNOW until we can reliably
+ place emms and femms instructions. */
+#define UNITS_PER_SIMD_WORD (TARGET_SSE ? 16 : 0)
#define VALID_FP_MODE_P(MODE) \
((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode \