Commit Graph

138639 Commits

Author SHA1 Message Date
Eric Botcazou
f797c2b745 gigi.h (build_atomic_load): Adjust prototype.
* gcc-interface/gigi.h (build_atomic_load): Adjust prototype.
	(build_atomic_store): Likewise.
	(build_load_modify_store): Declare.
	(VECTOR_TYPE_P): Delete.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Replace Is_Atomic with
	Is_Atomic_Or_VFA throughout.
	<E_Array_Type>: Build a variant of the XUA type instead of forcing
	TYPE_VOLATILE on it.
	<E_Array_Subtype>: Use the main variant of the base type.
	Do not force TYPE_VOLATILE on the type being built.
	<E_Record_Type>: Likewise.
	<E_Array_Subtype>: Likewise.
	<E_Subprogram_Type>: Rename local variable.
	Add Atomic qualifier in conjunction with Volatile on types if needed.
	Force BLKmode for by-ref types only at the end of the processing.
	Change qualifiers only after changing the mode of the type.  Set
	TYPE_UNIVERSAL_ALIASING_P on the type directly.
	(check_ok_for_atomic_type): Issue specific error message for VFA.
	(gnat_to_gnu_component_type): Replace Is_Atomic with
	Is_Atomic_Or_VFA throughout.
	* gcc-interface/misc.c (gnat_get_alias_set): Test
	TYPE_UNIVERSAL_ALIASING_P on the type directly.
	* gcc-interface/trans.c (lvalue_required_p): Replace Is_Atomic with
	Is_Atomic_Or_VFA throughout.  Add missing guard.
	(node_is_atomic): New predicate.
	(node_has_volatile_full_access): Likewise.
	(gnat_strip_type_conversion): New function.
	(outer_atomic_access_required_p): New predicate.
	(atomic_sync_required_p): Rename into...
	(atomic_access_required_p): ...this.  Add SYNC parameter, scan the
	parent node first and then look for the atomic setting.  Add support
	for Volatile_Full_Access.
	(Call_to_gnu): Add atomic_access and outer_atomic_access parameters
	and adjusts calls to above functions.  Use load-modify-store sequence
	for updates of In/Out and Out parameters if required, as well as for
	moving the result to the target if required.  Add couple of missing
	guards.
	(gnat_to_gnu): Adjust calls to above functions.
	<N_Object_Renaming_Declaration>: If the renamed object has side-effects
	evaluate only its address.
	<N_Assignment_Statement>: Adjust call to Call_to_gnu.  Use load-modify
	store sequence if required.
	<N_Function_Call>: Adjust call to Call_to_gnu.
	(extract_values): Adjust comment.
	* gcc-interface/utils2.c (build_atomic_load): Add SYNC parameter and
	use relaxed memory model if it is not set.
	(build_atomic_store): Likewise.
	(call_is_atomic_load): New predicate.
	(build_load_modify_store): New function.
	(build_binary_op) <MODIFY_EXPR>: Accept SAVE_EXPR on the LHS.
	(gnat_stabilize_reference) <CALL_EXPR>: Deal with atomic loads.

From-SVN: r223652
2015-05-25 20:18:44 +00:00
Alexander Monakov
2e24efd3f4 i386.h (enum reg_class): Move CLOBBERED_REGS prior to Q_REGS.
* config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
	Q_REGS.  Expand comment.
	(REG_CLASS_NAMES): Ditto.
	(REG_CLASS_CONTENTS): Ditto.
testsuite:
	* gcc.target/i386/pr66232-1.c: Adjust scan pattern.
	* gcc.target/i386/pr66232-3.c: Likewise.

From-SVN: r223650
2015-05-25 21:07:26 +03:00
Uros Bizjak
979455ea0e re PR target/66274 (gcc6: x86 -m32 emits 64bit register in inline asm)
PR target/66274
	* config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
	when LEGACY_INT_REGNO_P is processed.

testsuite/ChangeLog:

	PR target/66274
	* gcc.target/i386/pr66274.c: New test.

From-SVN: r223649
2015-05-25 19:49:28 +02:00
Alexander Monakov
4ea9e6c799 * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
From-SVN: r223648
2015-05-25 20:44:45 +03:00
Pitchumani Sivanupandi
9e46366d37 avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base register if not marked dead/unused, before return.
* config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
	register if not marked dead/unused, before return.

From-SVN: r223647
2015-05-25 19:43:05 +03:00
Marek Polacek
9677ef526d * c-ubsan.c (ubsan_instrument_shift): Use type0.
From-SVN: r223646
2015-05-25 15:46:01 +00:00
Eric Botcazou
ea29244832 ada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into...
* gcc-interface/ada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into...
	(DECL_GLOBAL_NONCONSTANT_RENAMING_P): ...this.
	* gcc-interface/gigi.h (record_global_renaming_pointer): Delete.
	(invalidate_global_renaming_pointers): Likewise.
	(record_global_nonconstant_renaming): New.
	(invalidate_global_nonconstant_renamings): Likewise.
	(get_inner_constant_reference): Likewise.
	(gnat_constant_reference_p): Likewise.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Adjust to above
	and register the renaming pointer only if the object is non-constant.
	(elaborate_expression_1): Call get_inner_constant_reference instead
	of get_inner_reference.
	* gcc-interface/trans.c (fold_constant_decl_in_expr): Minor tweak.
	(Identifier_to_gnu): Adjust to above and do not recheck the renamed
	object before substituting it.
	(Compilation_Unit_to_gnu): Adjust to above renaming.  Minor tweaks.
	(gnat_to_gnu) <N_Object_Renaming_Declaration>: Do not return the
	result at the global level.
	(N_Exception_Renaming_Declaration): Likewise.
	* gcc-interface/utils.c (global_renaming_pointers): Rename into...
	(global_nonconstant_renamings): ...this.
	(destroy_gnat_utils): Adjust to above renaming.
	(record_global_renaming_pointer): Rename into...
	(record_global_nonconstant_renaming): ...this.
	(invalidate_global_renaming_pointers): Rename into...
	(invalidate_global_nonconstant_renamings): ...this and do not recheck
	the renamed object before invalidating.
	* gcc-interface/utils2.c (gnat_stabilize_reference): Minor tweak.
	(get_inner_constant_reference): New public function.
	(gnat_constant_reference_p): New predicate.

From-SVN: r223644
2015-05-25 14:00:28 +00:00
Javier Miranda
288cbbbdac einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): This attribute is now present in subprograms...
2015-05-25  Javier Miranda  <miranda@adacore.com>

	* einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): This attribute
	is now present in subprograms, generic subprograms, entries and
	entry families.
	* sem_ch6.adb (Set_Formal_Mode): Set As_Out_Or_In_Out_Parameter
	on entries, entry families, subprograms and generic subprograms.
	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration):
	Minor code reorganization to ensure that the Ekind attribute
	of the subprogram entity is set before its formals are
	processed. Required to allow the use of the attribute
	Has_Out_Or_In_Out_Parameter on the subprogram entity.
	* sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
	Perform the check on writable actuals only if the value of some
	component of the aggregate involves calling a function with
	out-mode parameters.
	(Resolve_Record_Aggregate): Propagate the Check_Actuals flag to the
	internally built aggregate.
	* sem_ch3.adb (Build_Derived_Record_Type, Record_Type_Declaration):
	Perform the check on writable actuals only if the initialization of
	some component involves calling a function with out-mode parameters.
	* sem_ch4.adb (Analyze_Arithmetic_Op, Analyze_Comparison_Op,
	Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
	Analyze_Range): Check writable actuals only if the
	subtrees have a call to a function with out-mode parameters
	(Analyze_Call.Check_Writable_Actuals): New subprogram. If the call
	has out or in-out parameters then mark its outermost enclosing
	construct as a node on which the writable actuals check must
	be performed.
	(Analyze_Call): Check if the flag must be set and if the outermost
	enclosing construct.
	* sem_util.adb (Check_Function_Writable_Actuals): Code cleanup
	and reorganization. We skip processing aggregate discriminants
	since their precise analysis involves two phases traversal.
	* sem_res.adb (Resolve_Actuals, Resolve_Arithmetic_Op,
	Resolve_Logical_Op, Resolve_Membership_Op): Remove call to
	check_writable_actuals.

From-SVN: r223643
2015-05-25 14:37:37 +02:00
Andreas Tobler
277420210d pr64317.c: Use 'dg-require-effective-target ia32' and 'dg-require-effective-target pie'.
2015-05-25  Andreas Tobler  <andreast@gcc.gnu.org>

        * gcc.target/i386/pr64317.c: Use 'dg-require-effective-target ia32'
	and 'dg-require-effective-target pie'.

From-SVN: r223642
2015-05-25 10:50:43 +02:00
GCC Administrator
627eba4c6f Daily bump.
From-SVN: r223640
2015-05-25 00:16:14 +00:00
Nathan Sidwell
6f2d72e0e1 re PR c++/66243 (enum class value is allowed to be initialized by value from other enum class)
cp/
	PR c++/66243
	* decl.c (build_enumerator): Don't silently convert scoped enums.

	testsuite/
	PR c++/66243
	* g++.dg/cpp0x/pr66243.C: New.

From-SVN: r223636
2015-05-24 23:17:58 +00:00
Eric Botcazou
bce0e38df9 * configure: Regenerate.
From-SVN: r223635
2015-05-24 21:58:37 +00:00
Uros Bizjak
98ce5ba507 * ChangLog: Fix whitespace.
From-SVN: r223634
2015-05-24 21:57:47 +02:00
Jan Hubicka
233ce28925 re PR lto/66180 (many -Wodr false positives when building LLVM with -flto)
PR lto/66180
	* ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
	is set; check for assembler name at LTO time.
	(type_in_anonymous_namespace): Remove hacks, check that all
	anonymous types are called "<anon>"
	(odr_type_p): Simplify; add check for "<anon>"
	(odr_subtypes_equivalent): Add odr_type_p check.
	* tree.c (need_assembler_name_p): Even anonymous namespace needs
	assembler name.
	* mangle.c (mangle_decl): Mangle anonymous namespace types as
	"<anon>".
	* g++.dg/lto/pr66180_0.C: New testcase.
	* g++.dg/lto/pr66180_1.C: New testcase.

From-SVN: r223633
2015-05-24 19:38:14 +00:00
Mikael Morin
bc0c7f396b re PR fortran/66257 (ELEMENTAL procedure pointer component XX is not allowed as an actual argument)
PR fortran/66257
gcc/fortran/
	* resolve.c (resolve_actual_arglist): Don't throw an error
	if the argument with procedure pointer component is not a variable.
gcc/testsuite/
	* typebound_call_27.f90: New file.

From-SVN: r223631
2015-05-24 14:55:50 +00:00
Jan Hubicka
70e7f2a2df ipa-utils.h (method_class_type): Remove.
* ipa-utils.h (method_class_type): Remove.
	* cgraphunit.c (walk_polymorphic_call_targets): Use TYPE_METHOD_BASETYPE.
	* ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
	on main variants only.
	(method_class_type): Remove.
	(update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
	(build_type_inheritance_graph): Likewise.
	* ipa-icf.c (sem_function::equals_wpa): Likewise.
	* pa-polymorphic-call.c (decl_maybe_in_construction_p, 
	check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.

From-SVN: r223629
2015-05-24 06:13:44 +00:00
Jan Hubicka
66f0bbd50c tree.c (prototype_p, [...]): Constify.
* tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
	is_typedef_decl, typedef_variant_p): Constify.
	* tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
	is_typedef_decl, typedef_variant_p): Constify.

From-SVN: r223628
2015-05-24 04:22:35 +00:00
Trevor Saunders
0e5f14d420 add default for HAVE_tablejump
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_tablejump): New function.
	(HAVE_tablejump): Add default value.
	* expr.c: Adjust.
	* stmt.c: Likewise.

From-SVN: r223625
2015-05-24 00:33:06 +00:00
Trevor Saunders
b77eb5eb02 add default for HAVE_store_multiple
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_store_multiple): New function.
	(HAVE_store_multiple): Add default value.
	* expr.c (move_block_from_reg): Adjust.

From-SVN: r223624
2015-05-24 00:33:00 +00:00
Trevor Saunders
e51f0f4f35 add default for HAVE_load_multiple
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_load_multiple): New function.
	(HAVE_load_multiple): Add default value.
	* expr.c (move_block_to_reg): Adjust.

