Hi,

 While examining the Power MD file seeking the explanation for a problem I 
saw I have noticed a change in the past separated one of the instruction 
splitters from its corresponding instruction pattern.  Several unrelated 
patterns were inserted between the two, presumably by accident where the 
`patch' tool applied a diff made from an older or modified tree in the 
wrong place.

 I find this arrangement confusing, so I propose to move the splitter 
back, next to the other pattern.  Here's the intended update.  No 
functional change.  OK to apply?

2012-08-10  Maciej W. Rozycki  <ma...@codesourcery.com>

        gcc/
        * config/rs6000/rs6000.md: Move a splitter next to its insn.

  Maciej

gcc-rs6000-sign-extend-reorder.diff
Index: gcc-fsf-trunk-quilt/gcc/config/rs6000/rs6000.md
===================================================================
--- gcc-fsf-trunk-quilt.orig/gcc/config/rs6000/rs6000.md        2012-05-13 
13:50:31.000000000 +0100
+++ gcc-fsf-trunk-quilt/gcc/config/rs6000/rs6000.md     2012-08-10 
03:13:05.030525435 +0100
@@ -1048,6 +1048,20 @@
    #"
   [(set_attr "type" "compare")
    (set_attr "length" "4,8")])
+
+(define_split
+  [(set (match_operand:CC 2 "cc_reg_not_micro_cr0_operand" "")
+       (compare:CC (sign_extend:SI (match_operand:HI 1 "gpc_reg_operand" ""))
+                   (const_int 0)))
+   (set (match_operand:SI 0 "gpc_reg_operand" "")
+       (sign_extend:SI (match_dup 1)))]
+  "reload_completed"
+  [(set (match_dup 0)
+       (sign_extend:SI (match_dup 1)))
+   (set (match_dup 2)
+       (compare:CC (match_dup 0)
+                   (const_int 0)))]
+  "")
 
 ;; IBM 405, 440, 464 and 476 half-word multiplication operations.
 
@@ -1580,20 +1594,6 @@
   DONE;
 })
 
-(define_split
-  [(set (match_operand:CC 2 "cc_reg_not_micro_cr0_operand" "")
-       (compare:CC (sign_extend:SI (match_operand:HI 1 "gpc_reg_operand" ""))
-                   (const_int 0)))
-   (set (match_operand:SI 0 "gpc_reg_operand" "")
-       (sign_extend:SI (match_dup 1)))]
-  "reload_completed"
-  [(set (match_dup 0)
-       (sign_extend:SI (match_dup 1)))
-   (set (match_dup 2)
-       (compare:CC (match_dup 0)
-                   (const_int 0)))]
-  "")
-
 ;; Fixed-point arithmetic insns.
 
 (define_expand "add<mode>3"

Reply via email to