Commit Graph

130931 Commits

Author SHA1 Message Date
Jan Hubicka
72732f3ef0 symtab.c: Include calls.h
* symtab.c: Include calls.h
	(symtab_nonoverwritable_alias_1): Check sanity of the local
	alias.

From-SVN: r212337
2014-07-07 19:53:36 +00:00
Maciej W. Rozycki
3ca588d3e2 rs6000.c (output_vec_const_move): Handle little-endian code generation.
gcc/
	* config/rs6000/rs6000.c (output_vec_const_move): Handle
	little-endian code generation.
	* config/rs6000/spe.md (spe_evmergehi): Rename to...
	(vec_perm00_v2si): ... this.  Handle little-endian code 
	generation.
	(spe_evmergehilo): Rename to...
	(vec_perm01_v2si): ... this.  Handle little-endian code
	generation.
	(spe_evmergelo): Rename to...
	(vec_perm11_v2si): ... this.  Handle little-endian code
	generation.
	(spe_evmergelohi): Rename to...
	(vec_perm10_v2si): ... this.  Handle little-endian code
	generation.
	(spe_evmergehi, spe_evmergehilo): New expanders.
	(spe_evmergelo, spe_evmergelohi): Likewise.
	(*frob_<SPE64:mode>_<DITI:mode>): Handle little-endian code
	generation.
	(*frob_tf_ti): Likewise.
	(*frob_<mode>_di_2): Likewise.
	(*frob_tf_di_8_2): Likewise.
	(*frob_di_<mode>): Likewise.
	(*frob_ti_tf): Likewise.
	(*frob_<DITI:mode>_<SPE64:mode>_2): Likewise.
	(*frob_ti_<mode>_8_2): Likewise.
	(*frob_ti_tf_2): Likewise.
	(mov_si<mode>_e500_subreg0): Rename to...
	(mov_si<mode>_e500_subreg0_be): ... this.  Restrict to the big
	endianness only.
	(*mov_si<mode>_e500_subreg0_le): New instruction pattern.
	(*mov_si<mode>_e500_subreg0_elf_low): Rename to...
	(*mov_si<mode>_e500_subreg0_elf_low_be): ... this.  Restrict to 
	the big endianness only.
	(*mov_si<mode>_e500_subreg0_elf_low_le): New instruction pattern.
	(*mov_si<mode>_e500_subreg0_2): Rename to...
	(*mov_si<mode>_e500_subreg0_2_be): ... this.  Restrict to the
	big big endianness only.
	(*mov_si<mode>_e500_subreg0_2_le): New instruction pattern.
	(*mov_si<mode>_e500_subreg4): Rename to...
	(*mov_si<mode>_e500_subreg4_be): ... this.  Restrict to the big
	endianness only.
	(mov_si<mode>_e500_subreg4_le): New instruction pattern.
	(*mov_si<mode>_e500_subreg4_elf_low): Rename to...
	(*mov_si<mode>_e500_subreg4_elf_low_be): ... this.  Restrict to
	the big endianness only.
	(*mov_si<mode>_e500_subreg4_elf_low_le): New instruction/splitter
	pattern.
	(*mov_si<mode>_e500_subreg4_2): Rename to...
	(*mov_si<mode>_e500_subreg4_2_be): ... this.  Restrict to the big
	endianness only.
	(*mov_si<mode>_e500_subreg4_2_le): New instruction pattern.
	(*mov_sitf_e500_subreg8): Rename to...
	(*mov_sitf_e500_subreg8_be): ... this.  Restrict to the big
	endianness only.
	(*mov_sitf_e500_subreg8_le): New instruction pattern.
	(*mov_sitf_e500_subreg8_2): Rename to...
	(*mov_sitf_e500_subreg8_2_be): ... this.  Restrict to the big
	endianness only.
	(*mov_sitf_e500_subreg8_2_le): New instruction pattern.
	(*mov_sitf_e500_subreg12): Rename to...
	(*mov_sitf_e500_subreg12_be): ... this.  Restrict to the big
	endianness only.
	(*mov_sitf_e500_subreg12_le): New instruction pattern.
	(*mov_sitf_e500_subreg12_2): Rename to...
	(*mov_sitf_e500_subreg12_2_be): ... this.  Restrict to the big
	endianness only.
	(*mov_sitf_e500_subreg12_2_le): New instruction pattern.

	gcc/testsuite/
	* gcc.target/powerpc/spe-evmerge.c: New file.

