Commit Graph

90694 Commits

Author SHA1 Message Date
Paolo Carlini 7391b59739 re PR libstdc++/38196 (num_put<>::do_put(bool) performs 'internal' padding incorrectly when boolalpha==true)
2008-11-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38196
	* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
	ios_base&, char_type, bool)): Fix.
	* testsuite/22_locale/num_put/put/char/38196.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.

From-SVN: r142048
2008-11-20 16:00:17 +00:00
Jakub Jelinek 8c3ed71edb trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Use gfc_index_one_node.
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Use
	gfc_index_one_node.
	(gfc_conv_intrinsic_size): Use gfc_index_{zero,one}_node.

From-SVN: r142046
2008-11-20 16:21:12 +01:00
Thomas Schwinge 97e274e76f Add PR tag forgotten in rev142043.
From-SVN: r142044
2008-11-20 14:24:18 +01:00
Samuel Thibault e29354d4a4 tlink.c: Include "libiberty.h".
2008-11-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* tlink.c: Include "libiberty.h".
	(initial_cwd): Change type into char *.
	(tlink_init): Call getpwd instead of getcwd.

From-SVN: r142043
2008-11-20 14:21:51 +01:00
Richard Guenther 32427faa01 re PR tree-optimization/37868 (code that breaks TBAA is misoptimized even with -fno-strict-aliasing)
2008-11-20  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37868
	* gcc.dg/torture/pr37868.c: New testcase.
	* gcc.c-torture/execute/pr38048-1.c: Likewise.
	* gcc.c-torture/execute/pr38048-2.c: Likewise.

From-SVN: r142041
2008-11-20 12:25:26 +00:00
Jakub Jelinek b41b10e590 re PR fortran/38181 (calls to SIZE not optimized out of loops)
PR fortran/38181
	* trans-intrinsic.c (gfc_conv_intrinsic_size): Inline 2 argument
	size if the second argument is not optional and one argument size
	for rank 1 arrays.

	* gfortran.dg/array_section_2.f90: Adjust pattern to match
	the inlined size0 instead of a size0 call.

From-SVN: r142037
2008-11-20 10:42:35 +01:00
Zdenek Dvorak dc5b3407f2 re PR rtl-optimization/32283 (Missed induction variable optimization)
PR rtl-optimization/32283
	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Use type of the base
	of the induction variable to decide whether it may wrap.
	* tree-ssa-loop-ivopts.c (rewrite_use_compare): Emit the initialization
	of the bound before the loop.
	* simplify-rtx.c (simplify_binary_operation_1): Add two simplifications
	regarding AND.
	(simplify_plus_minus): Only fail if no simplification is possible.
	* loop-iv.c (simple_rhs_p): Consider reg + reg and reg << cst simple.

From-SVN: r142035
2008-11-20 08:05:12 +00:00
Jakub Jelinek f9487002a4 re PR c++/36631 (attribute always_inline -> sorry, unimplemented: recursive inlining)
PR c++/36631
	* gimplify.c (gimplify_call_expr): Defer most of the cannot inline
	checking until GIMPLE lowering.
	* gimple-low.c (check_call_args): New function.
	(lower_stmt) <case GIMPLE_CALL>: Call it.

	* g++.dg/template/call5.C: New test.

From-SVN: r142033
2008-11-20 02:47:10 +01:00
GCC Administrator 104320132f Daily bump.
From-SVN: r142030
2008-11-20 00:17:02 +00:00
Dodji Seketeli 8320114a44 re PR c++/37142 (ICE: in dependent_type_p, at cp/pt.c:15585)
gcc/testsuite/ChangeLog:
2008-11-19  Dodji Seketeli  <dodji@redhat.com>

	PR c++/37142
	* g++.dg/template/crash85.C: New test.

gcc/cp/ChangeLog
2008-11-19  Dodji Seketeli  <dodji@redhat.com>

	PR c++/37142
	* pt.c (coerce_template_template_parm): Use the more robust
	uses_template_parms instead of dependent_type_p.

