aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJohn David Anglin <danglin@gcc.gnu.org>2020-01-06 23:48:42 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2020-01-06 23:48:42 +0000
commitcf319b3f5455df7fd97f213d8cf251492eea3bae (patch)
tree790c330fd696ae633f93e1b6cd3f1da08e71a837 /gcc
parenta0643f028e43aa2a5b09907295ecaadedac2d295 (diff)
downloadgcc-cf319b3f5455df7fd97f213d8cf251492eea3bae.zip
gcc-cf319b3f5455df7fd97f213d8cf251492eea3bae.tar.gz
gcc-cf319b3f5455df7fd97f213d8cf251492eea3bae.tar.bz2
pa.md: Revert change to use ordered_comparison_operator instead of...
* 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. From-SVN: r279927
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/pa/pa.md4
-rw-r--r--gcc/config/pa/predicates.md6
3 files changed, 15 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 80ace59..1ba98e4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+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
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index c2fa44c..6350c68 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -1524,7 +1524,7 @@
(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 "" ""))
@@ -1553,7 +1553,7 @@
(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)
diff --git a/gcc/config/pa/predicates.md b/gcc/config/pa/predicates.md
index 424a3b9..42a236c 100644
--- a/gcc/config/pa/predicates.md
+++ b/gcc/config/pa/predicates.md
@@ -662,6 +662,12 @@
(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"