* config/c4x/c4x.md: Add new peepholes to remove redundant loads.

From-SVN: r26571
This commit is contained in:
Michael Hayes 1999-04-20 23:18:44 +00:00
parent 65c78c7d76
commit 82bfb8e38f
2 changed files with 30 additions and 1 deletions

View File

@ -1,8 +1,14 @@
Wed Apr 21 18:15:55 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.md: Add new peepholes to remove redundant loads.
Wed Apr 21 17:41:29 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.md (binary patterns): Reorder alternatives
so that two operand instructions are chosen before three operand
instructions.Tue Apr 20 23:38:58 1999 Nathan Sidwell <nathan@acm.org>
instructions.
Tue Apr 20 23:38:58 1999 Nathan Sidwell <nathan@acm.org>
* objc/Make-lang.in (objc-parse.c): Put BISON parameters in correct
order.

View File

@ -7101,3 +7101,26 @@
"(REGNO (operands[0]) != REGNO (operands[4]))"
"xor3\\t%2,%1,%0\\n||\\tsti\\t%4,%3")
; The following two peepholes remove an unecessary load
; often found at the end of a function. These peepholes
; could be generalised to other binary operators. They shouldn't
; be required if we run a post reload mop-up pass.
(define_peephole
[(parallel [(set (match_operand:QF 0 "ext_reg_operand" "")
(plus:QF (match_operand:QF 1 "ext_reg_operand" "")
(match_operand:QF 2 "ext_reg_operand" "")))
(clobber (reg:CC_NOOV 21))])
(set (match_operand:QF 3 "ext_reg_operand" "")
(match_dup 0))]
"dead_or_set_p (insn, operands[0])"
"addf3\\t%2,%1,%3")
(define_peephole
[(parallel [(set (match_operand:QI 0 "reg_operand" "")
(plus:QI (match_operand:QI 1 "reg_operand" "")
(match_operand:QI 2 "reg_operand" "")))
(clobber (reg:CC_NOOV 21))])
(set (match_operand:QI 3 "reg_operand" "")
(match_dup 0))]
"dead_or_set_p (insn, operands[0])"
"addi3\\t%2,%1,%3")