Commit Graph

118578 Commits

Author SHA1 Message Date
Oleg Endo 487ebcbff5 sh.opt (menable-tas): Rename to mtas.
* config/sh/sh.opt (menable-tas): Rename to mtas.
	* doc/invoke.texi (SH options): Likewise.
	* config/sh/sync.md: Update comments.

From-SVN: r190782
2012-08-29 18:41:52 +00:00
Oleg Endo 7fa4bf9bf9 iterators.md: New file.
* config/sh/iterators.md: New file.
	* config/sh/sync.md (I124, I12, i124suffix): Delete.  Replace usage with
	new iterators QIHISI, QIHI, bw, bwl respectively throughout the file.
	* config/sh/sh.md: Include new file iterators.md.
	(zero_extendhisi2, zero_extendqisi2): Fold into zero_extend<mode>si2.
	(*zero_extendhisi2_compact, *zero_extendqisi2_compact): Fold into
	*zero_extend<mode>si2_compact.
	(*zero_extendqisi2_disp_mem, zero_extendhisi2_disp_mem): Fold into
	*zero_extend<mode>si2_disp_mem.
	(extendhisi2, extendqisi2): Fold into extend<mode>si2.
	(*extendqisi2_compact_reg, *extendhisi2_compact_reg): Fold into
	*extend<mode>si2_compact_reg.
	(*extendqisi2_compact_mem_disp, *extendhisi2_compact_mem_disp): Fold
	into *extend<mode>si2_compact_mem_disp.
	(*extendqisi2_compact_snd, *extendhisi2_compact_snd): Fold into
	*extend<mode>si2_compact_snd.
	(*movsi_index_disp, *movhi_index_disp): Fold with iterators and rename
	to *movsi_index_disp_load, *movhi_index_disp_load,
	*mov<mode>_index_disp_store.
	(*movqi_reg_reg, *movhi_reg_reg): Fold into *mov<mode>_reg_reg.
	(*movqi_store_mem_disp04, *movhi_store_mem_disp05): Fold into
	*mov<mode>_store_mem_disp04.
	(*movqi_store_mem_disp12, *movhi_store_mem_disp13): Fold into
	*mov<mode>_store_mem_disp12.
	(*movqi_load_mem_disp, *movhi_load_mem_disp): Fold into
	*mov<mode>_load_mem_disp04 and *mov<mode>_load_mem_disp12.

From-SVN: r190781
2012-08-29 18:40:09 +00:00
Martin Jambor de99ac704f ipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not do_estimate_edge_time.
2012-08-29  Martin Jambor  <mjambor@suse.cz>

	* ipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not
	do_estimate_edge_time.

