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:
parent
1d3206c160
commit
57a71826b5
2 changed files with 13 additions and 17 deletions
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Add table
Reference in a new issue