From-SVN: r223623
2015-05-24 00:32:54 +00:00
Trevor Saunders
15469812ac provide default for HAVE_mem_signal_fence
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_mem_signal_fence): New function.
	(HAVE_mem_signal_fence): Add default value.
	* optabs.c: Adjust.

From-SVN: r223622
2015-05-24 00:32:49 +00:00
Trevor Saunders
c76a461051 always define HAVE_memory_barrier
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_memory_barrier): New function.
	(HAVE_memory_barrier): Add default value.
	* optabs.c: Adjust.

From-SVN: r223621
2015-05-24 00:32:43 +00:00
Trevor Saunders
fcb922a9c6 provide default for HAVE_mem_thread_fence
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* defaults.h (gen_mem_thread_fence): New function.
	(HAVE_mem_thread_fence): Add default definition.
	* optabs.c: Adjust.

From-SVN: r223620
2015-05-24 00:32:37 +00:00
Trevor Saunders
d0b2266a77 always define HAVE_lo_sum
gcc/ChangeLog:

2015-05-23  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* combine.c (find_split_point): Check the value of HAVE_lo_sum
	instead of if it is defined.
	(combine_simplify_rtx): Likewise.
	* lra-constraints.c (process_address_1): Likewise.
	* config/darwin.c: Adjust.
	* genconfig.c (main): Always define HAVE_lo_sum.

From-SVN: r223619
2015-05-24 00:32:31 +00:00
GCC Administrator
a63670fe10 Daily bump.
From-SVN: r223618
2015-05-24 00:16:18 +00:00
Manuel López-Ibáñez
fea70c9963 re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
gcc/fortran/ChangeLog:

2015-05-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR fortran/44054
	* gfortran.h (struct gfc_error_buf): Rename as
	gfc_error_buffer. Move closer to push, pop and free
	methods. Reimplement using an output_buffer.
	* error.c (errors, warnings, warning_buffer, cur_error_buffer):
	Delete everywhere in this file.
	(error_char): Delete all contents.
	(gfc_increment_error_count): Delete.
	(gfc_error_now): Update comment. Set error_buffer.flag.
	(gfc_warning_check): Do not handle warning_buffer.
	(gfc_error_1): Delete.
	(gfc_error_now_1): Delete.
	(gfc_error_check): Simplify.
	(gfc_move_error_buffer_from_to): Renamed from
	gfc_move_output_buffer_from_to.
	(gfc_push_error): Handle only gfc_error_buffer.
	(gfc_pop_error): Likewise.
	(gfc_free_error): Likewise.
	(gfc_get_errors): Remove warnings and errors.
	(gfc_diagnostics_init): Use static error_buffer.
	(gfc_error_1,gfc_error_now_1): Delete declarations.
	* symbol.c, decl.c, trans-common.c, data.c, expr.c, expr.c,
	frontend-passes.c, resolve.c, match.c, parse.c: Replace
	gfc_error_1 with gfc_error and gfc_error_now_1 with gfc_error_1
	everywhere.
	* f95-lang.c (gfc_be_parse_file): Do not update errorcount and
	warningcount here.
	* primary.c (match_complex_constant): Replace gfc_error_buf and
	output_buffer with gfc_error_buffer.

From-SVN: r223614
2015-05-23 23:02:52 +00:00
Nathan Sidwell
84a3423b97 re PR c++/65936 (ICE: canonical types differ for identical types)
cp/
	PR c++/65936
	* pt.c (lookup_template_class_1): Copy may_alias attribute too.

	testsuite/
	PR c++/65936
	* g++.dg/template/pr65936.C: New.

From-SVN: r223613
2015-05-23 22:28:54 +00:00
Prathamesh Kulkarni
94cbafd173 genmatch.c (parser::parse_operation): Reject expanding operator-list inside 'for'.
2015-05-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* genmatch.c (parser::parse_operation): Reject expanding operator-list inside 'for'.