From-SVN: r142025
2008-11-20 01:00:39 +01:00
Adam Nemet 3179cf8cf5 mips.c (mips_gimplify_va_arg_expr): Use -rsize with the same type as the first operand of the AND expression.
* config/mips/mips.c (mips_gimplify_va_arg_expr): Use -rsize
	with the same type as the first operand of the AND expression.

testsuite/
	* gcc.c-torture/compile/20081119-1.c: New test.

From-SVN: r142024
2008-11-19 23:13:29 +00:00
Dodji Seketeli b55276c8ac re PR c++/35405 (Internal compiler error)
gcc/cp/ChangeLog:
2008-11-19  Dodji Seketeli  <dodji@redhat.com>

	PR c++/35405
	* pt.c (lookup_template_class): Check pointers before dereferencing
	  Them.
	* error.c (dump_template_decl): Likewise.

gcc/testsuite/ChangeLog:
2008-11-19  Dodji Seketeli  <dodji@redhat.com>

	PR c++/35405
	* g++.dg/template/crash84.C: New test.

From-SVN: r142022
2008-11-19 23:26:56 +01:00
Jakub Jelinek ff367ac902 pr11832.c: XFAIL even on s390*-*-*.
* gcc.c-torture/compile/pr11832.c: XFAIL even on s390*-*-*.
	* gcc.c-torture/compile/pr33009.c: Likewise.

From-SVN: r142021
2008-11-19 22:52:47 +01:00
DJ Delorie 34323e64d2 below100.S (.chip_info): Use position-independent expressions for the fillers.
* gcc.target/xstormy16/below100.S (.chip_info): Use
position-independent expressions for the fillers.

From-SVN: r142020
2008-11-19 16:43:16 -05:00
Jason Merrill 01d685ccfd re PR c++/36410 (ICE with transparent union)
PR c++/36410
        * decl2.c (grokfield): Pass ATTR_FLAG_TYPE_IN_PLACE for a typedef
        that names a class for linkage purposes.

From-SVN: r142019
2008-11-19 16:35:27 -05:00
Vladimir Makarov ea1c67e6e3 re PR bootstrap/37859 (Bootstrap failure on mips64octeon-unknown-linux-gnu)
2008-11-19  Vladimir Makarov  <vmakarov@redhat.com>

	PR bootstrap/37859
	* ira-int.h (struct ira_loop_tree_node): New member
	entered_from_non_parent_p.

	* ira-color.c (print_loop_title): Print loop bbs.

	* ira-emit.c (entered_from_non_parent_p,
	setup_entered_from_non_parent_p): New functions.
	(not_modified_p): Rename to store_can_be_removed_p.  Check there
	is no side entries.
	(generate_edge_moves): Use store_can_be_removed_p instead of
	not_modified_p.
	(ira_emit): Call setup_entered_from_non_parent_p.
	
	* ira-build.c (copy_info_to_removed_store_destinations):
	Accumulate CALL_FREQ, CALL_CROSSED_NUM, and
	ALLOCNO_EXCESS_PRESSURE_POINTS_NUM.
	(ira_flattening): Don't CHECK MEM_OPTIMIZED_DEST[_P], always
	update all accumulated attributes.

