Commit 6f41623f by Kazu Hirata Committed by Kazu Hirata

h8300.md (zero_extendqihi2): Changes to define_expand to accomodate target-specific attributes.

	* config/h8300/h8300.md (zero_extendqihi2): Changes to
	define_expand to accomodate target-specific attributes.
	(anonymous zero_extendqihi2 patterns): New.

From-SVN: r45290
parent ee437932
2001-08-30 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.md (zero_extendqihi2): Changes to
define_expand to accomodate target-specific attributes.
(anonymous zero_extendqihi2 patterns): New.
Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com> Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
* h8300.md (*andorhi3): New pattern. * h8300.md (*andorhi3): New pattern.
......
...@@ -1604,16 +1604,32 @@ ...@@ -1604,16 +1604,32 @@
;; EXTEND INSTRUCTIONS ;; EXTEND INSTRUCTIONS
;; ---------------------------------------------------------------------- ;; ----------------------------------------------------------------------
(define_insn "zero_extendqihi2" (define_expand "zero_extendqihi2"
[(set (match_operand:HI 0 "register_operand" "")
(zero_extend:HI (match_operand:QI 1 "general_operand_src" "")))]
""
"")
(define_insn ""
[(set (match_operand:HI 0 "register_operand" "=r,r") [(set (match_operand:HI 0 "register_operand" "=r,r")
(zero_extend:HI (match_operand:QI 1 "general_operand_src" "0,g>")))] (zero_extend:HI (match_operand:QI 1 "general_operand_src" "0,g>")))]
"" "TARGET_H8300"
"@ "@
mov.b #0,%t0 mov.b #0,%t0
mov.b %R1,%s0\;mov.b #0,%t0" mov.b %R1,%s0\;mov.b #0,%t0"
[(set_attr "length" "2,10") [(set_attr "length" "2,10")
(set_attr "cc" "clobber,clobber")]) (set_attr "cc" "clobber,clobber")])
(define_insn ""
[(set (match_operand:HI 0 "register_operand" "=r,r")
(zero_extend:HI (match_operand:QI 1 "general_operand_src" "0,g>")))]
"TARGET_H8300H || TARGET_H8300S"
"@
extu.w %T0
mov.b %R1,%s0\;extu.w %T0"
[(set_attr "length" "2,10")
(set_attr "cc" "set_znv,set_znv")])
;; The compiler can synthesize a 300H variant of this which is ;; The compiler can synthesize a 300H variant of this which is
;; just as efficient as one that we'd create ;; just as efficient as one that we'd create
(define_insn "zero_extendqisi2" (define_insn "zero_extendqisi2"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment