rs6000.md (movsi_internal2): Use compare for self move record condition.

* config/rs6000/rs6000.md (movsi_internal2): Use compare for self
        move record condition.
        (movdi_internal2): Same.

From-SVN: r66806
This commit is contained in:
David Edelsohn 2003-05-14 16:41:16 +00:00 committed by David Edelsohn
parent 7d63a2fae0
commit bb84cb12fb
2 changed files with 20 additions and 13 deletions

View File

@ -1,3 +1,9 @@
2003-05-14 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.md (movsi_internal2): Use compare for self
move record condition.
(movdi_internal2): Same.
2003-05-14 Nathan Sidwell <nathan@codesourcery.com>
* gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.

View File

@ -7709,17 +7709,18 @@
}")
(define_insn "*movsi_internal2"
[(set (match_operand:CC 2 "cc_reg_operand" "=x,?y")
(compare:CC (match_operand:SI 1 "gpc_reg_operand" "r,r")
[(set (match_operand:CC 2 "cc_reg_operand" "=y,x,?y")
(compare:CC (match_operand:SI 1 "gpc_reg_operand" "0,r,r")
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r") (match_dup 1))]
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r") (match_dup 1))]
"! TARGET_POWERPC64"
"@
{cmpi|cmpwi} %2,%0,0
mr. %0,%1
#"
[(set_attr "type" "compare")
(set_attr "length" "4,8")])
[(set_attr "type" "cmp,compare,cmp")
(set_attr "length" "4,4,8")])
(define_split
[(set (match_operand:CC 2 "cc_reg_not_cr0_operand" "")
(compare:CC (match_operand:SI 1 "gpc_reg_operand" "")
@ -7731,7 +7732,7 @@
(compare:CC (match_dup 0)
(const_int 0)))]
"")
(define_expand "movhi"
[(set (match_operand:HI 0 "general_operand" "")
(match_operand:HI 1 "any_operand" ""))]
@ -8621,18 +8622,18 @@
FAIL;
}")
;; Split a load of a large constant into the appropriate five-instruction
(define_insn "*movdi_internal2"
[(set (match_operand:CC 2 "cc_reg_operand" "=x,?y")
(compare:CC (match_operand:DI 1 "gpc_reg_operand" "r,r")
[(set (match_operand:CC 2 "cc_reg_operand" "=y,x,?y")
(compare:CC (match_operand:DI 1 "gpc_reg_operand" "0,r,r")
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "=r,r") (match_dup 1))]
(set (match_operand:DI 0 "gpc_reg_operand" "=r,r,r") (match_dup 1))]
"TARGET_POWERPC64"
"@
cmpdi %2,%0,0
mr. %0,%1
#"
[(set_attr "type" "compare")
(set_attr "length" "4,8")])
[(set_attr "type" "cmp,compare,cmp")
(set_attr "length" "4,4,8")])
(define_split
[(set (match_operand:CC 2 "cc_reg_not_cr0_operand" "")