From-SVN: r142018
2008-11-19 21:25:00 +00:00
Vladimir Makarov 3553f0bb32 re PR middle-end/37790 (limits-fnargs.c takes very long time to compile at -O2)
2008-11-15  Vladimir Makarov  <vmakarov@redhat.com>

	PR bootstrap/37790
	* ira-int.h (ira_copy_allocno_live_range_list,
	ira_merge_allocno_live_ranges,
	ira_allocno_live_ranges_intersect_p,
	ira_finish_allocno_live_range_list): New prototypes.
	(ira_allocno_live_ranges_intersect_p,
	ira_pseudo_live_ranges_intersect_p): Remove.
	
	* ira-conflicts.c (ira_allocno_live_ranges_intersect_p,
	ira_pseudo_live_ranges_intersect_p): Rename to
	allocnos_have_intersected_live_ranges_p and
	pseudos_have_intersected_live_ranges_p.  Move them from here to
	...

	* ira-color.c: ... here
	(coalesced_allocno_conflict_p): Use
	allocnos_have_intersected_live_ranges_p.
	(coalesced_allocnos_living_at_program_points,
	coalesced_allocnos_live_at_points_p,
	set_coalesced_allocnos_live_points): Remove.
	(slot_coalesced_allocnos_live_ranges,
	slot_coalesced_allocno_live_ranges_intersect_p,
	setup_slot_coalesced_allocno_live_ranges): New.
	(coalesce_spill_slots): Use ranges of coalesced allocnos.
	(ira_sort_regnos_for_alter_reg): Use
	allocnos_have_intersected_live_ranges_p.
	(ira_reuse_stack_slot): Use
	pseudos_have_intersected_live_ranges_p.

	* global.c (pseudo_for_reload_consideration_p): Check
	flag_ira_share_spill_slots too.

	* ira-build.c (copy_allocno_live_range_list): Rename to
	ira_copy_allocno_live_range_list.  Make it external.
	(merge_ranges): Rename to ira_merge_allocno_live_ranges.  Make it
	external.
	(ira_allocno_live_ranges_intersect_p): New.
	(ira_finish_allocno_live_range_list): New.
	(finish_allocno): Use it.
	(remove_unnecessary_allocnos): Use ira_merge_allocno_live_ranges.
	(copy_info_to_removed_store_destinations): Ditto.  Use
	ira_copy_allocno_live_range_list.
	(ira_flattening): Use ira_merge_allocno_live_ranges.
	
	* ira.c (too_high_register_pressure_p): New function.
	(ira): Switch off sharing spill slots if the pressure is too high.

From-SVN: r142017
2008-11-19 21:20:44 +00:00
Jason Merrill 2de6c675d3 re PR c++/37563 (Trouble calling qualified member function)
PR c++/37563
        * parser.c (cp_parser_pseudo_destructor_name): A pseudo-destructor
        name is not a declaration.

From-SVN: r142015
2008-11-19 14:36:38 -05:00
Jason Merrill da3933ba83 re PR c++/37256 (extern template / explicit instantiation broken in 4.4.0-pre)
PR c++/37256
        * pt.c (instantiate_decl): Don't require a definition of
        a template that is explicitly instantiated 'extern'.

From-SVN: r142014
2008-11-19 14:27:29 -05:00
Bob Wilson 2ad646bdca include/
* xtensa-config.h (XCHAL_HAVE_MUL16, XCHAL_HAVE_MUL32, XCHAL_HAVE_DIV32)
	(XCHAL_HAVE_MINMAX, XCHAL_HAVE_SEXT, XCHAL_HAVE_THREADPTR)
	(XCHAL_HAVE_RELEASE_SYNC, XCHAL_HAVE_S32C1I): Change to 1.
	(XCHAL_NUM_AREGS): Change to 32.
	(XCHAL_ICACHE_SIZE, XCHAL_DCACHE_SIZE): Change to 16K.
	(XCHAL_ICACHE_LINESIZE, XCHAL_DCACHE_LINESIZE): Change to 32.
	(XCHAL_ICACHE_LINEWIDTH, XCHAL_DCACHE_LINEWIDTH): Change to 5.
	(XCHAL_DCACHE_IS_WRITEBACK): Change to 1.
	(XCHAL_DEBUGLEVEL): Change to 6.

From-SVN: r142012
2008-11-19 18:26:00 +00:00
Richard Guenther 9866586167 tree.c (build2_stat): Allow non-POINTER_PLUS_EXPRs with non-sizetype offsets if...
2008-11-19  Richard Guenther  <rguenther@suse.de>

	* tree.c (build2_stat): Allow non-POINTER_PLUS_EXPRs with
	non-sizetype offsets if their precision matches that of
	the pointer.
	* expr.c (expand_expr_real_1): Always sign-extend the offset
	operand of a POINTER_PLUS_EXPR.

From-SVN: r142009
2008-11-19 17:38:15 +00:00
Rainer Orth 059c51ecb4 config.gcc: Unobsolete mips-sgi-irix[56]*.
* config.gcc: Unobsolete mips-sgi-irix[56]*.
	(mips-sgi-irix[56]*): No need to use fixproto.

