aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gcc.gnu.org>2004-08-17 07:27:16 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2004-08-17 07:27:16 +0000
commit7c27e184c87d2b245f80287be1d28f686b68519e (patch)
tree0f8a615af173ede05125885d4bfc8d27ef332ff7 /gcc/config
parent9a9ff549030a22a0b8c0af58b633e006073959d7 (diff)
downloadgcc-7c27e184c87d2b245f80287be1d28f686b68519e.zip
gcc-7c27e184c87d2b245f80287be1d28f686b68519e.tar.gz
gcc-7c27e184c87d2b245f80287be1d28f686b68519e.tar.bz2
Makefile.in: Regenerate.
2004-08-17 Paolo Bonzini <bonzini@gnu.org> * Makefile.in: Regenerate. * configure: Regenerate. * Makefile.def (bootstrap-stage): Rename extra_*_flags to stage_*_flags. * Makefile.tpl (configure-[+module+], all-[+module+]): Exit for bootstrapped modules if toplevel bootstrap is going. (GCC bootstrap): Generate per-stage targets for all bootstrapped modules. Adjust for changes in Makefile.def. Enable several rules even in non-bootstrap mode, just to avoid peppering the template with unnecessary "@if/@endif gcc-bootstrap" pairs. (stage-[+prev+]-bubble): Remove. * Makefile.def (Dependencies): Depend on all-build-bison, all-build-flex, all-build-byacc, all-build-texinfo, rather than the host variations. * Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout with BUILD_SUBDIR. (BISON): Update for recent Bisons. (YACC): Fix typo. (cross): Depend on all-build. (all): Do not depend on all-build. (prebootstrap): Remove. (dep-kind): Accept separate prefixes for MODULE and ON variables. (Prebootstrap dependencies): Add them to the per-stage targets and to all-prebootstrap. * configure.in (build_configdirs): Always enable build_tools. (BUILD_DIR_PREFIX): Remove. * Makefile.def (gcc): Add target variable. (gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags. * Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*) in the recursive `make', instead of hardwiring `all'. (Autogenerated TARGET-* variables): New. gcc/ChangeLog: 2004-08-17 Paolo Bonzini <bonzini@gnu.org> * configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO. No need to check if in a cross configuration. * configure: Regenerate. * calls.c (precompute_register_parameters): Inline preserve_subexpressions_p (). * expmed.c (expand_mult_const, emit_store_flag): Likewise. * optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn): Likewise. * expr.c (get_subtarget): Likewise. * rtl.h (preserve_subexpressions_p): Remove. * stmt.c (preserve_subexpressions_p): Remove. * dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR, TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>: Abort on gimplified cases. From-SVN: r86111
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 0328df5..f8a0b00 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -2666,17 +2666,18 @@ function_arg (CUMULATIVE_ARGS *cum, /* current arg information */
&& GET_MODE_CLASS (TYPE_MODE (type)) != MODE_VECTOR_FLOAT)
{
enum machine_mode innermode = TYPE_MODE (TREE_TYPE (type));
- mode = TREE_CODE (TREE_TYPE (type)) == REAL_TYPE
- ? MIN_MODE_VECTOR_FLOAT : MIN_MODE_VECTOR_INT;
+ enum machine_mode newmode
+ = TREE_CODE (TREE_TYPE (type)) == REAL_TYPE
+ ? MIN_MODE_VECTOR_FLOAT : MIN_MODE_VECTOR_INT;
/* Get the mode which has this inner mode and number of units. */
- while (GET_MODE_NUNITS (mode) != TYPE_VECTOR_SUBPARTS (type)
- || GET_MODE_INNER (mode) != innermode)
- {
- mode = GET_MODE_WIDER_MODE (mode);
- if (mode == VOIDmode)
- abort ();
- }
+ for (; newmode != VOIDmode; newmode = GET_MODE_WIDER_MODE (newmode))
+ if (GET_MODE_NUNITS (newmode) == TYPE_VECTOR_SUBPARTS (type)
+ && GET_MODE_INNER (newmode) == innermode)
+ {
+ mode = newmode;
+ break;
+ }
}
/* Handle a hidden AL argument containing number of registers for varargs