From-SVN: r212335
2014-07-07 15:48:23 +00:00
Maciej W. Rozycki
e762392918 Correct date in last ChangeLog entry.
From-SVN: r212334
2014-07-07 15:42:33 +00:00
Paolo Carlini
8895d9a1d2 class.c (check_for_override): Wrap the 'final' and 'override' keywords in %< and %>.
/cp
2014-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* class.c (check_for_override): Wrap the 'final' and 'override'
	keywords in %< and %>.

/testsuite
2014-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp0x/override1.C: Tweak expected error messages.

From-SVN: r212333
2014-07-07 15:29:01 +00:00
Max Ostapenko
0f05a19962 Do not instrument first byte in strlen if already instrumented.
gcc/
	* asan.c (instrument_strlen_call): Do not instrument first byte in strlen
	if already instrumented.

gcc/testsuite/
	* c-c++-common/asan/no-redundant-instrumentation-9.c: New test.

From-SVN: r212332
2014-07-07 17:31:18 +03:00
Paolo Carlini
625685bebb re PR c++/58898 (Adding default template argument to class template with "most vexing parse" causes compile error)
2014-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58898
	* g++.dg/parse/pr58898.C: New.

From-SVN: r212331
2014-07-07 14:17:17 +00:00
Dominique d'Humieres
f254169fee list_read_12.f90: Delete the file.
2014-07-07  Dominique d'Humieres <dominiq@lps.ens.fr>

	* gfortran.dg/list_read_12.f90: Delete the file.
	* gfortran.dg/vect/vect.exp: Use gfortran-dg-runtest instead
	of dg-runtest.

From-SVN: r212330
2014-07-07 16:11:42 +02:00
Francois-Xavier Coudert
afe31cdb2c * libgfortran.h: Assume __GNUC__.
From-SVN: r212328
2014-07-07 11:59:27 +00:00
Francois-Xavier Coudert
77777b33a8 stop.c: Use C11 _Noreturn.
* runtime/stop.c: Use C11 _Noreturn.
	* libgfortran.h: Use C11 _Noreturn in prototypes.
	Move REALPART, IMAGPART and COMPLEX_ASSIGN macros...
	* intrinsics/c99_functions.c: ... here.

From-SVN: r212327
2014-07-07 09:13:48 +00:00
Kyrylo Tkachov
8adb5dc735 [ARM] Remove deprecated mwords-little-endian.
* config/arm/arm.opt (mwords-little-endian): Delete.
	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Remove handling
	of TARGET_LITTLE_WORDS.
	(WORDS_BIG_ENDIAN): Define to BYTES_BIG_ENDIAN.
	* config/arm/arm.c (arm_option_override): Remove TARGET_LITTLE_WORDS
	warning.
	* doc/invoke.texi: Remove references to -mwords-little-endian.

From-SVN: r212326
2014-07-07 09:13:32 +00:00
Jakub Jelinek
c83cf30452 expmed.c (struct init_expmed_rtl): Change all fields but pow2 and cint from struct rtx_def to rtx.
* expmed.c (struct init_expmed_rtl): Change all fields but
	pow2 and cint from struct rtx_def to rtx.
	(init_expmed_one_conv, init_expmed_one_mode): Adjust for that change.
	(init_expmed): Likewise.  Allocate all the 18 rtxes and ggc_free them
	at the end again.

From-SVN: r212325
2014-07-07 10:42:49 +02:00
Francois-Xavier Coudert
a709346f06 fpu-387.h, [...]: Use static assertions.
* config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h,
	config/fpu-glibc.h: Use static assertions.

