/* Generate code from machine description to recognize rtl as insns.
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1997, 1998,
- 1999, 2000, 2001 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of GCC.
static struct decision *add_to_sequence
PARAMS ((rtx, struct decision_head *, const char *, enum routine_type, int));
-static int maybe_both_true_mode
- PARAMS ((enum machine_mode, enum machine_mode));
static int maybe_both_true_2
PARAMS ((struct decision_test *, struct decision_test *));
static int maybe_both_true_1
return sub;
}
\f
-/* A subroutine of maybe_both_true; compares two modes.
- Returns > 0 for "definitely both true" and < 0 for "maybe both true". */
-
-static int
-maybe_both_true_mode (m1, m2)
- enum machine_mode m1, m2;
-{
- enum mode_class other_mode_class;
-
- /* Pmode is not a distinct mode. We do know that it is
- either MODE_INT or MODE_PARTIAL_INT though. */
- if (m1 == Pmode)
- other_mode_class = GET_MODE_CLASS (m2);
- else if (m2 == Pmode)
- other_mode_class = GET_MODE_CLASS (m1);
- else
- return m1 == m2;
-
- return (other_mode_class == MODE_INT
- || other_mode_class == MODE_PARTIAL_INT
- ? -1 : 0);
-}
-
/* A subroutine of maybe_both_true; examines only one test.
Returns > 0 for "definitely both true" and < 0 for "maybe both true". */
switch (d1->type)
{
case DT_mode:
- return maybe_both_true_mode (d1->u.mode, d2->u.mode);
+ return d1->u.mode == d2->u.mode;
case DT_code:
return d1->u.code == d2->u.code;
{
if (d2->type == DT_mode)
{
- if (maybe_both_true_mode (d1->u.pred.mode, d2->u.mode) == 0
+ if (d1->u.pred.mode != d2->u.mode
/* The mode of an address_operand predicate is the
mode of the memory, not the operand. It can only
be used for testing the predicate, so we must
if (cmp != 0)
{
if (toplevel)
- abort();
+ abort ();
/* If the d2->position was lexically lower, swap. */
if (cmp > 0)
|| type == DT_elt_zero_wide_safe)
{
const char *indent = "";
- /* Pmode may not be a compile-time constant. */
- if (type == DT_mode && p->tests->u.mode == Pmode)
- return p;
/* We cast switch parameter to integer, so we must ensure that the value
fits. */
if (nodes_identical_1 (p->tests, q->tests))
goto case_done;
- /* Pmode may not be a compile-time constant. */
- if (type == DT_mode && p->tests->u.mode == Pmode)
- goto case_done;
-
if (p != start && p->need_label && needs_label == NULL)
needs_label = p;
memset (&peephole2_tree, 0, sizeof peephole2_tree);
if (argc <= 1)
- fatal ("No input file name");
+ fatal ("no input file name");
if (init_md_reader_args (argc, argv) != SUCCESS_EXIT_CODE)
return (FATAL_EXIT_CODE);