From 8270111ebe85387475ede76649873c23d2dafacb Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Sun, 7 Nov 1993 04:28:00 +0000 Subject: [PATCH] (partial_ccmode_register_operand, even_relop) (partial_ccmode_register_operand, even_relop) (odd_relop): New functions, for support of CCEVENmode. (print_operand, new case '!'): Revert following condition. From-SVN: r6030 --- gcc/config/m88k/m88k.c | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gcc/config/m88k/m88k.c b/gcc/config/m88k/m88k.c index 8a7420d2c65..695d655ba9d 100644 --- a/gcc/config/m88k/m88k.c +++ b/gcc/config/m88k/m88k.c @@ -1341,6 +1341,16 @@ real_or_0_operand (op, mode) && op == CONST0_RTX (mode))); } +/* Return true if OP is valid to use in the context of logic aritmethic + on condition codes. */ + +int partial_ccmode_register_operand(op,mode) + rtx op; + enum machine_mode mode; +{ + return (register_operand(op,CCmode) || register_operand(op,CCEVENmode)); +} + /* Return true if OP is a relational operator. */ int @@ -1366,6 +1376,40 @@ relop (op, mode) } } +int even_relop(op,mode) + rtx op; + enum machine_mode mode; +{ + switch (GET_CODE(op)) + { + case EQ: + case LT: + case GT: + case LTU: + case GTU: + return 1; + default: + return 0; + } +} + +int odd_relop(op,mode) + rtx op; + enum machine_mode mode; +{ + switch (GET_CODE(op)) + { + case NE: + case LE: + case GE: + case LEU: + case GEU: + return 1; + default: + return 0; + } +} + /* Return true if OP is a relational operator, and is not an unsigned relational operator. */ @@ -2803,6 +2847,10 @@ print_operand (file, x, code) ? ".n\t" : "\t", file); return; + case '!': /* Reverse the following condition. */ + sequencep++; + reversep=1; + return; case 'R': /* reverse the condition of the next print_operand if operand is a label_ref. */ sequencep++; -- 2.30.2