Commit 0d9e7244 by Eric Christopher

i386.md (*zero_extendqihi2_movzbw): Avoid partial register stalls by zero…

i386.md (*zero_extendqihi2_movzbw): Avoid partial register stalls by zero extending to the full register.

2005-11-26  Eric Christopher  <echristo@apple.com>

	* config/i386/i386.md (*zero_extendqihi2_movzbw): Avoid partial
	register stalls by zero extending to the full register.

From-SVN: r107559
parent 2a3ebe77
2005-11-26 Eric Christopher <echristo@apple.com>
* config/i386/i386.md (*zero_extendqihi2_movzbw): Avoid partial
register stalls by zero extending to the full register.
2005-11-27 Joseph S. Myers <joseph@codesourcery.com> 2005-11-27 Joseph S. Myers <joseph@codesourcery.com>
* config/floatunsisf.c, config/floatunsidf.c, * config/floatunsisf.c, config/floatunsidf.c,
......
...@@ -3036,13 +3036,14 @@ ...@@ -3036,13 +3036,14 @@
[(set_attr "type" "imovx,alu1") [(set_attr "type" "imovx,alu1")
(set_attr "mode" "HI")]) (set_attr "mode" "HI")])
(define_insn "*zero_extendqihi2_movzbw" ; zero extend to SImode here to avoid partial register stalls
(define_insn "*zero_extendqihi2_movzbl"
[(set (match_operand:HI 0 "register_operand" "=r") [(set (match_operand:HI 0 "register_operand" "=r")
(zero_extend:HI (match_operand:QI 1 "nonimmediate_operand" "qm")))] (zero_extend:HI (match_operand:QI 1 "nonimmediate_operand" "qm")))]
"(!TARGET_ZERO_EXTEND_WITH_AND || optimize_size) && reload_completed" "(!TARGET_ZERO_EXTEND_WITH_AND || optimize_size) && reload_completed"
"movz{bw|x}\t{%1, %0|%0, %1}" "movz{bl|x}\t{%1, %k0|%k0, %k1}"
[(set_attr "type" "imovx") [(set_attr "type" "imovx")
(set_attr "mode" "HI")]) (set_attr "mode" "SI")])
;; For the movzbw case strip only the clobber ;; For the movzbw case strip only the clobber
(define_split (define_split
......
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