subs %G2,%A0
add.b %s2,%s0\;addx %t2,%t0
add.w %T2,%T0
- mov.w %T1,%T0\;add.w %T2,%T0"
+ mov.w %T1,%T0\;add.w %T2,%T0"
[(set_attr "length" "2,2,4,2,6")
(set_attr "cc" "none_0hit,none_0hit,clobber,set_zn,set_zn")])
return \"\";
}
if (TARGET_H8300H || TARGET_H8300S)
- return \"and.w %T2,%T0\";
+ return \"and.w %T2,%T0\";
return \"and %s2,%s0\;and %t2,%t0;\";
}"
[(set_attr "length" "4")
(zero_extend:SI (match_operand:QI 1 "general_operand_src" "0,g>")))]
"TARGET_H8300"
"@
- mov.b #0,%x0\;sub.w %e0,%e0
- mov.b %R1,%w0\;mov.b #0,%x0\;sub.w %e0,%e0"
+ mov.b #0,%x0\;sub.w %e0,%e0
+ mov.b %R1,%w0\;mov.b #0,%x0\;sub.w %e0,%e0"
[(set_attr "length" "4,6")
(set_attr "cc" "clobber,clobber")])
"TARGET_H8300"
"@
bld #7,%w0\;subx %x0,%x0\;subx %y0,%y0\;subx %z0,%z0
- mov.b %R1,%w0\;bld #7,%w0\;subx %x0,%x0\;subx %y0,%y0\;subx %z0,%z0"
+ mov.b %R1,%w0\;bld #7,%w0\;subx %x0,%x0\;subx %y0,%y0\;subx %z0,%z0"
[(set_attr "length" "8,10")
(set_attr "cc" "clobber,clobber")])
[(set (match_operand:SI 0 "register_operand" "")
(sign_extend:SI (match_operand:HI 1 "register_operand" "")))]
""
- "
-{
- if (TARGET_H8300
- && GET_CODE (operands[1]) != CONST_INT
- && !optimize)
- {
- emit_insn (gen_extendhisi2_h8300 (operands[0], operands[1]));
- DONE;
- }
-}")
-
-;; This is used when not optimizing. It avoids severe code explosion
-;; due to poor register allocation.
-(define_expand "extendhisi2_h8300"
- [(set (reg:HI 1) (match_operand:HI 1 "general_operand" ""))
- (set (reg:SI 0) (sign_extend:SI (reg:HI 1)))
- (set (match_operand:SI 0 "general_operand" "") (reg:SI 0))]
- "TARGET_H8300"
"")
(define_insn ""