From ede62875331070c5abcf059665dcd0d7cdd237f8 Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Mon, 7 Mar 2005 00:21:27 +0000 Subject: [PATCH] predicates.md (branch_comparison_operator): Remove redundant match_code test. * config/rs6000/predicates.md (branch_comparison_operator): Remove redundant match_code test. (scc_comparison_operator): Swap match_operand and match_code tests. (branch_positive_comparison_operator): Same. (trap_comparison_operator): Use comparison_operator and swap with match_code test. From-SVN: r96000 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/rs6000/predicates.md | 24 +++++++++++------------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 52b36d7625f..521aebed82d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2005-03-06 David Edelsohn + + * config/rs6000/predicates.md (branch_comparison_operator): Remove + redundant match_code test. + (scc_comparison_operator): Swap match_operand and match_code + tests. + (branch_positive_comparison_operator): Same. + (trap_comparison_operator): Use comparison_operator and swap with + match_code test. + 2005-03-06 Marek Michalkiewicz PR target/20288 diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md index 0f395612c3c..5bf3e1765fe 100644 --- a/gcc/config/rs6000/predicates.md +++ b/gcc/config/rs6000/predicates.md @@ -680,30 +680,28 @@ ;; instruction. We check the opcode against the mode of the CC value. ;; validate_condition_mode is an assertion. (define_predicate "branch_comparison_operator" - (and (match_code "eq,ne,le,lt,ge,gt,leu,ltu,geu,gtu,unordered,ordered,unge,unle") - (and (match_operand 0 "comparison_operator") - (and (match_test "GET_MODE_CLASS (GET_MODE (XEXP (op, 0))) == MODE_CC") - (match_test "validate_condition_mode (GET_CODE (op), - GET_MODE (XEXP (op, 0))), - 1"))))) + (and (match_operand 0 "comparison_operator") + (and (match_test "GET_MODE_CLASS (GET_MODE (XEXP (op, 0))) == MODE_CC") + (match_test "validate_condition_mode (GET_CODE (op), + GET_MODE (XEXP (op, 0))), + 1")))) ;; Return 1 if OP is a comparison operation that is valid for an SCC insn -- ;; it must be a positive comparison. (define_predicate "scc_comparison_operator" - (and (match_code "eq,lt,gt,ltu,gtu,unordered") - (match_operand 0 "branch_comparison_operator"))) + (and (match_operand 0 "branch_comparison_operator") + (match_code "eq,lt,gt,ltu,gtu,unordered"))) ;; Return 1 if OP is a comparison operation that is valid for a branch ;; insn, which is true if the corresponding bit in the CC register is set. (define_predicate "branch_positive_comparison_operator" - (and (match_code "eq,lt,gt,ltu,gtu,unordered") - (match_operand 0 "branch_comparison_operator"))) + (and (match_operand 0 "branch_comparison_operator") + (match_code "eq,lt,gt,ltu,gtu,unordered"))) ;; Return 1 is OP is a comparison operation that is valid for a trap insn. (define_predicate "trap_comparison_operator" - (and (match_code "eq,ne,le,lt,ge,gt,leu,ltu,geu,gtu") - (match_test "(mode == VOIDmode || mode == GET_MODE (op)) - && COMPARISON_P (op)"))) + (and (match_operand 0 "comparison_operator") + (match_code "eq,ne,le,lt,ge,gt,leu,ltu,geu,gtu"))) ;; Return 1 if OP is a load multiple operation, known to be a PARALLEL. (define_predicate "load_multiple_operation" -- 2.30.2