PATCH: Use standard initiliazation for SSE 3 movsldup/movshdup

H. J. Lu hjl@lucon.org
Mon May 8 20:55:00 GMT 2006


__builtin_ia32_movshdup and __builtin_ia32_movsldup are standard SSE
builtins with 1 argument. This patch remove special treatments for
them.


H.J.
-----
2006-02-24  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (bdesc_1arg): Initialize
	IX86_BUILTIN_MOVSHDUP and IX86_BUILTIN_MOVSLDUP with
	"__builtin_ia32_movshdup" and "__builtin_ia32_movsldup".
	(ix86_init_mmx_sse_builtins): Remove IX86_BUILTIN_MOVSHDUP
	and IX86_BUILTIN_MOVSLDUP.

--- gcc/config/i386/i386.c.clean	2006-05-07 20:48:48.000000000 -0700
+++ gcc/config/i386/i386.c	2006-05-07 20:50:44.000000000 -0700
@@ -14738,8 +14738,8 @@ static const struct builtin_description 
   { MASK_SSE2, CODE_FOR_sse2_cvttps2dq, 0, IX86_BUILTIN_CVTTPS2DQ, 0, 0 },
 
   /* SSE3 */
-  { MASK_SSE3, CODE_FOR_sse3_movshdup, 0, IX86_BUILTIN_MOVSHDUP, 0, 0 },
-  { MASK_SSE3, CODE_FOR_sse3_movsldup, 0, IX86_BUILTIN_MOVSLDUP, 0, 0 },
+  { MASK_SSE3, CODE_FOR_sse3_movshdup, "__builtin_ia32_movshdup", IX86_BUILTIN_MOVSHDUP, 0, 0 },
+  { MASK_SSE3, CODE_FOR_sse3_movsldup, "__builtin_ia32_movsldup", IX86_BUILTIN_MOVSLDUP, 0, 0 },
 };
 
 static void
@@ -15308,12 +15308,6 @@ ix86_init_mmx_sse_builtins (void)
   def_builtin (MASK_SSE3, "__builtin_ia32_mwait",
 	       void_ftype_unsigned_unsigned,
 	       IX86_BUILTIN_MWAIT);
-  def_builtin (MASK_SSE3, "__builtin_ia32_movshdup",
-	       v4sf_ftype_v4sf,
-	       IX86_BUILTIN_MOVSHDUP);
-  def_builtin (MASK_SSE3, "__builtin_ia32_movsldup",
-	       v4sf_ftype_v4sf,
-	       IX86_BUILTIN_MOVSLDUP);
   def_builtin (MASK_SSE3, "__builtin_ia32_lddqu",
 	       v16qi_ftype_pcchar, IX86_BUILTIN_LDDQU);
 



More information about the Gcc-patches mailing list