h8300.md (*insv_si_8_8): New.

* config/h8300/h8300.md (*insv_si_8_8): New.
	(*insv_si_8_8_lshiftrt_8): Likewise.
	(a peephole2): Likewise.

From-SVN: r65018
This commit is contained in:
Kazu Hirata 2003-03-29 14:39:54 +00:00 committed by Kazu Hirata
parent 60ef8bddd7
commit d4048ff603
2 changed files with 44 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.md (*insv_si_8_8): New.
(*insv_si_8_8_lshiftrt_8): Likewise.
(a peephole2): Likewise.
2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* doc/contrib.texi: Add Eric Botcazou and Roger Sayle.

View File

@ -2681,6 +2681,27 @@
[(set_attr "cc" "clobber")
(set_attr "length" "6")])
(define_insn "*insv_si_8_8"
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
(const_int 8)
(const_int 8))
(match_operand:SI 1 "register_operand" "r"))]
"TARGET_H8300H || TARGET_H8300S"
"mov.b\\t%w1,%x0"
[(set_attr "cc" "clobber")
(set_attr "length" "2")])
(define_insn "*insv_si_8_8_lshiftrt_8"
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
(const_int 8)
(const_int 8))
(lshiftrt:SI (match_operand:SI 1 "register_operand" "r")
(const_int 8)))]
"TARGET_H8300H || TARGET_H8300S"
"mov.b\\t%x1,%x0"
[(set_attr "cc" "clobber")
(set_attr "length" "2")])
;; extzv:SI
(define_insn "*extzv_8_8"
@ -3844,6 +3865,23 @@
operands[5] = gen_lowpart (QImode, operands[1]);
operands[6] = GEN_INT (~0xff | INTVAL (operands[3]));")
(define_peephole2
[(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 1 "register_operand" ""))
(set (match_dup 0)
(and:SI (match_dup 0)
(const_int 65280)))]
"(TARGET_H8300H || TARGET_H8300S)
&& !reg_overlap_mentioned_p (operands[0], operands[1])"
[(set (match_dup 0)
(const_int 0))
(set (zero_extract:SI (match_dup 0)
(const_int 8)
(const_int 8))
(lshiftrt:SI (match_dup 1)
(const_int 8)))]
"")
(define_peephole2
[(set (match_operand:SI 0 "register_operand" "")
(match_operand:SI 1 "memory_operand" ""))