2003-09-29 Kazu Hirata <kazu@cs.umass.edu>
+ * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
+ define_split immediately below to form define_insn_and_split.
+
+2003-09-29 Kazu Hirata <kazu@cs.umass.edu>
+
* config/h8300/h8300.md (*tstsi_variable_bit): New.
(*tstsi_variable_bit_qi): Likewise.
[(set_attr "length" "2")
(set_attr "cc" "set_zn")])
-(define_insn "*tst_extzv_1_n"
+(define_insn_and_split "*tst_extzv_1_n"
[(set (cc0)
(zero_extract:SI (match_operand:QI 0 "general_operand_src" "r,U,mn>")
(const_int 1)
btst\\t%Z1,%Y0
btst\\t%Z1,%Y0
#"
- [(set_attr "length" "2,8,10")
- (set_attr "cc" "set_zn,set_zn,set_zn")])
-
-(define_split
- [(set (cc0)
- (zero_extract:SI (match_operand:QI 0 "general_operand" "")
- (const_int 1)
- (match_operand 1 "const_int_operand" "")))
- (clobber (match_operand:QI 2 "register_operand" ""))]
- "(TARGET_H8300H || TARGET_H8300S)
- && reload_completed
+ "&& reload_completed
&& !EXTRA_CONSTRAINT (operands[0], 'U')"
[(set (match_dup 2)
(match_dup 0))
(const_int 1)
(match_dup 1)))
(clobber (scratch:QI))])]
- "")
+ ""
+ [(set_attr "length" "2,8,10")
+ (set_attr "cc" "set_zn,set_zn,set_zn")])
(define_insn ""
[(set (cc0) (zero_extract:SI (match_operand:SI 0 "register_operand" "r")