i386.md: Check cmp/branch fuse for cmp peephole optimization.

2008-09-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.md: Check cmp/branch fuse for cmp peephole
	optimization.

From-SVN: r140673
This commit is contained in:
H.J. Lu 2008-09-25 16:44:57 -07:00
parent 548a20809c
commit 6396547e62
2 changed files with 11 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2008-09-25 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md: Check cmp/branch fuse for cmp peephole
optimization.
2008-09-25 Richard Sandiford <rdsandiford@googlemail.com>
* combine.c (make_compound_operation): Handle the 'E' format.
@ -11,7 +16,7 @@
2008-09-25 Sergei Dyshel <sergeid@il.ibm.com>
* matrix-reorg.c (transform_allocation_sites): Initializers
* matrix-reorg.c (transform_allocation_sites): Initializers
added to avoid the warning.
2008-09-25 Martin Jambor <mjambor@suse.cz>

View File

@ -20966,15 +20966,16 @@
"")
;; Convert compares with 1 to shorter inc/dec operations when CF is not
;; required and register dies. Similarly for 128 to plus -128.
;; required and register dies. Similarly for 128 to -128.
(define_peephole2
[(set (match_operand 0 "flags_reg_operand" "")
(match_operator 1 "compare_operator"
[(match_operand 2 "register_operand" "")
(match_operand 3 "const_int_operand" "")]))]
"(INTVAL (operands[3]) == -1
|| INTVAL (operands[3]) == 1
|| INTVAL (operands[3]) == 128)
"(((!TARGET_FUSE_CMP_AND_BRANCH || optimize_size)
&& incdec_operand (operands[3], GET_MODE (operands[3])))
|| (!TARGET_FUSE_CMP_AND_BRANCH
&& INTVAL (operands[3]) == 128))
&& ix86_match_ccmode (insn, CCGCmode)
&& peep2_reg_dead_p (1, operands[2])"
[(parallel [(set (match_dup 0)