From-SVN: r223612
2015-05-23 21:22:18 +00:00
Prathamesh Kulkarni
7f0c6bad05 Fix date in ChangeLog entry for r223610
From-SVN: r223611
2015-05-23 19:53:51 +00:00
Prathamesh Kulkarni
7523ca9b70 genmatch.c (parser::parse_for): Reject iterator if used as operator-list.
2015-05-23  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* genmatch.c (parser::parse_for): Reject iterator if used as operator-list.

From-SVN: r223610
2015-05-23 19:52:05 +00:00
Prathamesh Kulkarni
b78be01498 genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN after end of id-list.
2015-05-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	* genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN after end of id-list.

From-SVN: r223609
2015-05-23 19:36:32 +00:00
Jan Hubicka
b727ba74fb lto.c (hash_canonical_type): Be sure we hash only types that need alias set.
* lto.c (hash_canonical_type): Be sure we hash only types that
	need alias set.
	(gimple_register_canonical_type_1): Do not produce canonical
	types for types that do not need alias sets.
	* tree.c (gimple_canonical_types_compatible_p): Sanity check that
	we do not try to compute canonical type for type that does not need
	alias set.
	(verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
	FUNCITON_TYPE.
	* tree.h (type_with_alias_set_p): New.

From-SVN: r223608
2015-05-23 18:25:41 +00:00
Jan Hubicka
1d1218fb65 * lto.c (hash_canonical_type): Drop hashing of METHOD_BASETYPE.
From-SVN: r223607
2015-05-23 14:32:26 +00:00
Jan Hubicka
14e40d7efc tree.c (gimple_canonical_types_compatible_p): Do not compare function attributes.
* tree.c (gimple_canonical_types_compatible_p):  Do not compare
	function attributes.
	(verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.

From-SVN: r223606
2015-05-23 13:51:26 +00:00
François Dumont
e2897e23a7 2015-05-23 François Dumont fdumont@gcc.gnu.org>
PR libstdc++/64657
	* include/debug/functions.h (__check_sorted_aux): Cast expression to
	void.

From-SVN: r223605
2015-05-23 11:17:38 +00:00
GCC Administrator
1399066d34 Daily bump.
From-SVN: r223603
2015-05-23 00:16:15 +00:00
Jim Wilson
a95492ab85 Makefile.in (check_gcc_parallelize): Delete.
gcc/
	* Makefile.in (check_gcc_parallelize): Delete.
	(lang_checks_parallelized): Update comment.
gcc/c
	* Make-lang.in (check_gcc_pallelize): Define.
gcc/cp
	* Make-lang.in (check_g++_parallelize): Update comment.
gcc/fortran
	* Make-lang.in (check_gfortran_parallelize): Update comment.

From-SVN: r223597
2015-05-22 16:39:06 -07:00
Mikhail Maltsev
d08093db84 re PR rtl-optimization/66237 (FAIL: gcc.dg/tree-prof/pr34999.c compilation, -fprofile-use -D_PROFILE_USE (internal compiler error))
PR rtl-optimization/66237

* bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
location of an "as_a" cast.

From-SVN: r223596
2015-05-22 22:58:22 +00:00
Jeff Law
3b0244cc3b pa.md (non-canonical shift-add insns): Remove.
* config/pa/pa.md (non-canonical shift-add insns): Remove.
	(peepholes with non-canonical RTL sources): Remove.
	(peepholes for indexed stores of FP regs in integer modes): Match and
	generate canonical RTL.

From-SVN: r223592
2015-05-22 15:25:26 -06:00
Marc Glisse
257b01ba3e re PR other/63387 (Optimize pairs of isnan() calls into a single isunordered())
2015-05-22  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/63387
gcc/
	* match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
	((x ord x) & (y ord y) -> (x ord y),
	(x ord x) & (x ord y) -> (x ord y)): New simplifications.
	* fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
	vectors like scalars.
gcc/testsuite/
	* gcc.dg/pr63387-2.c: New testcase.

From-SVN: r223591
2015-05-22 21:05:26 +00:00
Marc Glisse
b8f75b8cde convert.c (convert_to_integer, [...]): Include the types in the error message.
2015-05-22  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* convert.c (convert_to_integer, convert_to_vector): Include the
	types in the error message.
gcc/testsuite/
	* gcc.dg/simd-1.c: Update to the new message.

From-SVN: r223590
2015-05-22 20:59:27 +00:00
Yunlian Jiang
f50f17e670 libiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is not defined.
include/:
	* libiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is
	not defined.
libiberty/:
	* configure.ac: Add AC_GNU_SOURCE.
	* Makefile.in (COMPILE.c): Add -D_GNU_SOURCE.
	* configure, config.in: Rebuild.
	* floatformat.c (_GNU_SOURCE): Don't define if already defined.

From-SVN: r223589
2015-05-22 20:53:45 +00:00
Marc Glisse
af563d4bb7 match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New simplifications.
2015-05-22  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
	simplifications.
gcc/testsuite/
	* gcc.dg/nand.c: New testcase.

From-SVN: r223587
2015-05-22 20:37:04 +00:00
Jeff Law
ddc75e8baf pa.md (integer_indexed_store splitters): Use mem_shadd_operand.
* config/pa/pa.md (integer_indexed_store splitters): Use
	mem_shadd_operand.  Use ASHIFT rather than MULT in the resulting
	insns -- adjusting the constant 2nd operand accordingly.

From-SVN: r223586
2015-05-22 14:17:09 -06:00
Jeff Law
cc55969de9 combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into (plus (ashift X log2) Y) if...
* combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
	(plus (ashift X log2) Y) if it is a split point.

	* gcc.target/hppa/shadd-3.c: New test.

From-SVN: r223583
2015-05-22 14:08:43 -06:00
Sandra Loosemore
83844a7d2a advsimd-intrinsics.exp: Set dg-do-what-default to compile only on ARM targets without arm_neon_hw...
2015-05-22  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
	Set dg-do-what-default to compile only on ARM targets without
	arm_neon_hw execution support.  Remove redundant c-torture-execute
	in loop over test cases.

From-SVN: r223580
2015-05-22 12:34:35 -04:00
Jeff Law
92d0b05816 pa.c (mem_shadd_or_shadd_rtx_p): New function factored out of hppa_legitimize_address to handle both forms of a...
* pa.c (mem_shadd_or_shadd_rtx_p): New function factored out
	of hppa_legitimize_address to handle both forms of a multiply
	by 2, 4 or 8.
	(hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
	Always generate the ASHIFT variant as the result is not directly
	used in a MEM.  Update comments and refactor slightly to improve
	readability.

From-SVN: r223579
2015-05-22 10:13:07 -06:00
Uros Bizjak
9b789cc15c config.host (i[34567]-*-*, x86_64-*-*): Add t-crtfm instead of i386/t-crtfm to tmake_file.
* config.host (i[34567]-*-*, x86_64-*-*): Add t-crtfm instead of
	i386/t-crtfm to tmake_file.
	* config/i386/crtfastmath.c (set_fast_math_sse): New function.
	(set_fast_math): Use set_fast_math_sse for SSE targets.
	* config/i386/t-crtfm: Remove.

From-SVN: r223578
2015-05-22 16:39:22 +02:00
Kyrylo Tkachov
b6ec6215e3 [AArch64] PR target/65491: Classify V1TF vectors as AAPCS64 short vectors rather than composite types
PR target/65491
	* config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
	aarch64_composite_type_p.  Remove check for aarch64_composite_type_p.
	(aarch64_composite_type_p): Return false if given type and mode are
	for a short vector.

	PR target/65491
	* gcc.target/aarch64/pr65491_1.c: New test.
	* gcc.target/aarch64/aapcs64/type-def.h (vlf1_t): New typedef.
	* gcc.target/aarch64/aapcs64/func-ret-1.c: Add test for vlf1_t.

From-SVN: r223577
2015-05-22 14:36:27 +00:00
Paolo Carlini
320d13eccc re PR c++/65598 (Fix column location for 'explicit')
/cp
2015-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/65598
	* decl.c (grokdeclarator): Use the correct location in error
	messages about 'explicit'.

/testsuite
2015-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/65598
	* g++.dg/cpp0x/explicit9.C: New.
	* g++.dg/cpp0x/explicit8.C: Check the locations too.

From-SVN: r223576
2015-05-22 14:14:38 +00:00