+2020-01-06 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.md: Revert change to use ordered_comparison_operator
+ instead of cmpib_comparison_operator in cmpib patterns.
+ * config/pa/predicates.md (cmpib_comparison_operator): Revert removal
+ of cmpib_comparison_operator. Revise comment.
+
2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
* tree-vect-slp.c (vect_build_slp_tree_1): Require all shifts
(define_insn ""
[(set (pc)
(if_then_else
- (match_operator 3 "ordered_comparison_operator"
+ (match_operator 3 "cmpib_comparison_operator"
[(match_operand:DI 1 "reg_or_0_operand" "rM")
(match_operand:DI 2 "arith5_operand" "rL")])
(label_ref (match_operand 0 "" ""))
(define_insn ""
[(set (pc)
(if_then_else
- (match_operator 3 "ordered_comparison_operator"
+ (match_operator 3 "cmpib_comparison_operator"
[(match_operand:DI 1 "reg_or_0_operand" "rM")
(match_operand:DI 2 "arith5_operand" "rL")])
(pc)
(and (match_code "symbol_ref")
(match_test "SYMBOL_REF_TLS_MODEL (op) == TLS_MODEL_LOCAL_EXEC")))
+;; True iff OP is an operator suitable for use in a double-word cmpib
+;; instruction.
+
+(define_predicate "cmpib_comparison_operator"
+ (match_code "eq,ne,lt,le,leu,gt,gtu,ge"))
+
;; True iff OP is an operator suitable for use in a movb instruction.
(define_predicate "movb_comparison_operator"