Commit Graph

128755 Commits

Author SHA1 Message Date
Walter Lee
341c653c70 TILE-Gx big endian support.
/:
	* configure.ac (tilepro-*-*) Change to tilepro*-*-*.
	(tilegx-*-*): Change to tilegx*-*-*.
	* configure: Regenerate.

contrib/:
	* config-list.mk (LIST): Add tilegxbe-linux-gnu.

libcpp/:
	* configure.ac: Change "tilepro" triplet to "tilepro*".
	* configure: Regenerate.

libgcc/:
	* config.host: Support "tilegx*" and "tilepro*" triplets.
	* config/tilegx/sfp-machine32.h (__BYTE_ORDER): Handle big endian.
	* config/tilegx/sfp-machine64.h (__BYTE_ORDER): Handle big endian.

gcc/:
	* config.gcc (tilepro-*-*): Change to tilepro*-*-*.
	(tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
	triplet.
	* common/config/tilegx/tilegx-common.c
	(TARGET_DEFAULT_TARGET_FLAGS): Define.
	* config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
	(LINK_SPEC): Ditto.
	* config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
	* config/tilegx/tilegx.c (tilegx_return_in_msb): New.
	(tilegx_gimplify_va_arg_expr): Handle big endian.
	(tilegx_expand_unaligned_load): Ditto.
	(tilegx_expand_unaligned_store): Ditto.
	(TARGET_RETURN_IN_MSB): New.
	* config/tilegx/tilegx.h (TARGET_DEFAULT): New.
	(TARGET_ENDIAN_DEFAULT): New.
	(TARGET_BIG_ENDIAN): Handle big endian.
	(BYTES_BIG_ENDIAN): Ditto.
	(WORDS_BIG_ENDIAN): Ditto.
	(FLOAT_WORDS_BIG_ENDIAN): Ditto.
	(ENDIAN_SPEC): New.
	(EXTRA_SPECS): New.
	* config/tilegx/tilegx.md (extv): Handle big endian.
	(extzv): Ditto.
	(insn_st<n>): Ditto.
	(insn_st<n>_add<bitsuffix>): Ditto.
	(insn_stnt<n>): Ditto.
	(insn_stnt<n>_add<bitsuffix>):Ditto.
	(vec_interleave_highv8qi): Handle big endian.
	(vec_interleave_highv8qi_be): New.
	(vec_interleave_highv8qi_le): New.
	(insn_v1int_h): Handle big endian.
	(vec_interleave_lowv8qi): Handle big endian.
	(vec_interleave_lowv8qi_be): New.
	(vec_interleave_lowv8qi_le): New.
	(insn_v1int_l): Handle big endian.
	(vec_interleave_highv4hi): Handle big endian.
	(vec_interleave_highv4hi_be): New.
	(vec_interleave_highv4hi_le): New.
	(insn_v2int_h): Handle big endian.
	(vec_interleave_lowv4hi): Handle big endian.
	(vec_interleave_lowv4hi_be): New.
	(vec_interleave_lowv4hi_le): New.
	(insn_v2int_l): Handle big endian.
	(vec_interleave_highv2si): Handle big endian.
	(vec_interleave_highv2si_be): New.
	(vec_interleave_highv2si_le): New.
	(insn_v4int_h): Handle big endian.
	(vec_interleave_lowv2si): Handle big endian.
	(vec_interleave_lowv2si_be): New.
	(vec_interleave_lowv2si_le): New.
	(insn_v4int_l): Handle big endian.
	* config/tilegx/tilegx.opt (mbig-endian): New option.
	(mlittle-endian): New option.
	* doc/install.texi: Document tilegxbe-linux.
	* doc/invoke.texi: Document -mbig-endian and -mlittle-endian.

From-SVN: r208069
2014-02-24 15:08:00 +00:00
Arnaud Charlet
c97d7285d9 2014-02-24 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi: Misc updates.

2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_prag.adb (Expand_Old): Set the type of the generated temporary.

2014-02-24  Gary Dismukes  <dismukes@adacore.com>

	* layout.adb (Layout_Variant_Record): Instantiate
	Generic_Check_Choices and call Check_Choices before calling
	Build_Discr_Checking_Funcs, since we need Others_Discrete_Choices
	set to prevent generating incorrect discriminant-checking
	functions for 'others' variants (functions that unconditionally
	return True rather than accounting for the values covered by the
	'others' choice).
	* sem_eval.ads (Subtypes_Statically_Compatible): Add formal
	Formal_Derived_Matching.
	(Subtypes_Statically_Match): Add formal Formal_Derived_Matching.
	* sem_eval.adb (Subtypes_Statically_Compatible): Pass new
	Formal_Derived_Matching formal to Subtypes_Statically_Match.
	(Subtypes_Statically_Match): Suppress the Object_Size matching
	test in the case where Formal_Derived_Matching is True.
	* sem_ch12.adb (Validate_Derived_Type_Instance): Pass
	True for Formal_Derived_Matching_Formal on the call to
	Subtypes_Statically_Compatible.

From-SVN: r208068
2014-02-24 16:07:09 +01:00
Martin Jambor
f3fec19fb8 re PR ipa/60266 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:261 during LibreOffice LTO build)
2014-02-24  Martin Jambor  <mjambor@suse.cz>

	PR ipa/60266
	* ipa-cp.c (propagate_constants_accross_call): Bail out early if
	there are no parameter descriptors.

