diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2003-03-24 14:17:49 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2003-03-24 14:17:49 +0000 |
commit | b980d72537787b28f5729be5251c51ac35eaca78 (patch) | |
tree | 76f5e9d54c1f17acb900b39148b96cb1f596859d /gcc | |
parent | fba5a74af30ace50410f359f5dd7ae5653c98def (diff) | |
download | gcc-b980d72537787b28f5729be5251c51ac35eaca78.zip gcc-b980d72537787b28f5729be5251c51ac35eaca78.tar.gz gcc-b980d72537787b28f5729be5251c51ac35eaca78.tar.bz2 |
* config/h8300/h8300.md (a peephole2): New.
From-SVN: r64802
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/h8300/h8300.md | 15 |
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d079df8..e560e07 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-03-24 Kazu Hirata <kazu@cs.umass.edu> + + * config/h8300/h8300.md (a peephole2): New. + 2003-03-24 Jakub Jelinek <jakub@redhat.com> * dojump.c (do_jump): Handle UNSAVE_EXPR specially. diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md index 883fa5c..43bca10 100644 --- a/gcc/config/h8300/h8300.md +++ b/gcc/config/h8300/h8300.md @@ -3776,6 +3776,21 @@ : gen_rtx_LT (VOIDmode, cc0_rtx, const0_rtx));") (define_peephole2 + [(set (match_operand:QI 0 "register_operand" "") + (match_operand:QI 1 "general_operand" "")) + (set (match_operand:SI 2 "register_operand" "") + (and:SI (match_dup 2) + (const_int 255)))] + "(TARGET_H8300H || TARGET_H8300S) + && !reg_overlap_mentioned_p (operands[2], operands[1]) + && REGNO (operands[0]) == REGNO (operands[2])" + [(set (match_dup 2) + (const_int 0)) + (set (strict_low_part (match_dup 0)) + (match_dup 1))] + "") + +(define_peephole2 [(set (match_operand:SI 0 "register_operand" "") (match_operand:SI 1 "general_operand" "")) (set (match_dup 0) |