From-SVN: r212323
2014-07-07 07:47:41 +00:00
Jerry DeLisle
1b38fe0e93 re PR libfortran/61640 (KIND=4 Character Array Internal Unit Read Fail)
2014-07-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/61640
	* gfortran.dg/arrayio_16.f90: New test.

From-SVN: r212322
2014-07-07 04:22:29 +00:00
GCC Administrator
eeeddef397 Daily bump.
From-SVN: r212318
2014-07-07 00:17:40 +00:00
Gerald Pfeifer
0e29a40052 * gfortran.texi (Fortran 2003 status): Fix grammar.
From-SVN: r212315
2014-07-06 22:17:21 +00:00
Uros Bizjak
88e03ffe44 * ChangeLog: Fix whitespace.
From-SVN: r212314
2014-07-06 22:32:26 +02:00
Marek Polacek
e5fe19a38a imm-devirt-1.C: Fix regexp in dg-final.
* g++.dg/ipa/imm-devirt-1.C: Fix regexp in dg-final.
	* g++.dg/ipa/imm-devirt-2.C: Likewise.

From-SVN: r212313
2014-07-06 19:26:06 +00:00
Marek Polacek
773ec47fe6 re PR c/6940 (taking sizeof array parameter should trigger a warning)
PR c/6940
	* doc/invoke.texi: Document -Wsizeof-array-argument.
c-family/
	* c.opt (Wsizeof-array-argument): New option.
c/
	* c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
	* c-tree.h (C_ARRAY_PARAMETER): Define.
	* c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
	function parameter.
cp/
	* cp-tree.h (DECL_ARRAY_PARAMETER_P): Define.
	* decl.c (grokdeclarator): Set DECL_ARRAY_PARAMETER_P.
	* typeck.c (cxx_sizeof_expr): Warn when using sizeof on an array
	function parameter.
testsuite/
	* c-c++-common/Wsizeof-pointer-memaccess1.c: Use
	-Wno-sizeof-array-argument.
	* c-c++-common/Wsizeof-pointer-memaccess2.c: Likewise.
	* g++.dg/warn/Wsizeof-pointer-memaccess-1.C: Likewise.
	* gcc.dg/Wsizeof-pointer-memaccess1.c: Likewise.
	* g++.dg/torture/Wsizeof-pointer-memaccess1.C: Likewise.
	* g++.dg/torture/Wsizeof-pointer-memaccess2.C: Likewise.
	* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Likewise.
	* c-c++-common/sizeof-array-argument.c: New test.
	* gcc.dg/vla-5.c: Add dg-warnings.
../libgomp/	* testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.

From-SVN: r212312
2014-07-06 19:00:10 +00:00
GCC Administrator
dc044bfb72 Daily bump.
From-SVN: r212311
2014-07-06 00:16:57 +00:00
Rainer Orth
de51fc1b15 Restore Solaris/SPARC bootstrap
* configure, config.h.in: Regenerate.
	* config/fpu-sysv.h: Include <assert.h>.

From-SVN: r212307
2014-07-05 20:43:07 +00:00
Rainer Orth
9a62ed16dd Don't accept isl 0.10.
* configure.ac: Don't accept isl 0.10.
	* configure: Regenerate.

From-SVN: r212306
2014-07-05 20:18:14 +00:00
Gerald Pfeifer
a4ff2ef3c0 wide-int.h (wide_int_storage): Change declaration from struct to class.
* wide-int.h (wide_int_storage): Change declaration from struct
	to class.

