return 1;
return 0;
}
+
+/* Return 1 if OP is a comparison operator that can use the condition code
+ generated by an arithmetic operation. */
+
+int
+arithmetic_comparison_operator (op, mode)
+ register rtx op;
+ enum machine_mode mode;
+{
+ enum rtx_code code;
+
+ if (mode != VOIDmode && mode != GET_MODE (op))
+ return 0;
+ code = GET_CODE (op);
+ if (GET_RTX_CLASS (code) != '<')
+ return 0;
+
+ return (code != GT && code != LE);
+}
\f
/* Returns 1 if OP contains a symbol reference */
case NE: fputs ("jne", file); return;
case EQ: fputs ("je", file); return;
case GE: fputs ("jns", file); return;
- case GT: fputs ("jg", file); return;
- case LE: fputs ("jle", file); return;
case LT: fputs ("js", file); return;
- case GEU: fputs ("jae", file); return;
- case GTU: fputs ("ja", file); return;
- case LEU: fputs ("jbe", file); return;
- case LTU: fputs ("jb", file); return;
+ case GEU: fputs ("jmp", file); return;
+ case GTU: fputs ("jne", file); return;
+ case LEU: fputs ("je", file); return;
+ case LTU: fputs ("#branch never", file); return;
+
+ /* no matching branches for GT nor LE */
}
abort ();