From-SVN: r142008
2008-11-19 17:03:51 +00:00
Maxim Kuvyrkov 74cc88a6f4 lb1sf68.asm: Add GNU-stack annotation to avoid executable stack.
* config/m68k/lb1sf68.asm: Add GNU-stack annotation to avoid
	executable stack.

Co-Authored-By: Paul Brook <paul@codesourcery.com>

From-SVN: r142007
2008-11-19 16:52:16 +00:00
Maxim Kuvyrkov 00b2ef145c m68k.c (sched_attr_op_type): Handle all CONSTs.
* config/m68k/m68k.c (sched_attr_op_type): Handle all CONSTs.

	* gcc.target/m68k/xgot-1.c (dg-options): Add -O2.

From-SVN: r142005
2008-11-19 16:24:10 +00:00
Razya Ladelsky c0399c47eb re PR tree-optimization/38156 (gcc.dg/tree-ssa/update-unswitch-1.c fails when compiled with -ftree-parallelize-loops=4)
2008-11-19  Razya Ladelsky  <razya@il.ibm.com>

        PR target/38156
        * tree-parloops.c (loop_parallel_p): NULL vect_dump.
        (separate_decls_in_region): Create shared struct even when there
        are only reductions.

From-SVN: r142004
2008-11-19 16:08:01 +00:00
Hariharan Sandanagobalane fc6f1e053a *config/picochip/picochip.c (headers): Removed an unnecessary header.
From-SVN: r142002
2008-11-19 14:12:03 +00:00
Jakub Jelinek a80e4efd48 re PR tree-optimization/36038 (miscompiled loop in perlbmk for -Os)
PR tree-optimization/36038
	* gcc.c-torture/compile/pr36038.c: Moved to...
	* gcc.c-torture/execute/pr36038.c: ... here.

From-SVN: r142000
2008-11-19 14:03:43 +01:00
Andrew Stubbs 1afac9a69f re PR target/36133 (GCC creates suboptimal ASM : Code includes unneeded TST instructions)
2008-11-19  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	PR target/36133
	* config/m68k/m68k.h (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY): New defines.
	* config/m68k/m68k.c (notice_update_cc): Set cc_status properly for
	shift instructions.
	* config/m68k/m68k.md: Adjust all conditional branches that use the
	carry and overflow flags so they understand CC_OVERFLOW_UNUSABLE.

	gcc/testsuite/
	PR target/36133
	* gcc.target/m68k/pr36133.c: New test.

From-SVN: r141999
2008-11-19 11:23:28 +00:00
Maxim Kuvyrkov 681afbeab6 wo_prof_global_var.c: Use uninitialized integer values instead of uninitialized FP values to avoid NaNs.
* gcc.gd/struct/wo_prof_global_var.c: Use uninitialized integer
 	values instead of uninitialized FP values to avoid NaNs.
 	* gcc.dg/struct/wo_prof_local_var.c: Same.

From-SVN: r141998
2008-11-19 11:12:07 +00:00
Eric Botcazou 0fd2f9fbea f2003_io_1.f03: XFAIL for all SPARC targets.
* gfortran.dg/f2003_io_1.f03: XFAIL for all SPARC targets.
	* gfortran.dg/f2003_io_4.f03: Ditto.
	* gfortran.dg/f2003_io_5.f03: Ditto.
	* gfortran.dg/f2003_io_6.f03: Ditto.
	* gfortran.dg/f2003_io_7.f03: Ditto.

From-SVN: r141996
2008-11-19 08:37:13 +00:00
Paul Thomas cfdf8f1a67 re PR fortran/38171 (equivalence and nested modules broken)
2008-11-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38171
	* ChangeLog: Correct PR number.

From-SVN: r141991
2008-11-19 03:41:57 +00:00
Paul Thomas 81a7154e57 re PR fortran/38119 (character ICE in gfc_trans_create_temp_array)
2008-11-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/38119
	* module.c (load_equiv): Regression fix; check that equivalence
	members come from the same module only.

2008-11-19  Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/module_equivalence_6.f90: New test.