From-SVN: r212305
2014-07-05 18:41:08 +00:00
Jan Hubicka
058d0a9059 cgraph.c (cgraph_create_indirect_edge): Update call of get_polymorphic_call_info.
* cgraph.c (cgraph_create_indirect_edge): Update call of
	get_polymorphic_call_info.
	* ipa-utils.h (get_polymorphic_call_info): Add parameter CALL.
	(possible_polymorphic_call_targets): Add parameter call.
	(decl_maybe_in_construction_p): New predicate.
	(get_polymorphic_call_info): Add parameter call;
	use decl_maybe_in_construction_p.
	* gimple-fold.c (fold_gimple_assign): Update use of
	possible_polymorphic_call_targets.
	(gimple_fold_call): Likewise.
	* ipa-prop.c: Inlcude calls.h
	(ipa_binfo_from_known_type_jfunc): Check that known type is record.
	(param_type_may_change_p): New predicate.
	(detect_type_change_from_memory_writes): Break out from ...
	(detect_type_change): ... this one; use 
	param_type_may_change_p.
	(detect_type_change_ssa): Use param_type_may_change_p.
	(compute_known_type_jump_func): Use decl_maybe_in_construction_p.

	* g++.dg/ipa/devirt-26.C: Update testcase.
	* g++.dg/ipa/imm-devirt-1.C: Update testcase.
	* g++.dg/ipa/imm-devirt-2.C: Update testcase.