From-SVN: r208067
2014-02-24 13:39:52 +01:00
Andrey Belevantsev
9039622a9d re PR rtl-optimization/60268 (ICE: in rank_for_schedule, at haifa-sched.c:2557)
gcc/

2014-02-24  Andrey Belevantsev  <abel@ispras.ru>

    PR rtl-optimization/60268
    * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
    initialization to ...
    (sched_rgn_init): ... here.
    (schedule_region): Check for SCHED_PRESSURE_NONE earlier.

testsuite/

2014-02-24  Andrey Belevantsev  <abel@ispras.ru>

    PR rtl-optimization/60268
    * gcc.c-torture/compile/pr60268.c: New test.

From-SVN: r208066
2014-02-24 09:57:02 +04:00
GCC Administrator
467d193f93 Daily bump.
From-SVN: r208065
2014-02-24 00:16:52 +00:00
David Holsgrove
e7e7bc4b97 microblaze.md: Correct ashrsi_reg / lshrsi_reg names
2014-02-23  David Holsgrove <david.holsgrove@xilinx.com>

	* config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg names

From-SVN: r208061
2014-02-23 18:58:40 +00:00
Michael Eager
8011cccab2 [multiple changes]
2014-02-23  Edgar E. Iglesias <edgar.iglesias@xilinx.com>

	* config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
	definition.

2014-02-23  David Holsgrove <david.holsgrove@xilinx.com>

	* gcc/testsuite/gcc.target/microblaze/others/mem_reload.c: New test.

From-SVN: r208059
2014-02-23 18:53:47 +00:00
David Holsgrove
c332c7df48 microblaze.c: Add microblaze_asm_output_mi_thunk and define TARGET_ASM_OUTPUT_MI_THUNK and...
2014-02-23  David Holsgrove <david.holsgrove@xilinx.com>

	* /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk
	and define TARGET_ASM_OUTPUT_MI_THUNK and
	TARGET_ASM_CAN_OUTPUT_MI_THUNK.

From-SVN: r208057
2014-02-23 18:44:27 +00:00
David Holsgrove
d5a19af1be predicates.md: Add cmp_op predicate.
2014-02-23  David Holsgrove <david.holsgrove@xilinx.com>

	* config/microblaze/predicates.md: Add cmp_op predicate.
	* config/microblaze/microblaze.md: Add branch_compare instruction 
	which uses cmp_op predicate and emits cmp insn before branch.
	* config/microblaze/microblaze.c (microblaze_emit_compare): Rename 
	to microblaze_expand_conditional_branch and consolidate logic.
	(microblaze_expand_conditional_branch): emit branch_compare
	insn instead of handling cmp op separate from branch insn.