From-SVN: r141990
2008-11-19 03:25:00 +00:00
GCC Administrator 517c738128 Daily bump.
From-SVN: r141987
2008-11-19 00:16:44 +00:00
Jakub Jelinek 890154a8b6 re PR tree-optimization/38051 (Miscompilation of glibc's memcmp)
PR tree-optimization/38051
	* gcc.c-torture/execute/pr38051.c (buf): Remove aligned attribute.
	(buf2): Removed.
	(main): Only run on little endian targets with
	sizeof (long) == sizeof (void *).  Use just one buffer, align the
	pointers at runtime.

From-SVN: r141983
2008-11-19 00:01:35 +01:00
Thomas Koenig 042fed7915 re PR fortran/38135 (RESHAPE gives wrong result)
2008-11-18  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/38135
	* m4/reshape.m4:  Correct bounds checking when PAD is present.
	Treat PAD as if it were SOURCE when SOURCE is empty.
	* intrinsics/reshape_generic.c:  Likewise.
	* generated/reshape_c10.c Regenerated.
	* generated/reshape_c16.c Regenerated.
	* generated/reshape_c4.c Regenerated.
	* generated/reshape_c8.c Regenerated.
	* generated/reshape_i16.c Regenerated.
	* generated/reshape_i4.c Regenerated.
	* generated/reshape_i8.c Regenerated.
	* generated/reshape_r10.c Regenerated.
	* generated/reshape_r16.c Regenerated.
	* generated/reshape_r4.c Regenerated.
	* generated/reshape_r8.c Regenerated.

2008-11-18  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/38135
	* gfortran.dg/reshape_pad_1.f90:  New test case.

From-SVN: r141982
2008-11-18 22:43:05 +00:00
Ben Elliston 7a401a0df3 dg-cmp-results.sh: Do not print usage if either .sum file cannot be opened...
* dg-cmp-results.sh: Do not print usage if either .sum file cannot
	be opened; print a more meaningful error instead.

From-SVN: r141979
2008-11-19 09:00:42 +11:00
Uros Bizjak 8afb060511 re PR target/37362 (Bootstrap broken on mipsisa64r2-linux-gcc)
PR target/37362
	* config/mips/mips.md (move_doubleword_fpr<mode>): Check that "high"
	is a register or zero operand in the correct mode before generating
	mtch1 insn or a register operand in the correct mode before generating
	mfch1 insn.
	(mtch1<mode>): Correct operand 1 predicate to reg_or_0_operand.

testsuite/ChangeLog:

	PR target/37362
	* gcc.target/mips/pr37362.c: New test.

From-SVN: r141978
2008-11-18 23:00:12 +01:00
Adam Nemet 0a4a51c75b config.gcc (mips*-sde-elf*): Handle mipsisa64r2*.
gcc/
	* config.gcc (mips*-sde-elf*): Handle mipsisa64r2*.
	(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add new cases to
	mipsisa*-*-elf*.  Handle mipsisa64r2*.
	* config/mips/sde.h (LINK_SPEC): Handle -mips64r2.
	* config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
	mips64r2.
	(MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.
	* config/mips/t-sde (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
	mips64r2.
	(MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.  Add mips64r2/mips16.
	Fix mips16 if mips64 or mips64r2 are multilib defaults.
	* config/mips/t-sdemtk (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
	mips64r2.

libgcc/
	* config.host (mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*): New
	case.

From-SVN: r141976
2008-11-18 21:00:28 +00:00
Joseph Myers 32f6cf8719 * cpplib.pot: Regenerate.
From-SVN: r141974
2008-11-18 20:07:59 +00:00
Joseph Myers cc95c8b9d5 * gcc.pot: Regenerate.
From-SVN: r141973
2008-11-18 20:07:00 +00:00
Joseph Myers 6c3b70367f * ru.po: Update.
From-SVN: r141971
2008-11-18 18:18:22 +00:00
Jason Merrill 3f50c84611 re PR c++/37962 (ICE with (auto*) casts)
PR c++/37962
cp/
        * parser.c (cp_parser_type_id): Complain about auto.
        * decl.c (grokdeclarator): Complain about parameters and
        conversion functions declared with auto.
        * call.c (standard_conversion): Use CLASS_TYPE_P instead of
        MAYBE_CLASS_TYPE_P.
        * cp-tree.h (TYPE_NON_AGGREGATE_CLASS): Likewise.
testsuite/
        * g++.dg/cpp0x/auto[38].C: Adjust expected errors.
        * g++.dg/cpp0x/auto9.C: New test.
        * g++.dg/cpp0x/auto10.C: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r141970
2008-11-18 13:11:32 -05:00
Paolo Carlini 43db6c722a cinttypes: Remove redundant pragma system_header.
2008-11-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/cinttypes: Remove redundant pragma system_header.
	* include/tr1_impl/cfenv: Likewise.
	* include/tr1_impl/cstdint: Likewise.

From-SVN: r141968
2008-11-18 17:27:10 +00:00
Jakub Jelinek 6ea90eb710 re PR target/38130 (__builtin_alloca (vs IRA?) testsuite failures on mingw32)
PR target/38130
	* config/i386/i386.md (allocate_stack_worker_32,
	allocate_stack_worker_64): Don't use match_dup between input and
	output operand.
	(allocate_stack): Adjust gen_stack_worker_{32,64} caller.
	* config/i386/i386.c (ix86_expand_prologue): Likewise.

From-SVN: r141965
2008-11-18 13:33:38 +01:00
Eric Botcazou d74b4b0078 re PR ada/38127 (ACATS cd1c04e fails on sparc, hppa)
PR ada/38127
	* gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Propagate
	the name.

From-SVN: r141964
2008-11-18 12:10:18 +00:00
Kai Tietz 3dae586db9 t-cygming (SHLIB_LINK): Make sure that $(SHLIB_MAP).def is forced when trying to do a symbol link for it.
2008-11-18  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/t-cygming (SHLIB_LINK): Make sure that $(SHLIB_MAP).def
        is forced when trying to do a symbol link for it.

From-SVN: r141963
2008-11-18 12:03:01 +01:00
Adam Nemet a990abffbf expmed.c (extract_bit_field_1): Also use a temporary and convert_extracted_bit_field when...
* expmed.c (extract_bit_field_1): Also use a temporary and
	convert_extracted_bit_field when the conversion from ext_mode to
	the target mode requires explicit truncation.

testsuite/
	* gcc.c-torture/execute/20081117-1.c: New test.

From-SVN: r141960
2008-11-18 02:08:24 +00:00
GCC Administrator da8f5862ce Daily bump.
From-SVN: r141958
2008-11-18 00:16:59 +00:00
Richard Sandiford e08be11c89 mips.h (REG_ALLOC_ORDER): Put accumulators first.
gcc/
	* config/mips/mips.h (REG_ALLOC_ORDER): Put accumulators first.
	Tweak formatting.
	* config/mips/mips.c (mips_ira_cover_classes): Don't use accumulator
	registers when not optimizing.

gcc/testsuite/
	* gcc.target/mips/dspr2-MULT.c: Just check for $ac1 and $ac2.
	* gcc.target/mips/dspr2-MULTU.c: Likewise.

From-SVN: r141955
2008-11-17 22:59:54 +00:00
Richard Sandiford 839380ee60 mips.md (*mul_acc_si): Remove middle alternative and its associated define_split.
gcc/
	* config/mips/mips.md (*mul_acc_si): Remove middle alternative
	and its associated define_split.  Expose the all-d alternative
	to the register allocator, but mark it with "?".  Mark the first
	alternative with "*?*?".
	(*mul_sub_si): Likewise.
	(*mul_acc_si_r3900): New pattern.

gcc/testsuite/
	* gcc.target/mips/madd-5.c: New test.
	* gcc.target/mips/madd-6.c: Likewise.
	* gcc.target/mips/madd-7.c: Likewise.
	* gcc.target/mips/madd-8.c: Likewise.
	* gcc.target/mips/msub-5.c: Likewise.
	* gcc.target/mips/msub-6.c: Likewise.
	* gcc.target/mips/msub-7.c: Likewise.
	* gcc.target/mips/msub-8.c: Likewise.

From-SVN: r141954
2008-11-17 22:49:05 +00:00