diff options
author | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-07 00:21:27 +0000 |
---|---|---|
committer | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-07 00:21:27 +0000 |
commit | 024a7b16b377574a89685bf14d5ee3c849150bc9 (patch) | |
tree | c3aab63133a2978d1b3a4e6768f065ae408fd34a /gcc | |
parent | 97e1a70bce03c1ae1a01f7f869b9c896a442ff86 (diff) | |
download | gcc-024a7b16b377574a89685bf14d5ee3c849150bc9.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96000 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | 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 <edelsohn@gnu.org> + + * 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 <marekm@amelek.gda.pl> 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" |