From-SVN: r190777
2012-08-29 14:16:11 +02:00
Chung-Lin Tang 1274718f64 mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm directives, remove #ifndef __mips16 guards.
2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>

	* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm
	directives, remove #ifndef __mips16 guards.
	* config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
	mapping style, add ../lib/mips16.
	(MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16.
	(MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32.

From-SVN: r190774
2012-08-29 09:33:49 +00:00
Chung-Lin Tang 867a834534 crtfastmath.c (set_fast_math): Add 'nomips16' attribute.
2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>

	libgcc/
	* config/mips/crtfastmath.c (set_fast_math): Add 'nomips16'
	attribute.

From-SVN: r190773
2012-08-29 09:31:52 +00:00
Chung-Lin Tang c24dbebb44 futex.h (sys_futex0): Change to static function with noinline, nomips16 attributes under MIPS16.
2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>

	libgomp/
	* config/linux/mips/futex.h (sys_futex0): Change to static
	function with noinline, nomips16 attributes under MIPS16. Adjust
	asm statement to place 'li v0,SYS_futex' immediately before
	syscall insn.

From-SVN: r190772
2012-08-29 09:29:55 +00:00
Benjamin Kosnik 27f36b7837 PR libstdc++/54102, part 2
2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/54102, part 2
	* doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
	* doc/Makefile.in: Regenerate.
	* doc/html/*: Same.

From-SVN: r190771
2012-08-29 04:44:10 +00:00
Benjamin Kosnik 6247d6df14 *: Regenerate.
2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html/*: Regenerate.

From-SVN: r190770
2012-08-29 02:09:55 +00:00
Benjamin Kosnik 8d24c97565 re PR libstdc++/54102 (generated html vs. utf8)
2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/54102
	* doc/xsl/customization.xsl.in: New.
	* configure.ac: Output local copy of customization xsl.
	* doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
	(stamp-html-docbook): Set stringparam to UTF-8.
	* Makefile.in: Regenerated.
	* configure: Same.
	* doc/Makefile.in: Same.

From-SVN: r190768
2012-08-29 01:37:16 +00:00
H.J. Lu fabfa16b37 Replace malloc with xmalloc
* argv.c (dupargv): Replace malloc with xmalloc.  Don't check
	xmalloc return.
	(buildargv): Likewise.  Also replace strdup with xstrdup.
	(expandargv): Don't check dupargv return.

From-SVN: r190767
2012-08-28 18:03:21 -07:00
H.J. Lu 55529d369c Replace alloca with xmalloc/free
PR binutils/14526
	* argv.c (buildargv): Replace alloca with xmalloc/free.

From-SVN: r190766
2012-08-28 17:46:36 -07:00
GCC Administrator 09ba405a48 Daily bump.
From-SVN: r190765
2012-08-29 00:18:57 +00:00
Tobias Burnus 033418dcde re PR fortran/54389 ([F2003/F2008 difference] PURE functions and pointer dummy arguments / DECL_PURE_P issue)
2012-08-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54389
        * trans-decl.c (gfc_get_extern_function_decl,
        build_function_decl): Don't mark impure elemental
        functions as DECL_PURE_P and honour implicit_pure.

From-SVN: r190757
2012-08-28 20:18:11 +02:00
Tobias Burnus a21d0595b4 re PR fortran/54382 (gfortran show_locus: Invalid read of size 4)
2012-08-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54382
        * error.c (show_locus): Avoid out of bound access.

From-SVN: r190752
2012-08-28 16:49:55 +02:00
Tobias Burnus 46f4f79483 re PR fortran/54384 (gfortran memory leaks)
2012-08-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54384
        * decl.c (match_data_constant): Add missing gfc_free_expr.
        (top_val_list): Remove always-true condition.
        * data.c (get_array_index, create_character_initializer):
        Free temporary expressions.
        (gfc_assign_data_value): Free expression when aborting.

From-SVN: r190751
2012-08-28 16:49:15 +02:00
Joey Ye 94c15c51f9 ssa-dom-thread-3.c: Add -fno-short-enums.
* gcc.dg/tree-ssa/ssa-dom-thread-3.c: Add -fno-short-enums.

From-SVN: r190745
2012-08-28 09:51:11 +00:00
Walter Lee e005f90374 Fix ChangeLog formatting.
From-SVN: r190741
2012-08-28 07:00:10 +00:00
Walter Lee 3aa775d631 Fix some typos and coding style violations.
* confg/tilegx/tilegx.md: Fix code style.
	(*zero_extendsidi_truncdisi): Fix typo.
	* config/tilegx/tilegx.c: Fix code style.
	(tilegx_function_profiler): Fix typo.

From-SVN: r190739
2012-08-28 06:09:45 +00:00
Tobias Burnus a433d31f14 re PR fortran/54384 (gfortran memory leaks)
2012-08-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54384
        * symbol.c (gfc_copy_formal_args): Set also sym->formal_ns.

From-SVN: r190738
2012-08-28 07:35:15 +02:00
Walter Lee 1773cd776a Add support for the -mcmodel=MODEL flag on TILE-Gx.
Add support for the -mcmodel=MODEL flag on TILE-Gx.  The models
supported are small and large.  In the small model (default), distance
for direct calls is limited to 500M in either direction.  PC-relative
addresses are 32 bits.  Absolute addresses support the full address
range.  In the large model, there is no limiation on call distance,
pc-relative addresses, or absolute addresses.
	* doc/invoke.texi: Document -mcmodel=small, -mcmodel=large.
	* config/tilegx/tilegx.h: Include config/tilegx/tilegx-opts.h.
	(CRT_CALL_STATIC_FUNCTION): Define.
	* config/tilegx/predicates.md (const_last_symbolic_operand):
	Handle UNSPEC_HW2_LAST_PCREL, UNSPEC_HW1_LAST_PLT_PCREL, and
	UNSPEC_HW2_LAST_PLT_PCREL.
	(const_symbolic_operand): Handle UNSPEC_HW1_PCREL,
	UNSPEC_HW0_PLT_PCREL, and UNSPEC_HW1_PLT_PCREL.
	* config/tilegx/tilegx.md (UNSPEC_MOV_LARGE_PCREL_STEP4): Define,
	and renumber the constants that follow.
	(UNSPEC_HW1_PCREL): Define, and renumber the constants that
	follow.
	(UNSPEC_HW0_PLT_PCREL): Define.
	(UNSPEC_HW1_PLT_PCREL): Define.
	(UNSPEC_HW1_LAST_PLT_PCREL): Define.
	(UNSPEC_HW2_LAST_PLT_PCREL): Define.
	(mov_large_pcrel_step1): Define.
	(mov_large_pcrel_step2): Define.
	(mov_large_pcrel_step3): Define.
	(mov_large_pcrel_step4): Define.
	(mov_plt_pcrel_step1): Define.
	(mov_plt_pcrel_step2): Define.
	(mov_plt_pcrel_step3): Define.
	(mov_plt_pcrel_step1_32bit): Define.
	(mov_plt_pcrel_step2_32bit): Define.
	(call): Handle tilegx_cmodel == CM_LARGE, CM_LARGE_PIC.
	(call_value): Ditto.
	* config/tilegx/tilegx.opt: Include config/tilegx/tilegx-opts.h.
	(mcmodel): New option.
	(enum cmodel): Define.
	(CM_SMALL): Define.
	(CM_LARGE): Define.
	* config/tilegx/tilegx-protos.h (tilegx_compute_pcrel_address):
	Declare.
	(tilegx_compute_pcrel_plt_address): Declare.
	* config/tilegx/tilegx.c (tilegx_option_override): Handle
	tilegx_cmodel.
	(tilegx_function_ok_for_sibcall): Ditto.
	(compute_pcrel_address): Rename to tilegx_compute_pcrel_address,
	and don't declare static.  Handle tilegx_cmodel.
	(tilegx_compute_pcrel_plt_address): Define.
	(tilegx_legitimize_pic_address): Rename calls to
	compute_pcrel_address.
	(tilegx_delegitimize_address): Handle UNSPEC_HW1_PCREL,
	UNSPEC_HW2_LAST_PCREL, UNSPEC_HW0_PLT_PCREL, UNSPEC_HW1_PLT_PCREL,
	UNSPEC_HW1_LAST_PLT_PCREL, UNSPEC_HW2_LAST_PLT_PCREL.
	(load_pic_register): Rename call to compute_pcrel_address.
	(tilegx_print_operand): Handle UNSPEC_HW1_PCREL,
	UNSPEC_HW2_LAST_PCREL, UNSPEC_HW0_PLT_PCREL, UNSPEC_HW1_PLT_PCREL,
	UNSPEC_HW1_LAST_PLT_PCREL, UNSPEC_HW2_LAST_PLT_PCREL.

From-SVN: r190737
2012-08-28 05:25:35 +00:00
GCC Administrator bebfb71bf4 Daily bump.
From-SVN: r190736
2012-08-28 00:17:15 +00:00
Maxim Kuvyrkov 8febe3fad2 sched-deps.c (add_dependence_list_and_free): Simplify.
* sched-deps.c (add_dependence_list_and_free): Simplify.
	(flush_pending_list_and_free): Fix a hack that was fixing a hack.  Free
	lists when add_dependence_list_and_free doesn't free them.

From-SVN: r190733
2012-08-27 22:11:48 +00:00
Uros Bizjak 28591f4a8c re PR target/46254 (ICE: in find_reloads, at reload.c:3806 (unable to generate reloads) with -fPIC -mcmodel={medium|large} and __sync_val_compare_and_swap)
PR target/46254
	* config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
	true for TARGET_64BIT or !flag_pic.
	* config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
	(atomic_compare_and_swap_double<mode>): Change operand 2 predicate
	to cmpxchg8b_pic_memory_operand.  Use DWIH mode iterator.
	Add insn constraint.  Conditionally emit xchg asm insns.
	(atomic_compare_and_swap<mode>): Update calls.  Check only
	cmpxchg8b_pic_memory_operand in memory address fixup.
	(DCASMODE): Remove.
	(CASHMODE): Rename from DCASHMODE.
	(doublemodesuffix): Update modes.
	(regprefix): New mode attribute.

	(unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
	<UNSPECV_CMPXCHG>: New constant.
	(atomic_compare_and_swap<mode>_1): Rename from
	atomic_compare_and_swap_single<mode>.  Update calls and
	unspec_volatile constants.
	(atomic_compare_and_swap<mode>_doubleword): Rename from
	atomic_compare_and_swap_double<mode>.  Update calls and
	unspec_volatile constants.

testsuite/ChangeLog:

	PR target/46254
	* gcc.target/i386/pr46254.c: New test.

From-SVN: r190732
2012-08-27 23:13:07 +02:00
Tobias Burnus d7920cf071 re PR fortran/54384 (gfortran memory leaks)
2012-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54384
        * resolve.c (gfc_resolve_character_operator): Free temporary
        variables.
        * trans-expr.c (gfc_conv_statement_function): Ditto.

From-SVN: r190731
2012-08-27 22:51:52 +02:00
Walter Lee 655c54442d Fix doc typo.
* doc/md.texi (TILE-Gx): Fix typo.

From-SVN: r190729
2012-08-27 18:51:07 +00:00
Tobias Burnus 15a611c064 re PR fortran/54384 (gfortran memory leaks)
2012-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54384
        * dependency.c (check_section_vs_section): Use gfc_free_expr
        instead of free.
        * trans-intrinsic.c (conv_generic_with_optional_char_arg): Use
        gfc_free_symbol instead of free.

From-SVN: r190728
2012-08-27 20:47:57 +02:00
Walter Lee 4b3fa92c24 Fix a typo in the mcount function_profiler.
* config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
	config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.

From-SVN: r190726
2012-08-27 18:35:39 +00:00
Walter Lee 848c312cab Stop trying to represent the bfins instruction with the insv pattern,
because it causes an extra copy when bfins reuses one of its inputs.
	* config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
	(insn_bfins): Delete.

From-SVN: r190724
2012-08-27 18:16:34 +00:00
Walter Lee 9b0370aa4b Properly set the latency of atomic ops to the approximate latency of a remote memory operation.
Properly set the latency of atomic ops to the approximate latency of a
remote memory operation.
	* config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
	atomic_exchange_bare<mode>,
	atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
	* config/tilegx/tilegx-generic.md (X1_remote): New
	insn_reservation.
	* config/tilegx/tilegx.md (type): Add X1_remove.
	(insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
	insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
	insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
	X1_remote.

From-SVN: r190722
2012-08-27 17:27:04 +00:00
Andreas Schwab 865ea646b4 * gdbinit.in: Fix syntax of skip command.
From-SVN: r190721
2012-08-27 16:35:05 +00:00
Richard Sandiford 5b51970b39 ext_ins.c, [...]: Add NOMIPS16.
gcc/testsuite/
	* gcc.target/mips/ext_ins.c, gcc.target/mips/octeon-pop-2.c,
	gcc.target/mips/pr54240.c, gcc.target/mips/stack-1.c,
	gcc.target/mips/unaligned-1.c: Add NOMIPS16.

From-SVN: r190720
2012-08-27 16:31:46 +00:00
Richard Sandiford b628905531 20020620-1.c, [...]: Tighten regexps.
gcc/testsuite/
	* gcc.target/mips/20020620-1.c, gcc.target/mips/atomic-memory-2.c,
	gcc.target/mips/branch-2.c, gcc.target/mips/branch-3.c,
	gcc.target/mips/clear-cache-1.c, gcc.target/mips/const-anchor-1.c,
	gcc.target/mips/const-anchor-2.c, gcc.target/mips/dspr2-MULT.c,
	gcc.target/mips/dspr2-MULTU.c, gcc.target/mips/ext-1.c,
	gcc.target/mips/ext-2.c, gcc.target/mips/ext-3.c,
	gcc.target/mips/ext-4.c, gcc.target/mips/ext_ins.c,
	gcc.target/mips/fpcmp-1.c, gcc.target/mips/fpcmp-2.c,
	gcc.target/mips/mips16e-extends.c, gcc.target/mips/mips32-dsp.c,
	gcc.target/mips/mips32-dsp-type.c, gcc.target/mips/mips32r2-mxhc1.c,
	gcc.target/mips/mips-ps-5.c, gcc.target/mips/mips-ps-7.c,
	gcc.target/mips/mips-ps-type-2.c, gcc.target/mips/mips-ps-type.c,
	gcc.target/mips/movcc-1.c, gcc.target/mips/movcc-2.c,
	gcc.target/mips/movcc-3.c, gcc.target/mips/neg-abs-1.c,
	gcc.target/mips/neg-abs-2.c, gcc.target/mips/nmadd-1.c,
	gcc.target/mips/nmadd-2.c, gcc.target/mips/nmadd-3.c,
	gcc.target/mips/octeon-exts-7.c, gcc.target/mips/octeon-seq-4.c,
	gcc.target/mips/rsqrt-1.c, gcc.target/mips/rsqrt-2.c,
	gcc.target/mips/rsqrt-3.c, gcc.target/mips/sb1-1.c,
	gcc.target/mips/scc-4.c, gcc.target/mips/stack-1.c,
	gcc.target/mips/unaligned-1.c: Tighten regexps.

From-SVN: r190719
2012-08-27 16:31:29 +00:00
Richard Sandiford 0c436cbd61 mips.exp: Use gcc-dg-runtest rather than dg-runtest.
gcc/testsuite/
	* gcc.target/mips/mips.exp: Use gcc-dg-runtest rather than dg-runtest.
	(mips_option_groups): Remove optimization.  Add various -f options.
	(mips-dg-options): Make -funroll-loops imply -funroll-all-loops
	and -pg imply -fno-omit-frame-pointer.
	* gcc.target/mips/abi-eabi32-long32.c: Remove optimization flag.
	* gcc.target/mips/abi-eabi32-long64.c: Likewise.
	* gcc.target/mips/abi-eabi64-long32.c: Likewise.
	* gcc.target/mips/abi-eabi64-long64.c: Likewise.
	* gcc.target/mips/abi-n32-long32-no-shared.c: Likewise.
	* gcc.target/mips/abi-n32-long32-pic.c: Likewise.
	* gcc.target/mips/abi-n32-long32.c: Likewise.
	* gcc.target/mips/abi-n32-long64-no-shared.c: Likewise.
	* gcc.target/mips/abi-n32-long64-pic.c: Likewise.
	* gcc.target/mips/abi-n32-long64.c: Likewise.
	* gcc.target/mips/abi-n64-long32-no-shared.c: Likewise.
	* gcc.target/mips/abi-n64-long32-pic.c: Likewise.
	* gcc.target/mips/abi-n64-long32.c: Likewise.
	* gcc.target/mips/abi-n64-long64-no-shared.c: Likewise.
	* gcc.target/mips/abi-n64-long64-pic.c: Likewise.
	* gcc.target/mips/abi-n64-long64.c: Likewise.
	* gcc.target/mips/abi-o32-long32-no-shared.c: Likewise.
	* gcc.target/mips/abi-o32-long32-pic.c: Likewise.
	* gcc.target/mips/abi-o32-long32.c: Likewise.
	* gcc.target/mips/abi-o32-long64-no-shared.c: Likewise.
	* gcc.target/mips/abi-o32-long64-pic.c: Likewise.
	* gcc.target/mips/abi-o32-long64.c: Likewise.
	* gcc.target/mips/abi-o64-long32-no-shared.c: Likewise.
	* gcc.target/mips/abi-o64-long32-pic.c: Likewise.
	* gcc.target/mips/abi-o64-long32.c: Likewise.
	* gcc.target/mips/abi-o64-long64-no-shared.c: Likewise.
	* gcc.target/mips/abi-o64-long64-pic.c: Likewise.
	* gcc.target/mips/abi-o64-long64.c: Likewise.
	* gcc.target/mips/asm-1.c: Likewise.
	* gcc.target/mips/branch-1.c: Likewise.
	* gcc.target/mips/call-3.c: Likewise.
	* gcc.target/mips/call-saved-3.c: Likewise.
	* gcc.target/mips/clear-cache-1.c: Likewise.
	* gcc.target/mips/div-1.c: Likewise.
	* gcc.target/mips/div-2.c: Likewise.
	* gcc.target/mips/div-3.c: Likewise.
	* gcc.target/mips/div-4.c: Likewise.
	* gcc.target/mips/div-5.c: Likewise.
	* gcc.target/mips/div-6.c: Likewise.
	* gcc.target/mips/div-7.c: Likewise.
	* gcc.target/mips/div-8.c: Likewise.
	* gcc.target/mips/div-9.c: Likewise.
	* gcc.target/mips/div-10.c: Likewise.
	* gcc.target/mips/div-11.c: Likewise.
	* gcc.target/mips/div-12.c: Likewise.
	* gcc.target/mips/dsp-ctrl.c: Likewise.
	* gcc.target/mips/dsp-no-lhx.c: Likewise.
	* gcc.target/mips/ext-8.c: Likewise.
	* gcc.target/mips/extend-2.c: Likewise.
	* gcc.target/mips/fix-r10000-1.c: Likewise.
	* gcc.target/mips/fix-r10000-2.c: Likewise.
	* gcc.target/mips/fix-r10000-3.c: Likewise.
	* gcc.target/mips/fix-r10000-4.c: Likewise.
	* gcc.target/mips/fix-r10000-5.c: Likewise.
	* gcc.target/mips/fix-r10000-6.c: Likewise.
	* gcc.target/mips/fix-r10000-7.c: Likewise.
	* gcc.target/mips/fix-r10000-8.c: Likewise.
	* gcc.target/mips/fix-r10000-9.c: Likewise.
	* gcc.target/mips/fix-r10000-10.c: Likewise.
	* gcc.target/mips/fix-r10000-11.c: Likewise.
	* gcc.target/mips/fix-r10000-12.c: Likewise.
	* gcc.target/mips/fix-r10000-13.c: Likewise.
	* gcc.target/mips/fix-r10000-14.c: Likewise.
	* gcc.target/mips/fix-r10000-15.c: Likewise.
	* gcc.target/mips/fpcmp-1.c: Likewise.
	* gcc.target/mips/fpcmp-2.c: Likewise.
	* gcc.target/mips/fpr-moves-7.c: Likewise.
	* gcc.target/mips/fpr-moves-8.c: Likewise.
	* gcc.target/mips/int-moves-1.c: Likewise.
	* gcc.target/mips/int-moves-2.c: Likewise.
	* gcc.target/mips/long-calls-pg.c: Likewise.
	* gcc.target/mips/loongson-muldiv-1.c: Likewise.
	* gcc.target/mips/loongson-muldiv-2.c: Likewise.
	* gcc.target/mips/loongson-shift-count-truncated-1.c: Likewise.
	* gcc.target/mips/loongson3a-muldiv-1.c: Likewise.
	* gcc.target/mips/loongson3a-muldiv-2.c: Likewise.
	* gcc.target/mips/mips-3d-1.c: Likewise.
	* gcc.target/mips/mips-3d-2.c: Likewise.
	* gcc.target/mips/mips-3d-3.c: Likewise.
	* gcc.target/mips/mips-3d-4.c: Likewise.
	* gcc.target/mips/mips-3d-5.c: Likewise.
	* gcc.target/mips/mips-3d-6.c: Likewise.
	* gcc.target/mips/mips-3d-7.c: Likewise.
	* gcc.target/mips/mips-3d-8.c: Likewise.
	* gcc.target/mips/mips-3d-9.c: Likewise.
	* gcc.target/mips/mips-ps-1.c: Likewise.
	* gcc.target/mips/mips-ps-2.c: Likewise.
	* gcc.target/mips/mips-ps-3.c: Likewise.
	* gcc.target/mips/mips-ps-4.c: Likewise.
	* gcc.target/mips/mips-ps-6.c: Likewise.
	* gcc.target/mips/mips32-dspr2.c: Likewise.
	* gcc.target/mips/mmcount-ra-address-1.c: Likewise.
	* gcc.target/mips/neg-abs-1.c: Likewise.
	* gcc.target/mips/neg-abs-2.c: Likewise.
	* gcc.target/mips/nmadd-3.c: Likewise.
	* gcc.target/mips/no-smartmips-lwxs.c: Likewise.
	* gcc.target/mips/no-smartmips-ror-1.c: Likewise.
	* gcc.target/mips/octeon-pop-1.c: Likewise.
	* gcc.target/mips/pr26765.c: Likewise.
	* gcc.target/mips/pr33256.c: Likewise.
	* gcc.target/mips/pr33635-1.c: Likewise.
	* gcc.target/mips/pr33755.c: Likewise.
	* gcc.target/mips/pr35802.c: Likewise.
	* gcc.target/mips/pr45074.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-1.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-2.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-3.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-4.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-5.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-6.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-7.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-8.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-9.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-11.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-12.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-13.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-14.c: Likewise.
	* gcc.target/mips/r10k-cache-barrier-15.c: Likewise.
	* gcc.target/mips/save-restore-1.c: Likewise.
	* gcc.target/mips/save-restore-3.c: Likewise.
	* gcc.target/mips/save-restore-5.c: Likewise.
	* gcc.target/mips/smartmips-ror-1.c: Likewise.
	* gcc.target/mips/smartmips-ror-2.c: Likewise.
	* gcc.target/mips/smartmips-ror-3.c: Likewise.
	* gcc.target/mips/smartmips-ror-4.c: Likewise.
	* gcc.target/mips/stack-1.c: Likewise.

	* gcc.target/mips/clear-cache-2.c: Remove optimization flag.
	Tighten regexps.

	* gcc.target/mips/branch-8.c: Arrange for the delay slot of the
	branch under test to be filled with preceding rather than
	following instructions.
	* gcc.target/mips/branch-10.c: Likewise.
	* gcc.target/mips/branch-11.c: Likewise.
	* gcc.target/mips/branch-12.c: Likewise.
	* gcc.target/mips/branch-13.c: Likewise.
	* gcc.target/mips/branch-9.c: Likewise.  Allow the frame pointer
	to be eliminated.  Tighten $28 scan-assembler-not test.

	* gcc.target/mips/call-2.c: Remove optimization flag.  Move second
	function to...
	* gcc.target/mips/call-4.c: ...this new test.

	* gcc.target/mips/code-readable-2.c: Rework to make a jump table
	more likely.
	* gcc.target/mips/code-readable-3.c: Likewise.
	* gcc.target/mips/code-readable-1.c: Likewise.  Remove optimization
	flag but skip for -O0.
	* gcc.target/mips/code-readable-4.c: Likewise.

	* gcc.target/mips/mips32-dsp-run.c: Prevent compile-time reduction
	of operations under test.
	* gcc.target/mips/mips32-dsp.c: Likewise.  Remove optimization flag.

	* gcc.target/mips/near-far-3.c: Remove optimization flag.
	Don't require sibling-call optimization.
	* gcc.target/mips/near-far-4.c: Likewise.

	* gcc.target/mips/no-dsp-1.c: Require -ffat-lto-objects.
	Make sure that the register variable is used.
	* gcc.target/mips/soft-float-1.c: Likewise.

	* gcc.target/mips/sdata-1.c: Make static data volatile.
	* gcc.target/mips/sdata-2.c: Likewise.
	* gcc.target/mips/sdata-3.c: Likewise.
	* gcc.target/mips/sdata-4.c: Likewise.

	* gcc.target/mips/20020620-1.c: Remove optimization flag but
	skip for -O0.
	* gcc.target/mips/atomic-memory-2.c: Likewise.
	* gcc.target/mips/branch-cost-1.c: Likewise.
	* gcc.target/mips/branch-cost-2.c: Likewise.
	* gcc.target/mips/cache-1.c: Likewise.
	* gcc.target/mips/call-1.c: Likewise.
	* gcc.target/mips/call-saved-2.c: Likewise.
	* gcc.target/mips/const-anchor-1.c: Likewise.
	* gcc.target/mips/const-anchor-2.c: Likewise.
	* gcc.target/mips/dse-1.c: Likewise.
	* gcc.target/mips/dsp-lhx.c: Likewise.
	* gcc.target/mips/dspr2-MULTU.c: Likewise.
	* gcc.target/mips/ext-1.c: Likewise.
	* gcc.target/mips/ext-2.c: Likewise.
	* gcc.target/mips/ext-3.c: Likewise.
	* gcc.target/mips/ext-4.c: Likewise.
	* gcc.target/mips/ext-5.c: Likewise.
	* gcc.target/mips/ext-6.c: Likewise.
	* gcc.target/mips/ext-7.c: Likewise.
	* gcc.target/mips/extend-1.c: Likewise.
	* gcc.target/mips/fix-r4000-1.c: Likewise.
	* gcc.target/mips/fix-r4000-3.c: Likewise.
	* gcc.target/mips/fix-r4000-5.c: Likewise.
	* gcc.target/mips/fix-r4000-6.c: Likewise.
	* gcc.target/mips/fix-r4000-8.c: Likewise.
	* gcc.target/mips/fix-r4000-10.c: Likewise.
	* gcc.target/mips/fixed-scalar-type.c: Likewise.
	* gcc.target/mips/fixed-vector-type.c: Likewise.
	* gcc.target/mips/fpr-moves-1.c: Likewise.
	* gcc.target/mips/fpr-moves-2.c: Likewise.
	* gcc.target/mips/fpr-moves-3.c: Likewise.
	* gcc.target/mips/fpr-moves-4.c: Likewise.
	* gcc.target/mips/fpr-moves-5.c: Likewise.
	* gcc.target/mips/fpr-moves-6.c: Likewise.
	* gcc.target/mips/ins-1.c: Likewise.
	* gcc.target/mips/ins-2.c: Likewise.
	* gcc.target/mips/interrupt_handler-2.c: Likewise.
	* gcc.target/mips/interrupt_handler-3.c: Likewise.
	* gcc.target/mips/lazy-binding-1.c: Likewise.
	* gcc.target/mips/madd-3.c: Likewise.
	* gcc.target/mips/madd-5.c: Likewise.
	* gcc.target/mips/madd-6.c: Likewise.
	* gcc.target/mips/madd-8.c: Likewise.
	* gcc.target/mips/madd-9.c: Likewise.
	* gcc.target/mips/memcpy-1.c: Likewise.
	* gcc.target/mips/mips-ps-type.c: Likewise.
	* gcc.target/mips/mips-ps-type-2.c: Likewise.
	* gcc.target/mips/mips-sched-madd.c: Likewise.
	* gcc.target/mips/mips16e-extends.c: Likewise.
	* gcc.target/mips/mips32r2-mxhc1.c: Likewise.
	* gcc.target/mips/mips64-dsp-ldx.c: Likewise.
	* gcc.target/mips/movcc-1.c: Likewise.
	* gcc.target/mips/movcc-2.c: Likewise.
	* gcc.target/mips/movcc-3.c: Likewise.
	* gcc.target/mips/msub-5.c: Likewise.
	* gcc.target/mips/msub-6.c: Likewise.
	* gcc.target/mips/msub-8.c: Likewise.
	* gcc.target/mips/mult-2.c: Likewise.
	* gcc.target/mips/mult-3.c: Likewise.
	* gcc.target/mips/mult-5.c: Likewise.
	* gcc.target/mips/mult-6.c: Likewise.
	* gcc.target/mips/mult-7.c: Likewise.
	* gcc.target/mips/mult-12.c: Likewise.
	* gcc.target/mips/mult-13.c: Likewise.
	* gcc.target/mips/mult-14.c: Likewise.
	* gcc.target/mips/mult-15.c: Likewise.
	* gcc.target/mips/mult-17.c: Likewise.
	* gcc.target/mips/mult-18.c: Likewise.
	* gcc.target/mips/mult-19.c: Likewise.
	* gcc.target/mips/nmadd-1.c: Likewise.
	* gcc.target/mips/nmadd-2.c: Likewise.
	* gcc.target/mips/octeon-baddu-1.c: Likewise.
	* gcc.target/mips/octeon-cins-1.c: Likewise.
	* gcc.target/mips/octeon-cins-2.c: Likewise.
	* gcc.target/mips/octeon-dmul-3.c: Likewise.
	* gcc.target/mips/octeon-exts-2.c: Likewise.
	* gcc.target/mips/octeon-exts-3.c: Likewise.
	* gcc.target/mips/octeon-exts-4.c: Likewise.
	* gcc.target/mips/octeon-exts-5.c: Likewise.
	* gcc.target/mips/octeon-exts-6.c: Likewise.
	* gcc.target/mips/octeon-exts-7.c: Likewise.
	* gcc.target/mips/octeon-pop-2.c: Likewise.
	* gcc.target/mips/octeon-seq-3.c: Likewise.
	* gcc.target/mips/octeon-seq-4.c: Likewise.
	* gcc.target/mips/octeon2-lx-1.c: Likewise.
	* gcc.target/mips/octeon2-lx-2.c: Likewise.
	* gcc.target/mips/octeon2-lx-3.c: Likewise.
	* gcc.target/mips/pr54240.c: Likewise.
	* gcc.target/mips/rsqrt-1.c: Likewise.
	* gcc.target/mips/rsqrt-2.c: Likewise.
	* gcc.target/mips/rsqrt-3.c: Likewise.
	* gcc.target/mips/rsqrt-4.c: Likewise.
	* gcc.target/mips/save-restore-2.c: Likewise.
	* gcc.target/mips/save-restore-4.c: Likewise.
	* gcc.target/mips/sb1-1.c: Likewise.
	* gcc.target/mips/scc-1.c: Likewise.
	* gcc.target/mips/scc-2.c: Likewise.
	* gcc.target/mips/scc-3.c: Likewise.
	* gcc.target/mips/scc-4.c: Likewise.
	* gcc.target/mips/smartmips-lwxs.c: Likewise.
	* gcc.target/mips/truncate-1.c: Likewise.
	* gcc.target/mips/truncate-2.c: Likewise.
	* gcc.target/mips/truncate-3.c: Likewise.
	* gcc.target/mips/truncate-4.c: Likewise.
	* gcc.target/mips/truncate-5.c: Likewise.
	* gcc.target/mips/truncate-6.c: Likewise.
	* gcc.target/mips/unaligned-1.c: Likewise.

	* gcc.target/mips/dpaq_sa_l_w.c: Remove optimization flag but
	skip for -O0.  Require -fexpensive-optimizations.
	* gcc.target/mips/dpsq_sa_l_w.c: Likewise.
	* gcc.target/mips/dspr2-MULT.c: Likewise.
	* gcc.target/mips/fix-r4000-2.c: Likewise.
	* gcc.target/mips/fix-r4000-4.c: Likewise.
	* gcc.target/mips/fix-r4000-7.c: Likewise.
	* gcc.target/mips/fix-r4000-9.c: Likewise.
	* gcc.target/mips/madd-1.c: Likewise.
	* gcc.target/mips/madd-2.c: Likewise.
	* gcc.target/mips/madd-4.c: Likewise.
	* gcc.target/mips/maddu-1.c: Likewise.
	* gcc.target/mips/maddu-2.c: Likewise.
	* gcc.target/mips/maddu-3.c: Likewise.
	* gcc.target/mips/maddu-4.c: Likewise.
	* gcc.target/mips/msub-1.c: Likewise.
	* gcc.target/mips/msub-2.c: Likewise.
	* gcc.target/mips/msub-3.c: Likewise.
	* gcc.target/mips/msub-4.c: Likewise.
	* gcc.target/mips/msubu-1.c: Likewise.
	* gcc.target/mips/msubu-2.c: Likewise.
	* gcc.target/mips/msubu-3.c: Likewise.
	* gcc.target/mips/msubu-4.c: Likewise.
	* gcc.target/mips/mult-1.c: Likewise.
	* gcc.target/mips/mult-4.c: Likewise.
	* gcc.target/mips/mult-8.c: Likewise.
	* gcc.target/mips/mult-9.c: Likewise.
	* gcc.target/mips/mult-10.c: Likewise.
	* gcc.target/mips/mult-11.c: Likewise.
	* gcc.target/mips/mult-16.c: Likewise.

	* gcc.target/mips/fix-r4000-11.c: Remove optimization flag but
	skip for -O0 and -Os.
	* gcc.target/mips/fix-r4000-12.c: Likewise.
	* gcc.target/mips/madd-7.c: Likewise.
	* gcc.target/mips/mips-ps-5.c: Likewise.
	* gcc.target/mips/mips-ps-7.c: Likewise.
	* gcc.target/mips/msub-7.c: Likewise.

	* gcc.target/mips/mmcount-ra-address-2.c: Remove optimization flag but
	skip for -O0.  Require -mno-abicalls.
	* gcc.target/mips/mmcount-ra-address-3.c: Likewise.

	* gcc.target/mips/octeon-bbit-1.c: Remove optimization flag but
	skip for -O0.  Require a total number of BBIT instructions and
	at least one of each kind.

	* gcc.target/mips/octeon-bbit-2.c: Remove optimization flag but
	skip for -O0.  Require -fno-unroll-loops.

	* gcc.target/mips/octeon-bbit-3.c: Remove optimization flag but
	skip for -O0.  Allow BLTZ as well as BGEZ.

	* gcc.target/mips/octeon-dmul-2.c: Skip for -Os.

	* gcc.target/mips/octeon-pipe-1.c: Remove optimization flag but
	skip for -O0.  Require -fschedule-insns2.
	* gcc.target/mips/octeon2-pipe-1.c: Likewise.

	* gcc.target/mips/r10k-cache-barrier-10.c: Remove optimization flag
	but skip for -O0.  Make a branch-likely more likely.

	* gcc.target/mips/timode-2.c: Split each test into its own function.
	* gcc.target/mips/timode-1.c: Likewise.  Skip for -Os.

	* gcc.target/mips/vr-mult-1.c: Remove optimization flag but
	skip for -O0.  Require -fpeephole2.
	* gcc.target/mips/vr-mult-2.c: Likewise.

From-SVN: r190718
2012-08-27 16:27:50 +00:00
Richard Sandiford cb038fd20d mips.c (mips_pic_call_symbol_from_set): Check for SYMBOL_REF SET_SRCs.
gcc/
	* config/mips/mips.c (mips_pic_call_symbol_from_set): Check for
	SYMBOL_REF SET_SRCs.

From-SVN: r190717
2012-08-27 16:25:47 +00:00
Richard Sandiford d8c5157261 mips.c (vr4130_align_insns): Don't simulate ghost instructions.
gcc/
	* config/mips/mips.c (vr4130_align_insns): Don't simulate
	ghost instructions.  Assert that the required instructions exist.

From-SVN: r190716
2012-08-27 16:25:12 +00:00
Dodji Seketeli f3d25c6570 PR preprocessor/53469 - argument tokens of _Pragma miss virtual location
Consider this short test snippet:

-------------------------8-------------------
    #define STRINGIFY(x) #x
    #define TEST(x) \
      _Pragma(STRINGIFY(GCC diagnostic ignored "-Wunused-local-typedefs")) \
      typedef int myint;

    void bar ()
    {
      TEST(myint)
    }
-------------------------8-------------------

The _Pragma is effectively ignored, and compiling with
-Wunused-local-typedefs warns on the local typedef, even though the
pragma should have prevented the warning to be emitted.

This is because when the preprocessor sees the _Pragma operator and
then goes to handle the first token ('GCC' here) that makes up its
operands, it retains the spelling location of that token, not its
virtual location.

Later when diagnostic_report_diagnostic is called to emit the warning
(or ignore it because of the pragma), it compares the location of the
first operand of the pragma with the location of the unused location,
(by calling linemap_location_before_p) and that comparison fails
because in this case, both locations should be virtual.

This patch fixes the issue by teaching the pragma handling to use
virtual locations.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

libcpp/

	PR preprocessor/53469
	* directives.c (do_pragma): Use the virtual location for the
	pragma token, instead of its spelling location.

gcc/testsuite/

	PR preprocessor/53469
	* gcc.dg/cpp/_Pragma7.c: New test case.

From-SVN: r190714
2012-08-27 17:41:38 +02:00
Tobias Burnus c0782a4002 re PR fortran/54384 (gfortran memory leaks)
2012-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54384
        * trans-expr.c (gfc_trans_arrayfunc_assign): Free se.ss
        and loop.

From-SVN: r190713
2012-08-27 16:42:50 +02:00
Ulrich Drepper 7b93bdde91 Add interfaces to retrieve random numbers in bulk.
* include/bits/random.h (uniform_int_distribution<>): Add __generate
	and __generate_impl functions.
	(uniform_real_distribution<>): Likewise.
	(bernoulli_distribution): Likewise.
	(geometric_distribution<>): Likewise.
	(negative_binomial_distribution<>): Likewise.
	(poisson_distribution<>): Likewise.
	(exponential_distribution<>): Likewise.
	(normal_distribution<>): Likewise.
	(lognormal_distribution<>): Likewise.
	(chi_squared_distribution<>): Likewise.
	(cauchy_distribution<>): Likewise.
	(fisher_f_distribution<>): Likewise.
	(student_t_distribution<>): Likewise.
	(gamma_distribution<>): Likewise.
	(weibull_distribution<>): Likewise.
	(extreme_value_distribution<>): Likewise.
	(discrete_distribution<>): Likewise.
	(piecewise_constant_distribution<>): Likewise.
	(piecewise_linear_distribution<>): Likewise.
	* include/bits/random.tcc (__detail::_Power_of_2): New function.
	(uniform_int_distribution<>::__generate_impl): New function.
	(uniform_real_distribution<>::__generate_impl): New function.
	(bernoulli_distribution::__generate_impl): New function.
	(geometric_distribution<>::__generate_impl): New function.
	(negative_binomial_distribution<>::__generate_impl): New function.
	(poisson_distribution<>::__generate_impl): New function.
	(exponential_distribution<>::__generate_impl): New function.
	(normal_distribution<>::__generate_impl): New function.
	(lognormal_distribution<>::__generate_impl): New function.
	(chi_squared_distribution<>::__generate_impl): New function.
	(cauchy_distribution<>::__generate_impl): New function.
	(fisher_f_distribution<>::__generate_impl): New function.
	(student_t_distribution<>::__generate_impl): New function.
	(gamma_distribution<>::__generate_impl): New function.
	(weibull_distribution<>::__generate_impl): New function.
	(extreme_value_distribution<>::__generate_impl): New function.
	(discrete_distribution<>::__generate_impl): New function.
	(piecewise_constant_distribution<>::__generate_impl): New function.
	(piecewise_linear_distribution<>::__generate_impl): New function.

From-SVN: r190712
2012-08-27 14:13:15 +00:00
Ulrich Drepper b668e41af6 random.h (mersenne_twister_engine): Don't inline discard here.
* include/bits/random.h (mersenne_twister_engine): Don't inline
	discard here.  New member function _M_gen_rand.
	* include/bits/random.tcc (mersenne_twister_engine<>::_M_gen_rand):
	New function.  Extracted from operator().
	(mersenne_twister_engine<>::discard): New implementation which
	skips in large steps.
	(mersenne_twister_engine<>::operator()): Use _M_gen_rand.

From-SVN: r190711
2012-08-27 12:08:16 +00:00
Tobias Burnus 6f79f4d1d6 re PR fortran/41093 (memory leaks with gfc_namespace)
2012-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41093
        * gfortran.h (gfc_common_head): Add "int refs".
        * match.c (gfc_match_common): Increment refs.
        * resolve.c (resolve_symbol): Only increment formal_ns->refs
        if formal_ns is not sym->ns.
        * symbol.c (gfc_free_symbol): Only free formal_ns if
        if formal_ns is not sym->ns. Free common_block if refs is one.
        (gfc_release_symbol): Release formal_ns only if the
        symbol is not ENTRY of a module.
        * decl.c (get_proc_name): Don't increment gfc_current_ns->refs.
        * parse.c (parse_interface): Incement proc_unit->refs++ for
        proc-pointer result variables.
        * module.c (mio_symbol): Don't increase sym->refs for its
        use in sym->formal_ns->proc_name.

From-SVN: r190710
2012-08-27 14:07:43 +02:00
Tobias Burnus 1d6368551e re PR fortran/54370 (error: non-trivial conversion in unary operation)
2012-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54370
        * trans-stmt.c (gfc_trans_do_while): Don't change the logical
        kind for negation of the condition.

2012-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54370
        * gfortran.dg/do_5.f90: New.

From-SVN: r190709
2012-08-27 14:03:41 +02:00
Ulrich Drepper 6c513d43fb MAINTAINERS: Fix my email address.
* MAINTAINERS: Fix my email address.

From-SVN: r190708
2012-08-27 12:00:32 +00:00
Tobias Burnus e9b490008e options.c (set_Wall): Don't set for -Wcompare-reals.
2012-08-27  Tobias Burnus  <burnus@net-b.de>

        * options.c (set_Wall): Don't set for -Wcompare-reals.
        * invoke.texi (-Wall, -Wcompare-reals): -Wall no longer
        implies -Wcompare-reals.

2012-08-27  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/bessel_5.f90: Remove -Wno-compare-reals
        from dg-options as -Wall no longer implies it.

From-SVN: r190707
2012-08-27 10:20:59 +02:00
GCC Administrator 12a3e30e84 Daily bump.
From-SVN: r190706
2012-08-27 00:17:35 +00:00
Richard Sandiford 4b11e406df mips.h (AVOID_CCMODE_COPIES): Update rationale for definition.
gcc/
	* config/mips/mips.h (AVOID_CCMODE_COPIES): Update rationale for
	definition.
	* config/mips/mips.c (machine_function): Add next_fcc.
	(mips_output_move): Remove handling of fcc moves.
	(mips_allocate_fcc): New function.
	(mips_emit_compare, mips_expand_vcondv2sf): Use it.
	(mips_hard_regno_mode_ok_p): Restrict CCmode to ST registers.
	Remove special case for CCmode reloads.
	(mips_expand_builtin_compare_1): Use mips_allocate_fcc and treat
	the result a fixed operand.
	* config/mips/mips.md (move_type): Remove lui_movf.
	(type, length): Remove references to it.
	(movcc, reload_incc, reload_outcc): Delete.

From-SVN: r190703
2012-08-26 19:31:15 +00:00
Hans-Peter Nilsson 7fc242e09f * btest-gcc.sh (TESTLOGS): Make gfortran.sum optional.
From-SVN: r190702
2012-08-26 19:30:44 +00:00
Richard Sandiford a1c741f02e mips.c (mips_has_long_branch_p): New function, split out from...
gcc/
	* config/mips/mips.c (mips_has_long_branch_p): New function,
	split out from...
	(mips_expand_ghost_gp_insns): ...here.  Look inside sequences.

From-SVN: r190701
2012-08-26 19:22:59 +00:00
Richard Sandiford 62332eba32 mips.c (r10k_safe_mem_expr_p): Use get_inner_reference.
gcc/
	* config/mips/mips.c (r10k_safe_mem_expr_p): Use get_inner_reference.

From-SVN: r190700
2012-08-26 19:20:31 +00:00
Richard Sandiford 1209ab5ed6 mips.c (mips_rtx_costs): Add costs for CINS.
gcc/
	* config/mips/mips.c (mips_rtx_costs): Add costs for CINS.

From-SVN: r190699
2012-08-26 19:19:31 +00:00
Richard Sandiford 3f5685dc35 mips.c (mips_rtx_costs): Add missing COSTS_N_INSNS to the size cost of multiplication.
gcc/
	* config/mips/mips.c (mips_rtx_costs): Add missing COSTS_N_INSNS
	to the size cost of multiplication.

From-SVN: r190698
2012-08-26 19:17:33 +00:00