mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-27 11:14:48 +08:00
h8300.md (*iorsi3_two_qi_sext): New.
* config/h8300/h8300.md (*iorsi3_two_qi_sext): New. (*ashiftsi_sextqi_7): Likewise. From-SVN: r63125
This commit is contained in:
parent
cd48dadc12
commit
be9d08c2ef
@ -1,3 +1,8 @@
|
||||
2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
|
||||
(*ashiftsi_sextqi_7): Likewise.
|
||||
|
||||
2003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||
|
||||
* config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
|
||||
|
@ -2804,6 +2804,23 @@
|
||||
[(set_attr "cc" "clobber")
|
||||
(set_attr "length" "2")])
|
||||
|
||||
(define_insn_and_split "*iorsi3_two_qi_sext"
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(ior:SI (zero_extend:SI (match_operand:QI 1 "register_operand" "0"))
|
||||
(ashift:SI (sign_extend:SI (match_operand:QI 2 "register_operand" "r"))
|
||||
(const_int 8))))]
|
||||
"(TARGET_H8300H || TARGET_H8300S)"
|
||||
"#"
|
||||
"&& reload_completed"
|
||||
[(set (match_dup 3)
|
||||
(ior:HI (zero_extend:HI (match_dup 1))
|
||||
(ashift:HI (match_dup 4)
|
||||
(const_int 8))))
|
||||
(set (match_dup 0)
|
||||
(sign_extend:SI (match_dup 3)))]
|
||||
"operands[3] = gen_rtx_REG (HImode, REGNO (operands[0]));
|
||||
operands[4] = gen_rtx_REG (HImode, REGNO (operands[2]));")
|
||||
|
||||
(define_insn "*iorsi3_ashift_31"
|
||||
[(set (match_operand:SI 0 "register_operand" "=&r")
|
||||
(ior:SI (ashift:SI (match_operand:SI 1 "register_operand" "r")
|
||||
@ -2995,6 +3012,27 @@
|
||||
[(set_attr "cc" "clobber")
|
||||
(set_attr "length" "2")])
|
||||
|
||||
;; ashift:SI
|
||||
|
||||
(define_insn_and_split "*ashiftsi_sextqi_7"
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(ashift:SI (sign_extend:SI (match_operand:QI 1 "register_operand" "0"))
|
||||
(const_int 7)))]
|
||||
"(TARGET_H8300H || TARGET_H8300S)"
|
||||
"#"
|
||||
"&& reload_completed"
|
||||
[(parallel [(set (match_dup 2)
|
||||
(ashift:HI (match_dup 2)
|
||||
(const_int 8)))
|
||||
(clobber (scratch:QI))])
|
||||
(set (match_dup 0)
|
||||
(sign_extend:SI (match_dup 2)))
|
||||
(parallel [(set (match_dup 0)
|
||||
(ashiftrt:SI (match_dup 0)
|
||||
(const_int 1)))
|
||||
(clobber (scratch:QI))])]
|
||||
"operands[2] = gen_rtx_REG (HImode, REGNO (operands[0]));")
|
||||
|
||||
;; Storing a part of HImode to QImode.
|
||||
|
||||
(define_insn ""
|
||||
|
Loading…
Reference in New Issue
Block a user