* config/m32r/m32r.md: Remove all define_peephole's.
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 9 Mar 2004 14:37:05 +0000 (14:37 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 9 Mar 2004 14:37:05 +0000 (14:37 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79170 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/m32r/m32r.md

index 43dc9cb..abdf3fa 100644 (file)
@@ -1,3 +1,7 @@
+2004-03-09  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/m32r/m32r.md: Remove all define_peephole's.
+
 2004-03-09  Alan Modra  <amodra@bigpond.net.au>
 
        * config/rs6000/rs6000.md: Remove trailing whitespace.
index 8880136..b969bb1 100644 (file)
 )
 
 \f
-;; Split up troublesome insns for better scheduling.
-;; FIXME: Peepholes go at the end.
-
-;; ??? Setting the type attribute may not be useful, but for completeness
-;; we do it.
-
-(define_peephole
-  [(set (mem:SI (plus:SI (match_operand:SI 0 "register_operand" "r")
-                        (const_int 4)))
-        (match_operand:SI 1 "register_operand" "r"))]
-  "0 && dead_or_set_p (insn, operands[0])"
-  "st %1,@+%0"
-  [(set_attr "type" "store2")
-   (set_attr "length" "2")])
-
-;; This case is triggered by compiling this code:
-;; 
-;; extern void sub(int *);
-;; void main (void)
-;; {
-;;   int i=2,j=3,k;
-;;   while (i < j)  sub(&k);
-;;   i = j / k;
-;;   sub(&i);
-;;   i = j - k;
-;;   sub(&i);
-;; }
-;;
-;; Without the peephole the following assembler is generated for the
-;; divide and subtract expressions:
-;;
-;;         div r5,r4     
-;;         mv r4,r5      
-;;         st r4,@(4,sp) 
-;;         bl sub
-;; 
-;; Similar code is produced for the subtract expression.  With this
-;; peephole the redundant move is eliminated.
-;;
-;; This optimization only works if PRESERVE_DEATH_INFO_REGNO_P is
-;; defined in m32r.h
-
-(define_peephole
-  [(set (match_operand:SI 0 "register_operand" "r")
-        (match_operand:SI 1 "register_operand" "r")
-   )
-   (set (mem:SI (plus: SI (match_operand:SI 2 "register_operand" "r")
-                (match_operand:SI 3 "immediate_operand" "J")))
-        (match_dup 0)
-   )
-  ]
-  "0 && dead_or_set_p (insn, operands [0])"
-  "st %1,@(%3,%2)"
-  [(set_attr "type" "store4")
-   (set_attr "length" "4")
-  ]
-)
-
 ;; Block moves, see m32r.c for more details.
 ;; Argument 0 is the destination
 ;; Argument 1 is the source