(and (match_code "const_int")
(match_test "!h8300_shift_needs_scratch_p (ival, SImode, CLOBBER)")))
-(define_constraint "U"
+(define_memory_constraint "U"
"An operand valid for a bset destination."
- (ior (and (match_code "reg")
- (match_test "(reload_in_progress || reload_completed)
- ? REG_OK_FOR_BASE_STRICT_P (op)
- : REG_OK_FOR_BASE_P (op)"))
- (and (match_code "mem")
+ (ior (and (match_code "mem")
(match_code "reg" "0")
(match_test "(reload_in_progress || reload_completed)
? REG_OK_FOR_BASE_STRICT_P (XEXP (op, 0))
;; ----------------------------------------------------------------------
(define_insn_and_split "*andqi3_2"
- [(set (match_operand:QI 0 "bit_operand" "=U,rQ,r")
+ [(set (match_operand:QI 0 "bit_operand" "=rU,rQ,r")
(and:QI (match_operand:QI 1 "bit_operand" "%0,0,WU")
(match_operand:QI 2 "h8300_src_operand" "Y0,rQi,IP1>X")))]
"TARGET_H8300SX"
(clobber (reg:CC CC_REG))])])
(define_insn "*andqi3_2_clobber_flags"
- [(set (match_operand:QI 0 "bit_operand" "=U,rQ,r")
+ [(set (match_operand:QI 0 "bit_operand" "=rU,rQ,r")
(and:QI (match_operand:QI 1 "bit_operand" "%0,0,WU")
(match_operand:QI 2 "h8300_src_operand" "Y0,rQi,IP1>X")))
(clobber (reg:CC CC_REG))]
(set_attr "length_table" "*,logicb,*")])
(define_insn_and_split "andqi3_1"
- [(set (match_operand:QI 0 "bit_operand" "=U,r")
+ [(set (match_operand:QI 0 "bit_operand" "=rU,r")
(and:QI (match_operand:QI 1 "bit_operand" "%0,0")
(match_operand:QI 2 "h8300_src_operand" "Y0,rn")))]
"register_operand (operands[0], QImode)
;; ----------------------------------------------------------------------
(define_insn_and_split "<code>qi3_1"
- [(set (match_operand:QI 0 "bit_operand" "=U,rQ")
+ [(set (match_operand:QI 0 "bit_operand" "=rU,rQ")
(ors:QI (match_operand:QI 1 "bit_operand" "%0,0")
(match_operand:QI 2 "h8300_src_operand" "Y2,rQi")))]
"TARGET_H8300SX || register_operand (operands[0], QImode)