+2019-12-05 Jozef Lawrynowicz <jozef.l@mittosystems.com>
+
+ * config/msp430/msp430.md (cbranch<mode>4): Use
+ msp430_general_dst_nonv_operand instead of nonimmediate_operand for
+ dest operand of CMP instruction.
+ (cbranchpsi4_real): Likewise.
+ (cbranchqi4_real): Likewise.
+ (cbranchhi4_real): Likewise.
+ (cbranchpsi4_reversed): Likewise.
+ (cbranchqi4_reversed): Likewise.
+ (cbranchhi4_reversed): Likewise.
+
2019-12-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/92803
(define_expand "cbranch<mode>4"
[(parallel [(set (pc) (if_then_else
(match_operator 0 ""
- [(match_operand:QHI 1 "nonimmediate_operand")
+ [(match_operand:QHI 1 "msp430_general_dst_nonv_operand")
(match_operand:QHI 2 "general_operand")])
(label_ref (match_operand 3 "" ""))
(pc)))
(define_insn "cbranchpsi4_real"
[(set (pc) (if_then_else
(match_operator 0 "msp430_cmp_operator"
- [(match_operand:PSI 1 "nonimmediate_operand" "r,rYs,rm")
+ [(match_operand:PSI 1 "msp430_general_dst_nonv_operand" "r,rYs,rm")
(match_operand:PSI 2 "general_operand" "rLs,rYsi,rmi")])
(label_ref (match_operand 3 "" ""))
(pc)))
(define_insn "cbranchqi4_real"
[(set (pc) (if_then_else
(match_operator 0 "msp430_cmp_operator"
- [(match_operand:QI 1 "nonimmediate_operand" "rYsYx,rm")
+ [(match_operand:QI 1 "msp430_general_dst_nonv_operand" "rYsYx,rm")
(match_operand:QI 2 "general_operand" "rYsYxi,rmi")])
(label_ref (match_operand 3 "" ""))
(pc)))
(define_insn "cbranchhi4_real"
[(set (pc) (if_then_else
(match_operator 0 "msp430_cmp_operator"
- [(match_operand:HI 1 "nonimmediate_operand" "rYsYx,rm")
+ [(match_operand:HI 1 "msp430_general_dst_nonv_operand" "rYsYx,rm")
(match_operand:HI 2 "general_operand" "rYsYxi,rmi")])
(label_ref (match_operand 3 "" ""))
(pc)))
[(set (pc) (if_then_else
(match_operator 0 "msp430_reversible_cmp_operator"
[(match_operand:PSI 1 "general_operand" "rLs,rYsi,rmi")
- (match_operand:PSI 2 "general_operand" "r,rYs,rm")])
+ (match_operand:PSI 2 "msp430_general_dst_nonv_operand" "r,rYs,rm")])
(label_ref (match_operand 3 "" ""))
(pc)))
(clobber (reg:BI CARRY))
[(set (pc) (if_then_else
(match_operator 0 "msp430_reversible_cmp_operator"
[(match_operand:QI 1 "general_operand" "rYsYxi,rmi")
- (match_operand:QI 2 "general_operand" "rYsYx,rm")])
+ (match_operand:QI 2 "msp430_general_dst_nonv_operand" "rYsYx,rm")])
(label_ref (match_operand 3 "" ""))
(pc)))
(clobber (reg:BI CARRY))
[(set (pc) (if_then_else
(match_operator 0 "msp430_reversible_cmp_operator"
[(match_operand:HI 1 "general_operand" "rYsYxi,rmi")
- (match_operand:HI 2 "general_operand" "rYsYx,rm")])
+ (match_operand:HI 2 "msp430_general_dst_nonv_operand" "rYsYx,rm")])
(label_ref (match_operand 3 "" ""))
(pc)))
(clobber (reg:BI CARRY))