From-SVN: r212304
2014-07-05 17:22:44 +00:00
Charles Baylis
aed773a2c8 [ARM] PR target/49423
2014-07-05  Charles Baylis  <charles.baylis@linaro.org>

	PR target/49423
	* config/arm/arm-protos.h (arm_legitimate_address_p,
	arm_is_constant_pool_ref): Add prototypes.
	* config/arm/arm.c (arm_legitimate_address_p): Remove static.
	(arm_is_constant_pool_ref) New function.
	* config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
	arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
	(arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
	operand. Remove pool_range and neg_pool_range attributes.
	(arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
	pool_range and neg_pool_range attributes.
	* config/arm/constraints.md (Uh): New constraint.
	(Uq): Don't allow constant pool references.

From-SVN: r212303
2014-07-05 11:58:06 +00:00
GCC Administrator
f19c9da841 Daily bump.
From-SVN: r212302
2014-07-05 00:16:41 +00:00
Tobias Burnus
d7463e5b31 resolve.c (resolve_assoc_var): Fix corank setting.
2014-07-04  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (resolve_assoc_var): Fix corank setting.
        * trans-array.c (gfc_conv_descriptor_token): Change assert.
        for select-type temporaries.
        * trans-decl.c (generate_coarray_sym_init): Skip for
        attr.select_type_temporary. 
        * trans-expr.c (gfc_conv_procedure_call): Fix for
        select-type temporaries.
        * trans-intrinsic.c (get_caf_token_offset): Ditto.
        (gfc_conv_intrinsic_caf_get, gfc_conv_intrinsic_caf_send): Set
        the correct dtype.
        * trans-types.h (gfc_get_dtype_rank_type): New.
        * trans-types.c (gfc_get_dtype_rank_type): Ditto.

2014-07-04  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/coindexed_3.f90: New.

From-SVN: r212299
2014-07-04 22:25:28 +02:00
James Greenhalgh
5a908485ae [Patch AArch64_be] Fix some vec_concat big-endian confusions
* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New.
	(move_lo_quad_internal_be_<mode>): Likewise.
	(move_lo_quad_<mode>): Convert to define_expand.
	(aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN.
	(aarch64_simd_move_hi_quad_be_<mode>): New.
	(move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN.
	(aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN.
	(aarch64_combinez_be<mode>): New.
	(aarch64_combine<mode>): Convert to define_expand.
	(aarch64_combine_internal<mode>): New.
 	(aarch64_simd_combine<mode>): Remove bogus RTL description.

From-SVN: r212298
2014-07-04 15:56:27 +00:00
Tom de Vries
34386e79b3 Improve documentation of earlyclobber
2014-07-04  Tom de Vries  <tom@codesourcery.com>

	* doc/md.texi (@subsection Constraint Modifier Characters): Clarify
	combination of earlyclobber and read/write modifiers.

From-SVN: r212297
2014-07-04 13:36:25 +00:00
Tom de Vries
7973ca623a Fix constraint in vec_unpack_trunc_<mode>
2014-07-04  Tom de Vries  <tom@codesourcery.com>

	* config/aarch64/aarch64-simd.md
	(define_insn "vec_unpack_trunc_<mode>"): Fix constraint.

From-SVN: r212296
2014-07-04 13:36:12 +00:00
Richard Earnshaw
9815fafaf6 re PR target/61714 (configure --with-arch and --with-cpu are ignored on aarch64)
PR target/61714
	* aarch64.h (OPTION_DEFAULT_SPECS): Define.

From-SVN: r212295
2014-07-04 10:51:56 +00:00
Jakub Jelinek
253eab4f8b re PR middle-end/61654 (ICE in release_function_body, at cgraph.c:1699)
PR middle-end/61654
	* cgraphunit.c (expand_thunk): Call free_dominance_info.

	* g++.dg/opt/pr61654.C: New test.

From-SVN: r212293
2014-07-04 10:38:45 +02:00
Jakub Jelinek
14e000dec0 re PR tree-optimization/61684 (ICE at -Os and above on x86_64-linux-gnu in tree check: expected ssa_name, have addr_expr in recognize_single_bit_test, at tree-ssa-ifcombine.c:238)
PR tree-optimization/61684
	* tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
	rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.

	* gcc.c-torture/compile/pr61684.c: New test.

From-SVN: r212290
2014-07-04 10:32:56 +02:00
Chung-Ju Wu
17bf6d250c Move fp-as-gp optimization to nds32-fp-as-gp.c module.
gcc/
	* config/nds32/nds32.c (nds32_have_prologue_p): Move to ...
	(nds32_symbol_load_store_p): Move to ...
	(nds32_fp_as_gp_check_available): Move to ...
	* config/nds32/nds32-fp-as-gp.c: ... here.
	* config/nds32/nds32-protos.h (nds32_symbol_load_store_p): Remove
	extern declaration.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>

From-SVN: r212288
2014-07-04 07:39:23 +00:00
Chung-Ju Wu
f1fac1bced Move memory related implementation to nds32-memory-manipulation.c module.
gcc/
	* config/nds32/nds32.c (nds32_expand_load_multiple): Move to ...
	(nds32_expand_store_multiple): Move to ...
	(nds32_expand_movmemqi): Move to ...
	* config/nds32/nds32-memory-manipulation.c: ... here.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>

From-SVN: r212287
2014-07-04 07:38:06 +00:00
Chung-Ju Wu
9e9dbc429c Move some external functions used by machine description patterns to nds32-md-auxiliary.c module.
gcc/
	* config/nds32/nds32.c (nds32_byte_to_size): Move to ...
	(nds32_output_casesi_pc_relative): Move to ...
	(nds32_output_casesi): Move to ...
	(nds32_mem_format): Move to ...
	(nds32_output_16bit_store): Move to ...
	(nds32_output_16bit_load): Move to ...
	(nds32_output_32bit_store): Move to ...
	(nds32_output_32bit_load): Move to ...
	(nds32_output_32bit_load_s): Move to ...
	(nds32_output_stack_push): Move to ...
	(nds32_output_stack_pop): Move to ...
	* config/nds32/nds32-md-auxiliary.c: ... here.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>

From-SVN: r212286
2014-07-04 07:35:43 +00:00
Chung-Ju Wu
c65cef1051 Preparation of nds32-pipelines-auxiliary.c module for future implementation.
gcc/
	* config/nds32/nds32-pipelines-auxiliary.c: Add comment to describe
	the purpose of this file.

Co-Authored-By: Ling-Hua Tseng <uranus@tinlans.org>

From-SVN: r212285
2014-07-04 07:32:28 +00:00
Chung-Ju Wu
89a4b5475a Move cost calculation to nds32-cost.c module.
gcc/
	* config/nds32/nds32.c (nds32_rtx_costs): Move implementation to ...
	(nds32_address_cost): Move implementation to ...
	* config/nds32/nds32-cost.c: ... here.
	* config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Declare.
	(nds32_address_cost_impl): Declare.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>

From-SVN: r212284
2014-07-04 07:31:24 +00:00
Chung-Ju Wu
6a2a98b1a6 Move some helper functions of predicates and constraints to nds32-predicates.c module.
gcc/
	* config/nds32/nds32.c
	(nds32_consecutive_registers_load_store_p): Move to ...
	(nds32_valid_multiple_load_store): Move to ...
	(nds32_valid_stack_push_pop): Move to ...
	(nds32_can_use_bclr_p): Move to ...
	(nds32_can_use_bset_p): Move to ...
	(nds32_can_use_btgl_p): Move to ...
	(nds32_can_use_bitci_p): Move to ...
	* config/nds32/nds32-predicates.c: ... here.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>

From-SVN: r212283
2014-07-04 07:30:04 +00:00
Chung-Ju Wu
aaa44d2d0b Move builtin functions implementation to nds32-intrinsic.c module.
gcc/
	* config/nds32/nds32.c
	(nds32_expand_builtin_null_ftype_reg): Move to ...
	(nds32_expand_builtin_reg_ftype_imm): Move to ...
	(nds32_expand_builtin_null_ftype_reg_imm): Move to ...
	(nds32_init_builtins): Move implementation to ...
	(nds32_expand_builtin): Move implementation to ...
	* config/nds32/nds32-intrinsic.c: ... here.
	* config/nds32/nds32-protos.h (nds32_init_builtins_impl): Declare.
	(nds32_expand_builtin_impl): Declare.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>

From-SVN: r212282
2014-07-04 07:26:10 +00:00
Chung-Ju Wu
c23a919b86 Move ISR impelentation to nds32-isr.c module.
gcc/
	* config/nds32/nds32.c (nds32_emit_section_head_template): Move to ...
	(nds32_emit_section_tail_template): Move to ...
	(nds32_emit_isr_jmptbl_section): Move to ...
	(nds32_emit_isr_vector_section): Move to ...
	(nds32_emit_isr_reset_conten): Move to ...
	(nds32_check_isr_attrs_conflict): Move to ...
	(nds32_construct_isr_vectors_information): Move to ...
	(nds32_asm_file_start): Move implementation to ...
	(nds32_asm_file_end): Move implementation to ...
	* config/nds32/nds32-isr.c: ... here.
	* config/nds32/nds32-protos.h
	(nds32_check_isr_attrs_conflict): Declare.
	(nds32_construct_isr_vectors_information): Declare.
	(nds32_asm_file_start_for_isr): Declare.
	(nds32_asm_file_end_for_isr): Declare.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>

From-SVN: r212281
2014-07-04 07:23:32 +00:00
Chung-Ju Wu
c0c935b507 Add several new files for preparation of providing modules
that are going to be separated from nds32.c source.

gcc/
	* config.gcc (nds32*): Add new modules to extra_objs.
	(nds32le-*-*): Use t-nds32 makefile fragment for new modules.
	(nds32be-*-*): Likewise.
	* config/nds32/nds32-cost.c: New file.
	* config/nds32/nds32-fp-as-gp.c: New file.
	* config/nds32/nds32-intrinsic.c: New file.
	* config/nds32/nds32-isr.c: New file.
	* config/nds32/nds32-md-auxiliary.c: New file.
	* config/nds32/nds32-memory-manipulation.c: New file.
	* config/nds32/nds32-pipelines-auxiliary.c: New file.
	* config/nds32/nds32-predicates.c: New file.
	* config/nds32/t-nds32: New file.

Co-Authored-By: Kito Cheng <kito@0xlab.org>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>

From-SVN: r212280
2014-07-04 07:18:19 +00:00
Thomas Schwinge
a03bd0056c Normalize interface for all *-dg-runtest.
gcc/testsuite/
	* lib/g++-dg.exp (g++-dg-runtest): Change interface to match
	dg-runtest's.  Adapt all callers.
	* lib/gcc-dg.exp (gcc-dg-runtest): Likewise.
	* lib/gfortran-dg.exp (gfortran-dg-runtest): Likewise.
	* lib/go-dg.exp (go-dg-runtest): Likewise.
	* lib/obj-c++-dg.exp (obj-c++-dg-runtest): Likewise.
	* lib/objc-dg.exp (objc-dg-runtest): Likewise.
	libffi/
	* testsuite/lib/libffi.exp (libffi-dg-runtest): Change interface
	match to dg-runtest's.

From-SVN: r212278
2014-07-04 07:28:17 +02:00
GCC Administrator
01ffe74dcc Daily bump.
From-SVN: r212277
2014-07-04 00:16:52 +00:00
Jakub Jelinek
c01d6ad948 re PR tree-optimization/61682 (wrong code at -O3 on x86_64-linux-gnu)
PR tree-optimization/61682
	* wide-int.cc (wi::mul_internal): Handle high correctly
	for umul_ppmm using cases and when one of the operands is
	equal to 1.

	* gcc.c-torture/execute/pr61682.c: New test.

From-SVN: r212273
2014-07-04 00:11:21 +02:00
Jakub Jelinek
f707da16f7 libgomp.exp (libgomp_target_compile): If $source matches regex $lang_source_re, add $lang_include_flags to options.
* testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
	matches regex $lang_source_re, add $lang_include_flags to options.
	* testsuite/libgomp.c/c.exp: Unset lang_include_flags.
	* testsuite/libgomp.c++/c++.exp: Likewise.
	* testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
	and lang_include_flags instead of adding -fintrinsic-modules-path= to
	ALWAYS_CFLAGS.
	* testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.

From-SVN: r212268
2014-07-03 20:45:35 +02:00
Segher Boessenkool
9e5f78f114 Fix the shift patterns, and add test
Firstly, it adds back the split conditions that I accidentally removed.
Without it the dot insns are never generated, or rather, always split
back to a separate compare instruction.

Secondly, the shift amount should be SI always, not GPR, or GCC will
insert a zero-extend at expand time that it cannot get rid of later.

The test tests whether dot-form instructions are generated for both
"dot" and "dot2" cases, that is, with just a CC output or also a GPR
output; for all four basic shifts, with a register amount or an
immediate amount.  It also tests for superfluous zero-extends.  This
also tests if combine "simplifies" the rotates to right-rotates, which
it shouldn't do anymore.

From-SVN: r212267
2014-07-03 18:39:58 +02:00
Thomas Schwinge
07b6c04483 Explain gfortran-dg-runtest usage in libgomp Fortran testing.
libgomp/
	* testsuite/libgomp.fortran/fortran.exp: Explain
	gfortran-dg-runtest usage.

From-SVN: r212266
2014-07-03 17:23:43 +02:00
Richard Earnshaw
a89b02c0aa arm.md (arch): Add armv6_or_vfpv3.
* arm.md (arch): Add armv6_or_vfpv3.
	(arch_enabled): Add test for the above.
	* vfp.md (divsf_vfp, divdf_vfp): Add earlyclobber when code can run
	on VFP9.
	(sqrtsf_vfp, sqrtdf_vfp): Likewise.

From-SVN: r212265
2014-07-03 15:12:23 +00:00
Jakub Jelinek
00a7ba5840 gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
* gcov-io.c (gcov_read_words): Don't call memmove if excess is 0.
	* data-streamer-in.c (streamer_read_hwi): Shift UHWI 1 instead of
	HWI 1 and negate the unsigned value.
	* expmed.c (expand_sdiv_pow2): For modes wider than word always
	use AND instead of shift.
	* wide-int-print.cc (print_decs): Negate UHWI instead of HWI.
c-family/
	* c-ada-spec.c (dump_ada_nodes): Don't call qsort if 
	comments->count <= 1, as comments->entries might be NULL.

From-SVN: r212264
2014-07-03 16:39:05 +02:00
Francois-Xavier Coudert
e215267395 ieee_1.F90: Mark variables as volatile to avoid optimization.
* gfortran.dg/ieee/ieee_1.F90: Mark variables as volatile to
	avoid optimization.

From-SVN: r212261
2014-07-03 11:47:46 +00:00