[avx]: Add (match_dup 0) to AVX mask load and store

H.J. Lu hongjiu.lu@intel.com
Fri Aug 1 17:54:00 GMT 2008


Hi,

AVX mask load and store write to destination based on mask operand.
I am checking in this patch to add (match_dup 0) to indicate that
destination is also input.


H.J.
----
Index: ChangeLog.avx
===================================================================
--- ChangeLog.avx	(revision 138526)
+++ ChangeLog.avx	(working copy)
@@ -1,3 +1,9 @@
+2008-08-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/sse.md (avx_maskloadp<avxmodesuffixf2c><avxmodesuffix>):
+	Add (match_dup 0).
+	(avx_maskstorep<avxmodesuffixf2c><avxmodesuffix>): Likewise.
+
 2008-07-26  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
Index: config/i386/sse.md
===================================================================
--- config/i386/sse.md	(revision 138526)
+++ config/i386/sse.md	(working copy)
@@ -11658,7 +11658,8 @@
   [(set (match_operand:AVXMODEF2P 0 "register_operand" "=x")
 	(unspec:AVXMODEF2P
 	  [(match_operand:AVXMODEF2P 1 "memory_operand" "m")
-	   (match_operand:AVXMODEF2P 2 "register_operand" "x")]
+	   (match_operand:AVXMODEF2P 2 "register_operand" "x")
+	   (match_dup 0)]
 	  UNSPEC_MASKLOAD))]
   "TARGET_AVX"
   "vmaskmovp<avxmodesuffixf2c>\t{%1, %2, %0|%0, %2, %1}"
@@ -11670,7 +11671,8 @@
   [(set (match_operand:AVXMODEF2P 0 "memory_operand" "=m")
 	(unspec:AVXMODEF2P
 	  [(match_operand:AVXMODEF2P 1 "register_operand" "x")
-	   (match_operand:AVXMODEF2P 2 "register_operand" "x")]
+	   (match_operand:AVXMODEF2P 2 "register_operand" "x")
+	   (match_dup 0)]
 	  UNSPEC_MASKSTORE))]
   "TARGET_AVX"
   "vmaskmovp<avxmodesuffixf2c>\t{%2, %1, %0|%0, %1, %2}"



More information about the Gcc-patches mailing list