predicates.md (branch_comparison_operator): Convert from C block to conditional format.

* config/rs6000/predicates.md (branch_comparison_operator):
        Convert from C block to conditional format.

From-SVN: r95864
This commit is contained in:
David Edelsohn 2005-03-04 01:33:45 +00:00 committed by David Edelsohn
parent 1d3206c160
commit 57a71826b5
2 changed files with 13 additions and 17 deletions

View File

@ -1,3 +1,8 @@
2005-03-03 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/predicates.md (branch_comparison_operator):
Convert from C block to conditional format.
2005-03-03 Jan Hubicka <jh@suse.cz>
* tree-dfa.c (add_referenced_var): Don't walk initializer of external

View File

@ -677,24 +677,15 @@
(match_code "smin,smax,umin,umax"))
;; Return 1 if OP is a comparison operation that is valid for a branch
;; instruction. We only check the opcode against the mode of the CC value.
;; instruction. We check the opcode against the mode of the CC value.
;; validate_condition_mode is an assertion.
(define_predicate "branch_comparison_operator"
(match_code "eq,ne,le,lt,ge,gt,leu,ltu,geu,gtu,unordered,ordered,unge,unle")
{
enum rtx_code code = GET_CODE (op);
enum machine_mode cc_mode;
if (!COMPARISON_P (op))
return 0;
cc_mode = GET_MODE (XEXP (op, 0));
if (GET_MODE_CLASS (cc_mode) != MODE_CC)
return 0;
validate_condition_mode (code, cc_mode);
return 1;
})
(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")))))
;; Return 1 if OP is a comparison operation that is valid for an SCC insn --
;; it must be a positive comparison.