From-SVN: r208055
2014-02-23 18:36:38 +00:00
Eric Botcazou
9fbb94f227 Makefile.in (TOOLS_FLAGS_TO_PASS_CROSS): Robustify.
gnattools/
	* Makefile.in (TOOLS_FLAGS_TO_PASS_CROSS): Robustify.
gcc/ada/
	* gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS): Likewise.

From-SVN: r208053
2014-02-23 16:30:11 +00:00
Bill Schmidt
34c25d2393 rs6000.c (rs6000_emit_le_vsx_move): Relax assert to permit subregs.
2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
	to permit subregs.

From-SVN: r208052
2014-02-23 16:28:32 +00:00
Eric Botcazou
086de49080 utils2.c (build_simple_component_ref): Fix formatting.
* gcc-interface/utils2.c (build_simple_component_ref): Fix formatting.
	Look through a conversion between original and packable version to get
	the base object.
	(build_component_ref): Rework comment and fix formatting.

From-SVN: r208051
2014-02-23 16:26:32 +00:00
Bill Schmidt
a6eecdc172 altivec.md (altivec_lve<VI_char>x): Replace define_insn with define_expand and new define_insn...
gcc:

2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
	define_insn with define_expand and new define_insn
	*altivec_lve<VI_char>x_internal.
	(altivec_stve<VI_char>x): Replace define_insn with define_expand
	and new define_insn *altivec_stve<VI_char>x_internal.
	* config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
	prototype.
	* config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
	lve*x built-ins.
	(altivec_expand_stvex_be): New function.

gcc/testsuite:

2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vmx/lde.c: New test.
	* gcc.dg/vmx/lde-be-order.c: New test.
	* gcc.dg/vmx/ste.c: New test.
	* gcc.dg/vmx/ste-be-order.c: New test.

From-SVN: r208049
2014-02-23 15:27:48 +00:00
GCC Administrator
e5e216f98b Daily bump.
From-SVN: r208048
2014-02-23 00:16:39 +00:00
Joern Rennecke
8aa7d1fc65 avr.c (avr_can_eliminate): Allow elimination from ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if...
* config/avr/avr.c (avr_can_eliminate): Allow elimination from
        ARG_POINTER_REGNUM
        to STACK_POINTER_REGNUM if !frame_pointer_needed.
        * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
        ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.

From-SVN: r208045
2014-02-22 20:24:08 +00:00
Hans-Peter Nilsson
0294729c10 re PR testsuite/60173 (gcc.dg/binop-xor1.c scan-tree-dump-times)
PR testsuite/60173
	* lib/target-supports.exp
	(check_effective_target_logical_op_short_circuit): Add cris-*-*
	and crisv32-*-* to list.

