This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: PATCH: PR2912


On Fri, May 25, 2001 at 02:14:57AM -0700, Mark Mitchell wrote:
> This patch fixes the problem with the new x86 peepholes.

Here is a more proper fix, as discussed in the gcc@gcc thread.

Applied everywhere.


r~


Index: i386.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v
retrieving revision 1.204.2.12
diff -u -p -r1.204.2.12 i386.md
--- i386.md	2001/05/25 09:06:05	1.204.2.12
+++ i386.md	2001/05/25 18:00:26
@@ -11592,7 +11592,7 @@
    (set (reg 17)
 	(compare (match_dup 7) (match_dup 8)))
   ]
-  ""
+  "peep2_reg_dead_p (4, operands[7]) && peep2_reg_dead_p (4, operands[8])"
   [(parallel[
      (set (reg:CC 17)
 	  (compare:CC (mem:BLK (match_dup 4))
@@ -11602,9 +11602,7 @@
      (use (reg:SI 19))
      (clobber (match_dup 0))
      (clobber (match_dup 1))
-     (clobber (match_dup 2))])
-   (clobber (match_dup 7))
-   (clobber (match_dup 8))]
+     (clobber (match_dup 2))])]
   "")
 
 ;; ...and this one handles cmpstr*_1.
@@ -11629,7 +11627,7 @@
    (set (reg 17)
 	(compare (match_dup 7) (match_dup 8)))
   ]
-  ""
+  "peep2_reg_dead_p (4, operands[7]) && peep2_reg_dead_p (4, operands[8])"
   [(parallel[
      (set (reg:CC 17)
 	  (if_then_else:CC (ne (match_dup 6)
@@ -11642,9 +11640,7 @@
      (use (reg:SI 19))
      (clobber (match_dup 0))
      (clobber (match_dup 1))
-     (clobber (match_dup 2))])
-   (clobber (match_dup 7))
-   (clobber (match_dup 8))]
+     (clobber (match_dup 2))])]
   "")
 
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]