From-SVN: r208044
2014-02-22 16:58:06 +00:00
Marc Glisse
6aba694120 re PR libstdc++/60308 (std::deque leaks memory)
2014-02-22  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/60308
	* include/bits/stl_deque.h (_Deque_base::_Deque_base(const
	allocator_type&)): Remove redundant call to _M_initialize_map.
	(deque::deque(const allocator_type&)): Initialize _Base with a
	constructor that calls _M_initialize_map.

	Partial revert:

	2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
	PR libstdc++/58338
	(_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
	_M_initialize_map.

From-SVN: r208041
2014-02-22 10:24:11 +00:00
Jason Merrill
7eae5d361e re PR c++/58170 ([c++11] Crash when aliasing a template class that is a member of its template base class.)
PR c++/58170
	* parser.c (cp_parser_type_name): Always check dependency.
	(cp_parser_type_specifier_seq): Call
	cp_parser_parse_and_diagnose_invalid_type_name.

From-SVN: r208040
2014-02-22 00:50:12 -05:00
GCC Administrator
d2c81d20aa Daily bump.
From-SVN: r208037
2014-02-22 00:16:58 +00:00
Janus Weil
f1ed9e151e re PR fortran/60302 (ICE with c_f_pointer and android cross compiler)
2014-02-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60302
	* check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
	is successful.


2014-02-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60302
	* gfortran.dg/c_f_pointer_shape_tests_6.f90: New.

From-SVN: r208033
2014-02-21 23:54:50 +01:00
Jason Merrill
d723358d01 re PR c++/60108 ([C++11] ICE in use_thunk, at cp/method.c:340)
PR c++/60108
	* semantics.c (expand_or_defer_fn_1): Check DECL_DEFAULTED_FN.

From-SVN: r208030
2014-02-21 16:57:49 -05:00
Jason Merrill
c754ffcc4c re PR c++/60185 (ICE with invalid default parameter)
PR c++/60185
	* parser.c (cp_parser_default_argument): Clear
	current_class_ptr/current_class_ref like tsubst_default_argument.

From-SVN: r208029
2014-02-21 16:53:46 -05:00
Jason Merrill
e7b67047c7 re PR c++/60252 ([c++11] ICE with invalid variable-length array in lambda parameter)
PR c++/60252
	* lambda.c (maybe_resolve_dummy): Check lambda_function rather
	than current_binding_level.

From-SVN: r208028
2014-02-21 16:50:52 -05:00
Jason Merrill
b98fb3633e re PR c++/60186 ([c++11] ICE with invalid value in constexpr array initializer)
PR c++/60186
	* typeck2.c (massage_init_elt): Call fold_non_dependent_expr_sfinae.

From-SVN: r208027
2014-02-21 16:49:05 -05:00
Jason Merrill
3e9e24ab25 re PR c++/60187 ([c++11] ICE with parameter pack as underlying type for enum)
PR c++/60187
	* parser.c (cp_parser_enum_specifier): Call
	check_for_bare_parameter_packs.

From-SVN: r208026
2014-02-21 16:47:30 -05:00
Jason Merrill
71b735a540 re PR c++/59347 (ICE on invalid: tree check: expected class 'type', have 'exceptional' (error_mark) in tsubst_decl, at cp/pt.c:10798)
PR c++/59347
	* pt.c (tsubst_decl) [TYPE_DECL]: Don't try to instantiate an
	erroneous typedef.

From-SVN: r208025
2014-02-21 16:43:29 -05:00
Jason Merrill
2671a8ef23 re PR c++/60241 (internal compiler error: in finish_member_declaration, at cp/semantics.c:2617)
PR c++/60241
	* pt.c (lookup_template_class_1): Update DECL_TEMPLATE_INSTANTIATIONS
	of the partial instantiation, not the most general template.
	(maybe_process_partial_specialization): Reassign everything on
	that list.

From-SVN: r208024
2014-02-21 16:41:16 -05:00
Vladimir Makarov
a810ee8207 re PR target/60298 ([ARM/Thumb1] ICE caused by LRA for case pr54713-1.c)
2014-02-21  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/60298
	* lra-constraints.c (inherit_reload_reg): Use lra_emit_move
	instead of emit_move_insn.

From-SVN: r208023
2014-02-21 21:23:48 +00:00
Bill Schmidt
b90ab1ba8c altivec.md (altivec_vsumsws): Replace second vspltw with vsldoi.
gcc:

2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (altivec_vsumsws): Replace second
	vspltw with vsldoi.
	(reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
	gen_altivec_vsumsws.

gcc/testsuite:

2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vmx/vsums.c: Check entire result vector.
	* gcc.dg/vmx/vsums-be-order.c: Likewise.

From-SVN: r208021
2014-02-21 21:01:01 +00:00
William Schmidt
4b3a6bcbcc altivec.md (altivec_lvxl): Rename as *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
gcc:

2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (altivec_lvxl): Rename as
	*altivec_lvxl_<mode>_internal and use VM2 iterator instead of
	V4SI.
	(altivec_lvxl_<mode>): New define_expand incorporating
	-maltivec=be semantics where needed.
	(altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
	(altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
	semantics where needed.
	(altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
	(altivec_stvx_<mode>): New define_expand incorporating
	-maltivec=be semantics where needed.
	(altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
	VM2 iterator instead of V4SI.
	(altivec_stvxl_<mode>): New define_expand incorporating
	-maltivec=be semantics where needed.
	* config/rs6000/rs6000-builtin.def: Add new built-in definitions
	LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
	LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI,
	STVX_V2DF, STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI,
	STVXL_V2DF, STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI,
	STVXL_V16QI.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
	ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
	similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
	ALTIVEC_BUILTIN_STVXL.
	* config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New
	prototype.
	(altivec_expand_stvx_be): Likewise.
	* config/rs6000/rs6000.c (swap_selector_for_mode): New function.
	(altivec_expand_lvx_be): Likewise.
	(altivec_expand_stvx_be): Likewise.
	(altivec_expand_builtin): Add cases for
	ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
	ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
	(altivec_init_builtins): Add definitions for
	__builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
	__builtin_altivec_stvx_<mode>, and
	__builtin_altivec_stvxl_<mode>.


gcc/testsuite:

2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vmx/ld.c: New test.
	* gcc.dg/vmx/ld-be-order.c: New test.
	* gcc.dg/vmx/ld-vsx.c: New test.
	* gcc.dg/vmx/ld-vsx-be-order.c: New test.
	* gcc.dg/vmx/ldl.c: New test.
	* gcc.dg/vmx/ldl-be-order.c: New test.
	* gcc.dg/vmx/ldl-vsx.c: New test.
	* gcc.dg/vmx/ldl-vsx-be-order.c: New test.
	* gcc.dg/vmx/st.c: New test.
	* gcc.dg/vmx/st-be-order.c: New test.
	* gcc.dg/vmx/st-vsx.c: New test.
	* gcc.dg/vmx/st-vsx-be-order.c: New test.
	* gcc.dg/vmx/stl.c: New test.
	* gcc.dg/vmx/stl-be-order.c: New test.
	* gcc.dg/vmx/stl-vsx.c: New test.
	* gcc.dg/vmx/stl-vsx-be-order.c: New test.

From-SVN: r208019
2014-02-21 20:46:52 +00:00
William Schmidt
1af73690cd altivec.md (altivec_lvxl): Rename as *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
gcc:

2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (altivec_lvxl): Rename as
	*altivec_lvxl_<mode>_internal and use VM2 iterator instead of
	V4SI.
	(altivec_lvxl_<mode>): New define_expand incorporating
	-maltivec=be semantics where needed.
	(altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
	(altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
	semantics where needed.
	(altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
	(altivec_stvx_<mode>): New define_expand incorporating
	-maltivec=be semantics where needed.
	(altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
	VM2 iterator instead of V4SI.
	(altivec_stvxl_<mode>): New define_expand incorporating
	-maltivec=be semantics where needed.
	* config/rs6000/rs6000-builtin.def: Add new built-in definitions
	LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
	LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI,
	STVX_V2DF, STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI,
	STVXL_V2DF, STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI,
	STVXL_V16QI.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
	ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
	similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
	ALTIVEC_BUILTIN_STVXL.
	* config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New
	prototype.
	(altivec_expand_stvx_be): Likewise.
	* config/rs6000/rs6000.c (swap_selector_for_mode): New function.
	(altivec_expand_lvx_be): Likewise.
	(altivec_expand_stvx_be): Likewise.
	(altivec_expand_builtin): Add cases for
	ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
	ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
	(altivec_init_builtins): Add definitions for
	__builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
	__builtin_altivec_stvx_<mode>, and
	__builtin_altivec_stvxl_<mode>.


gcc/testsuite:

2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vmx/ld.c: New test.
	* gcc.dg/vmx/ld-be-order.c: New test.
	* gcc.dg/vmx/ld-vsx.c: New test.
	* gcc.dg/vmx/ld-vsx-be-order.c: New test.
	* gcc.dg/vmx/ldl.c: New test.
	* gcc.dg/vmx/ldl-be-order.c: New test.
	* gcc.dg/vmx/ldl-vsx.c: New test.
	* gcc.dg/vmx/ldl-vsx-be-order.c: New test.
	* gcc.dg/vmx/st.c: New test.
	* gcc.dg/vmx/st-be-order.c: New test.
	* gcc.dg/vmx/st-vsx.c: New test.
	* gcc.dg/vmx/st-vsx-be-order.c: New test.
	* gcc.dg/vmx/stl.c: New test.
	* gcc.dg/vmx/stl-be-order.c: New test.
	* gcc.dg/vmx/stl-vsx.c: New test.
	* gcc.dg/vmx/stl-vsx-be-order.c: New test.

From-SVN: r208018
2014-02-21 20:45:09 +00:00
Uros Bizjak
c11581c9fb i386-2.C (dg-options): Add -mavx512pf.
* g++.dg/other/i386-2.C (dg-options): Add -mavx512pf.
	* g++.dg/other/i386-3.C (dg-options): Ditto.
	* gcc.target/i386/sse-12.c (dg-options): Add -msha.
	* gcc.target/i386/sse-13.c (dg-options): Add -mavx512er, -mavx512cd,
	-mavx512pf and -msha.

From-SVN: r208012
2014-02-21 20:24:43 +01:00
Jason Merrill
f611c78a8c re PR c++/60227 ([C++11] ICE using brace-enclosed initializer list to initialize array)
PR c++/60227
	Fix ChangeLog

From-SVN: r208009
2014-02-21 10:53:43 -05:00
Jason Merrill
0d4af07453 re PR c++/60216 ([c++11] Trouble with deleted template functions)
PR c++/60216
	* pt.c (register_specialization): Copy DECL_DELETED_FN to clones.
	(check_explicit_specialization): Don't clone.

From-SVN: r208004
2014-02-21 09:57:07 -05:00
Jason Merrill
07874b2486 re PR c++/60219 ([c++11] ICE invalid use of variadic template)
PR c++/60219
	* pt.c (coerce_template_parms): Bail if argument packing fails.

From-SVN: r208003
2014-02-21 09:57:00 -05:00
Jason Merrill
843633f841 re PR c++/60224 (ICE using invalid initializer for array)
PR c++/60224
	* decl.c (cp_complete_array_type, maybe_deduce_size_from_array_init):
	Don't get confused by a CONSTRUCTOR that already has a type.

From-SVN: r208002
2014-02-21 09:56:53 -05:00
Jason Merrill
cd3ef6f762 re PR c++/60277 (Bogus "inline function virtual ..." used but never defined)
PR c++/60277
	* call.c (build_array_conv): Don't crash on VLA.

From-SVN: r208001
2014-02-21 09:56:46 -05:00
Jason Merrill
1ea3297452 re PR c++/60248 ([C++11] ICE specializing variadic template)
PR c++/60248
	* mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL.

From-SVN: r208000
2014-02-21 09:56:38 -05:00
Jason Merrill
1c195d2a8f re PR c++/60252 ([c++11] ICE with invalid variable-length array in lambda parameter)
PR c++/60252
	* lambda.c (maybe_resolve_dummy): Don't try to capture this
	in declaration context.

From-SVN: r207999
2014-02-21 09:56:31 -05:00
Jason Merrill
e9cd655135 DR 1591 PR c++/60051
DR 1591
	PR c++/60051
	* pt.c (unify): Only unify if deducible.  Handle 0-length list.

From-SVN: r207998
2014-02-21 09:56:20 -05:00
Ed Smith-Rowland
94ff338464 Rename testsuite directory shared_mutex to shared_timed_mutex for consistency.
2014-02-21  Ed Smith-Rowland  <3dw4rd@verizon.net>

	Rename testsuite directory shared_mutex to shared_timed_mutex
	for consistency.
	* testsuite/30_threads/shared_mutex: Moved to...
	* testsuite/30_threads/shared_timed_mutex: ...here

From-SVN: r207997
2014-02-21 14:40:26 +00:00
Jason Merrill
9e01a71f1a re PR c++/60250 ([c++1y] ICE using lambda for array size)
PR c++/60250
	* parser.c (cp_parser_direct_declarator): Don't wrap a
	type-dependent expression in a NOP_EXPR.

From-SVN: r207996
2014-02-21 09:01:29 -05:00
Jason Merrill
e429bc3555 re PR c++/60251 ([c++11] ICE capturing variable-length array)
PR c++/60251
	* lambda.c (is_normal_capture_proxy): Handle VLA capture.

From-SVN: r207995
2014-02-21 09:01:20 -05:00
Jason Merrill
a866509aeb re PR c++/60167 (Bogus error: conflicting declaration)
PR c++/60167
	PR c++/60222
	PR c++/58606
	* parser.c (cp_parser_template_argument): Restore dereference.
	* pt.c (template_parm_to_arg): Dereference non-pack expansions too.
	(process_partial_specialization): Handle deref.
	(unify): Likewise.

From-SVN: r207994
2014-02-21 09:00:44 -05:00
Catherine Moore
0a39d07b81 invoke.texi (mvirt, mno-virt): Document.
2014-02-21  Catherine Moore  <clm@codesourcery.com>

	* doc/invoke.texi (mvirt, mno-virt): Document.
	* config/mips/mips.opt (mvirt): New option.
	* config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.

From-SVN: r207993
2014-02-21 08:30:47 -05:00
Richard Biener
f2556b68ca re PR tree-optimization/60276 (-O3 autovectorizer breaks on a particular loop)
2014-02-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/60276
	* tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
	(STMT_VINFO_MIN_NEG_DIST): New macro.
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
	STMT_VINFO_MIN_NEG_DIST.
	* tree-vect-stmts.c (vectorizable_load): Verify if assumptions
	made for negative dependence distances still hold.

	* gcc.dg/vect/pr60276.c: New testcase.

From-SVN: r207992
2014-02-21 13:18:54 +00:00
Richard Biener
32417082bf re PR middle-end/60291 (slow compile times for any mode (-O0/-O1/-O2) on large .c source file (30MBs))
2014-02-21  Richard Biener  <rguenther@suse.de>

	PR middle-end/60291
	* tree-ssa-live.c (mark_all_vars_used_1): Do not walk
	DECL_INITIAL for globals not in the current function context.

From-SVN: r207991
2014-02-21 13:14:23 +00:00
Rainer Orth
b9b78c8ca0 Added forgotten ChangeLog entry.
From-SVN: r207989
2014-02-21 11:55:14 +00:00
Jakub Jelinek
92261ce01d re PR tree-optimization/56490 (-Wall triggering infinite loop)
PR tree-optimization/56490
	* params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
	* tree-ssa-uninit.c: Include params.h.
	(compute_control_dep_chain): Add num_calls argument, return false
	if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
	num_calls to recursive call.
	(find_predicates): Change dep_chain into normal array,
	cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
	variable and adjust compute_control_dep_chain caller.
	(find_def_preds): Likewise.

From-SVN: r207988
2014-02-21 10:53:56 +01:00
Thomas Schwinge
aa6ef87451 Correct TDF_RAW pretty-printing of GIMPLE_OMP_FOR's GF_OMP_FOR_KIND_CILKSIMD.
gcc/
	* gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
	<case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.

From-SVN: r207987
2014-02-21 10:18:15 +01:00