Commit Graph

132788 Commits

Author SHA1 Message Date
Alan Lawrence
efe295f237 [Obvious] Remove unused aarch64_types_cmtst_qualifiers, was breaking bootstrap.
* config/aarch64/aarch64-builtins.c 
        (aarch64_types_cmtst_qualifiers, TYPES_TST): Remove as unused.

From-SVN: r215015
2014-09-08 14:18:01 +00:00
Joseph Myers
66bb34c090 Remove SF_SIZE etc. target macros.
gcc:
	* config/i386/cygming.h (TF_SIZE): Remove.
	* config/i386/darwin.h (TF_SIZE): Remove.
	* config/i386/dragonfly.h (TF_SIZE): Remove.
	* config/i386/freebsd.h (TF_SIZE): Remove.
	* config/i386/gnu-user-common.h (TF_SIZE): Remove.
	* config/i386/openbsdelf.h (TF_SIZE): Remove.
	* config/i386/sol2.h (TF_SIZE): Remove.
	* config/ia64/hpux.h (XF_SIZE, TF_SIZE): Remove.
	* config/ia64/linux.h (TF_SIZE): Remove.
	* doc/tm.texi.in (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Remove.
	* doc/tm.texi: Regenerate.
	* system.h (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Poison.

gcc/c-family:
	* c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
	digits of floating-point modes if -fbuilding-libgcc.

libgcc:
	* libgcc2.c (SF_SIZE): Change all uses to __LIBGCC_SF_MANT_DIG__.
	(DF_SIZE): Change all uses to __LIBGCC_DF_MANT_DIG__.
	(XF_SIZE): Change all uses to __LIBGCC_XF_MANT_DIG__.
	(TF_SIZE): Change all uses to __LIBGCC_TF_MANT_DIG__.
	* libgcc2.h (SF_SIZE): Change to __LIBGCC_SF_MANT_DIG__.  Give
	error if not defined and LIBGCC2_HAS_SF_MODE is defined.
	(DF_SIZE): Change to __LIBGCC_DF_MANT_DIG__.  Give error if not
	defined and LIBGCC2_HAS_DF_MODE is defined.
	(XF_SIZE): Change to __LIBGCC_XF_MANT_DIG__.  Give error if not
	defined and LIBGCC2_HAS_XF_MODE is defined.
	(TF_SIZE): Change to __LIBGCC_TF_MANT_DIG__.  Give error if not
	defined and LIBGCC2_HAS_TF_MODE is defined.

From-SVN: r215014
2014-09-08 13:25:35 +01:00
Joseph Myers
9686a2e668 Remove no-longer-needed fp-bit target macros.
gcc:
	* defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO):
	Remove.
	* doc/tm.texi.in (ROUND_TOWARDS_ZERO, LARGEST_EXPONENT_IS_NORMAL):
	Remove.
	* doc/tm.texi: Regenerate.
	* system.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO):
	Poison.
	* config/arm/arm.h (LARGEST_EXPONENT_IS_NORMAL): Remove.
	* config/cris/cris.h (__make_dp): Remove.

libgcc:
	* fp-bit.c (pack_d, unpack_d): Remove LARGEST_EXPONENT_IS_NORMAL
	and ROUND_TOWARDS_ZERO conditionals.

From-SVN: r215013
2014-09-08 13:22:56 +01:00
Richard Biener
e45fcf805f re PR bootstrap/63204 (gtype-desc.c:887:40: error: 'struct loop' has no member named 'former_header' breaks bootstrap)
2014-09-08  Richard Biener  <rguenther@suse.de>

	PR bootstrap/63204
	* cfgloop.c (mark_loop_for_removal): Track former header
	unconditionally.
	* cfgloop.h (struct loop): Add former_header member unconditionally.
	* loop-init.c (fix_loop_structure): Enable bogus loop removal
	diagnostic unconditionally.

From-SVN: r215012
2014-09-08 12:01:50 +00:00
GCC Administrator
0877451899 Daily bump.
From-SVN: r215008
2014-09-08 00:17:06 +00:00
Nathan Sidwell
71c3e2ef09 libgcov-interface.c (STRONG_ALIAS): Rename to ...
* libgcov-interface.c (STRONG_ALIAS): Rename to ...
	(ALIAS_weak): ... here. Use forwarding function.  Adjust uses.

From-SVN: r215005
2014-09-07 18:09:34 +00:00
Venkataramanan Kumar
2ce145f58f Fix PR63190
From-SVN: r215004
2014-09-07 17:08:50 +00:00
Richard Sandiford
9d31ea5b56 re PR rtl-optimization/62208 (ICE with -fwhole-program on valid code at -O3 on x86_64-linux-gnu in trunc_int_for_mode, at explow.c:56)
gcc/
	PR rtl-optimization/62208
	* simplify-rtx.c (simplify_relational_operation_1): Use CONST0_RTX
	rather than const0_rtx in eq/ne-xor simplifications.

gcc/testsuite/
	* gcc.target/i386/pr62208.c: New test.

From-SVN: r215002
2014-09-07 08:54:49 +00:00
GCC Administrator
ba6c79fc30 Daily bump.
From-SVN: r215001
2014-09-07 00:16:27 +00:00
John David Anglin
3af617d836 re PR testsuite/56194 (FAIL: g++.dg/init/const9.C -std=c++98 scan-assembler-not rodata)
PR testsuite/56194
	* g++.dg/init/const9.C: Skip scan-assembler-not "rodata" on hppa*-*-*.

From-SVN: r214996
2014-09-06 21:45:53 +00:00
John David Anglin
6c2ded4281 pr61800.C: Require visibility.
* g++.dg/ipa/pr61800.C: Require visibility.

From-SVN: r214995
2014-09-06 21:28:13 +00:00
John David Anglin
5ee02a210b pr61868.c: Require lto.
* gcc.dg/pr61868.c: Require lto.

From-SVN: r214994
2014-09-06 19:25:29 +00:00
Joern Rennecke
9af539fe30 arc.c (arc_predicate_delay_insns): Swap comparison arguments to silence bogus warning.
* config/arc/arc.c (arc_predicate_delay_insns): Swap comparison
        arguments to silence bogus warning.

From-SVN: r214993
2014-09-06 17:14:47 +01:00
Joern Rennecke
dfca07ead8 arc.c (arc_print_operand): Fix format for HOST_WIDE_INT.
* config/arc/arc.c (arc_print_operand): Fix format for HOST_WIDE_INT.
        * arc_output_mi_thunk: Likewise.

From-SVN: r214992
2014-09-06 17:04:40 +01:00
Richard Sandiford
ebd3cb1284 re PR target/63171 (Segfault in rs6000.c:rs6000_emit_move for multiple tls tests starting with r214658)
gcc/
	PR middle-end/63171
	* rtlanal.c (tls_referenced_p): Don't skip constant subrtxes.

From-SVN: r214989
2014-09-06 10:04:44 +00:00
Tom de Vries
811e4f15d6 Fix IRA_HARD_REGNO_ADD_COST_MULTIPLIER in ira_tune_allocno_costs
2014-09-06  Tom de Vries  <tom@codesourcery.com>

	* ira-costs.c (ira_tune_allocno_costs): Don't conditionalize
	IRA_HARD_REGNO_ADD_COST_MULTIPLIER code on
	ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.

From-SVN: r214988
2014-09-06 08:08:36 +00:00
François Dumont
da27f5567c hashtable_policy.h (_Prime_rehash_policy): Constructor noexcept qualified.
2014-09-06  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
	noexcept qualified.
	(_Hash_code_base<>): All specialization default constructible if
	possible.
	(_Hashtable_base<>): Likewise.
	* include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
	* include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
	implementation defaulted.
	(unordered_multimap<>::unordered_multimap()): Likewise.
	* include/bits/unordered_set.h
	(unordered_set<>::unordered_set()): Likewise.
	(unordered_multiset<>::unordered_multiset()): Likewise.
	* include/debug/unordered_map: Likewise.
	* include/debug/unordered_set: Likewise.
	* testsuite/23_containers/unordered_map/allocator/noexcept.cc
	(test04()): New.
	* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
	(test04()): New.
	* testsuite/23_containers/unordered_set/allocator/noexcept.cc
	(test04()): New.
	* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
	(test04()): New.

From-SVN: r214986
2014-09-06 07:38:48 +00:00
Dominique d'Humieres
4fe24839be re PR bootstrap/63188 (r214954 breaks bootstrap on x86_64-apple-darwin13)
2014-09-05  Dominique Dhumieres  <dominiq@lps.ens.fr>

	PR target/63188
	* config/darwin.h (INIT_SECTION_ASM_OP): Define to "".
	* config/pa/pa64-hpux.h (INIT_SECTION_ASM_OP): Likewise.

From-SVN: r214983
2014-09-06 05:17:10 +00:00
GCC Administrator
a903482346 Daily bump.
From-SVN: r214980
2014-09-06 00:16:51 +00:00
Easwaran Raman
14e4c2af43 re PR rtl-optimization/62146 (CSE replaces constant with an expression incorrectly)
2014-09-05  Easwaran Raman  <eraman@google.com>

        PR rtl-optimization/62146
        * ifcvt.c (dead_or_predicable): Make removal of REG_EQUAL note of
          hoisted instruction unconditional.

        testsuite:
        * testsuite/g++.dg/opt/pr62146.C: New.

From-SVN: r214977
2014-09-05 22:23:26 +00:00
Segher Boessenkool
8a03df77b1 re PR target/63187 (Unrecognizable insn ICE due to revision 214080)
2014-09-05  Segher Boessenkool  <segher@kernel.crashing.org>

	PR target/63187
	* config/rs6000/rs6000.md (*and<mode>3_imm_dot, *and<mode>3_imm_dot2):
	Do not allow any_mask_operand for operands[2].
	(*and<mode>3_imm_mask_dot, *and<mode>3_imm_mask_dot2): New.

From-SVN: r214976
2014-09-05 21:17:08 +02:00
Jason Merrill
ed23bf8bd6 re PR c++/62659 (Regression in template argument substitution in 4.9+)
PR c++/62659
	* semantics.c (potential_constant_expression_1): Handle un-folded
	pointer to member constants.

From-SVN: r214974
2014-09-05 13:59:40 -04:00
Ian Lance Taylor
01c2fa9d53 runtime: Use the clone system call on GNU/Linux.
Without this we weren't supporting the standard Cloneflags
field of SysProcAttr.

From-SVN: r214972
2014-09-05 15:24:36 +00:00
David Malcolm
68a1a6c080 Use rtx_insn for various jump-handling functions and predicates
gcc/ChangeLog:
2014-09-05  David Malcolm  <dmalcolm@redhat.com>

	* config/arc/arc.c (arc_print_operand): Use insn method of
	final_sequence for type-safety.
	* config/bfin/bfin.c (bfin_hardware_loop): Strengthen param
	"insn" from rtx to rtx_insn *.
	* config/frv/frv.c (frv_print_operand_jump_hint): Likewise.
	* config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
	Likewise for locals "branch", "label".
	* config/h8300/h8300.c (same_cmp_preceding_p): Likewise for
	locals "i1", "i2".  Use NULL rather than NULL_RTX in comparisons.
	(same_cmp_following_p): Likewise for locals "i2", "i3".
	* config/sh/sh_optimize_sett_clrt.cc
	(sh_optimize_sett_clrt::sh_cbranch_ccreg_value): Likewise for
	param "cbranch_insn".
	* function.c (convert_jumps_to_returns): Likewis for local "jump".
	* ifcvt.c (cond_exec_get_condition): Likewise for param "jump".
	* jump.c (simplejump_p): Strengthen param "insn" from const_rtx to
	const rtx_insn *.
	(condjump_p): Likewise.
	(condjump_in_parallel_p): Likewise.
	(pc_set): Likewise.
	(any_uncondjump_p): Likewise.
	(any_condjump_p): Likewise.
	(condjump_label): Likewise.
	(returnjump_p): Strengthen param "insn" from rtx to
	const rtx_insn *.
	(onlyjump_p): Strengthen param "insn" from const_rtx to
	const rtx_insn *.
	(jump_to_label_p): Likewise.
	(invert_jump_1): Strengthen param "jump" from rtx to rtx_insn *.
	(invert_jump): Likewise.
	* reorg.c (simplejump_or_return_p): Add checked cast when calling
	simplejump_p.
	(get_jump_flags): Strengthen param "insn" from rtx to
	const rtx_insn *.
	(get_branch_condition): Likewise.
	(condition_dominates_p): Likewise.
	(make_return_insns): Move declaration of local "pat" earlier, to
	after we've handled NONJUMP_INSN_P and non-sequences, using its
	methods to simplify the code and for type-safety.
	* rtl.h (find_constant_src): Strengthen param from const_rtx to
	const rtx_insn *.
	(jump_to_label_p): Strengthen param from rtx to const rtx_insn *.
	(condjump_p): Strengthen param from const_rtx to
	const rtx_insn *.
	(any_condjump_p): Likewise.
	(any_uncondjump_p): Likewise.
	(pc_set): Likewise.
	(condjump_label): Likewise.
	(simplejump_p): Likewise.
	(returnjump_p): Likewise.
	(onlyjump_p): Likewise.
	(invert_jump_1): Strengthen param 1 from rtx to rtx_insn *.
	(invert_jump): Likewise.
	(condjump_in_parallel_p): Strengthen param from const_rtx to
	const rtx_insn *.
	* rtlanal.c (find_constant_src): Strengthen param from const_rtx
	to const rtx_insn *.
	* sel-sched-ir.c (fallthru_bb_of_jump): Strengthen param from rtx
	to const rtx_insn *.
	* sel-sched-ir.h (fallthru_bb_of_jump): Likewise.

From-SVN: r214970
2014-09-05 15:15:43 +00:00
David Malcolm
45700b6a42 Simplification within reorg.c
gcc/ChangeLog:
2014-09-05  David Malcolm  <dmalcolm@redhat.com>

	* reorg.c (relax_delay_slots): Move declaration of "trial_seq"
	above the conditional, and convert the check on GET_CODE to a
	dyn_cast, so that "trial_seq" is available as an rtx_sequence * in
	the conditional.  Simplify the conditional by using methods of
	"trial_seq".

From-SVN: r214969
2014-09-05 15:03:12 +00:00
David Malcolm
96b7041496 Use rtx_insn_list within haifa-sched.c
gcc/ChangeLog:
2014-09-05  David Malcolm  <dmalcolm@redhat.com>

	* haifa-sched.c (check_clobbered_conditions): Strengthen local
	"link" from rtx to rtx_insn_list *, and use its methods for
	clarity and type-safety.
	(toggle_cancelled_flags): Likewise.
	(restore_last_backtrack_point): Likewise.
	(queue_to_ready): Use insn method of "link" in one place.
	(schedule_block): Strengthen local "link" from rtx to
	rtx_insn_list *, and use its methods for clarity and type-safety.

From-SVN: r214968
2014-09-05 14:55:53 +00:00
David Malcolm
c838c4025c Use rtx_insn for more scheduler things, plus CONST_CAST_RTX_INSN
gcc/ChangeLog:
2014-09-05  David Malcolm  <dmalcolm@redhat.com>

	* sched-deps.c (sched_get_condition_with_rev_uncached): Strengthen
	param "insn" from const_rtx to const rtx_insn *.
	(sched_get_reverse_condition_uncached): Likewise.
	(sched_get_condition_with_rev): Likewise.
	(sched_has_condition_p): Likewise.
	(sched_insns_conditions_mutex_p): Likewise for both params.
	(sched_insn_is_legitimate_for_speculation_p): Likewise for param
	"insn"; convert use of CONST_CAST_RTX to CONST_CAST_RTX_INSN.
	(setup_insn_reg_uses): Move local "list" to be more tightly
	scoped, strengthening it from an rtx to an rtx_insn_list *.  Use
	its methods for clarity and type-safety.
	(sched_analyze_1): Strengthen local "pending" from rtx to
	rtx_insn_list *, and local "pending_mem" from rtx to
	rtx_expr_list *.  Use methods of each for clarity and type-safety.
	(sched_analyze_2): Likewise.
	(sched_analyze_insn): Likewise.

	* sched-int.h (sched_get_reverse_condition_uncached): Strengthen
	param from const_rtx to const rtx_insn *.
	(sched_insns_conditions_mutex_p): Likewise for both params.
	(sched_insn_is_legitimate_for_speculation_p): Likewise for first
	param.

	* system.h (CONST_CAST_RTX_INSN): New macro.

From-SVN: r214967
2014-09-05 14:51:09 +00:00
David Malcolm
1c9b6043f9 Use rtx_insn more within peep2
gcc/ChangeLog:
2014-09-05  David Malcolm  <dmalcolm@redhat.com>

	* recog.c (peep2_attempt): Strengthen return type from rtx to
	rtx_insn *.
	(peep2_update_life): Likewise for params "last", "prev", removing
	a checked cast made redundant by this.
	(peephole2_optimize): Likewise for local "last".

From-SVN: r214966
2014-09-05 14:47:02 +00:00
Ian Lance Taylor
a7188cc650 runtime: Use correct size for unsafe.Pointer GC instructions.
From-SVN: r214965
2014-09-05 14:43:24 +00:00
David Malcolm
345b82befb Convert set_block_for_insn from a macro to an inline function
gcc/ChangeLog:
2014-09-05  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (set_block_for_insn): Eliminate this macro in
	favor of...
	* rtl.h (set_block_for_insn): New inline function, imposing the
	requirement that the "insn" param is an rtx_insn *.

From-SVN: r214963
2014-09-05 14:19:35 +00:00
David Malcolm
86bf2d46b6 Eliminate the checked cast from get_call_reg_set_usage
gcc/ChangeLog
2014-09-05  David Malcolm  <dmalcolm@redhat.com>

	* caller-save.c (setup_save_areas): Strengthen local "insn" from
	rtx to rtx_insn *.
	* final.c (get_call_reg_set_usage): Likewise for first param,
	eliminating a checked cast.
	* regs.h (get_call_reg_set_usage): Likewise for first param.
	* resource.c (mark_set_resources): Introduce local rtx_call_insn *
	"call_insn" for the case of a MARK_SRC_DEST_CALL via a checked
	cast, replacing references to "x" with "call_insn" where
	appropriate.
	(mark_target_live_regs): Strengthen local "real_insn" from rtx to
	rtx_insn *, adding a checked cast.

From-SVN: r214962
2014-09-05 14:13:28 +00:00
David Malcolm
7fa55ff675 Drop uncast_insn from param 1 of final_scan_insn
gcc/ChangeLog
2014-09-05  David Malcolm  <dmalcolm@redhat.com>

	* output.h (final_scan_insn): Strengthen first param from rtx to
	rtx_insn *.

	* final.c (final_scan_insn): Likewise, renaming it back from
	"uncast_insn" to "insn", eliminating the checked cast.

	* config/h8300/h8300.md (define_insn "jump"): Replace local rtx
	"vec" with an rtx_sequence * "seq", taking a copy of
	"final_sequence", and using methods of "seq" for clarity, and for
	type-safety in the calls to final_scan_insn.
	* config/mips/mips.c (mips_output_conditional_branch): Use methods
	of "final_sequence" for clarity, and for type-safety in the call to
	final_scan_insn.
	* config/sh/sh.c (print_slot): Strengthen param from rtx to
	rtx_sequence * and rename from "insn" to "seq".

From-SVN: r214961
2014-09-05 14:04:46 +00:00
David Malcolm
75677a6759 Use rtx_jump_table_data in jump.c:delete_related_insns
gcc/ChangeLog
2014-09-05  David Malcolm  <dmalcolm@redhat.com>

	* jump.c (delete_related_insns): Introduce a new local "table" by
	replacing JUMP_TABLE_DATA_P with a dyn_cast, then use the
	get_labels method of "table" to simplify access to the labels in
	the jump table.

From-SVN: r214960
2014-09-05 13:58:29 +00:00
Kyrylo Tkachov
35b5c75197 [ARM/AArch64] Add scheduling info for ARMv8-A FPU new instructions in Cortex-A53.
* config/arm/cortex-a53.md (cortex_a53_fpalu): Add f_rints, f_rintd,
	f_minmaxs, f_minmaxd types.

From-SVN: r214959
2014-09-05 13:44:17 +00:00
Joost VandeVondele
fae867f5b1 re PR fortran/62245 (gfortran miscompiles int() on mips)
PR fortran/62245
        * intrinsic.texi (INT): clarify result.

From-SVN: r214958
2014-09-05 13:40:05 +00:00
Richard Biener
e4ca2139f2 cfgloop.c (mark_loop_for_removal): Record former header when ENABLE_CHECKING.
2014-09-05  Richard Biener  <rguenther@suse.de>

	* cfgloop.c (mark_loop_for_removal): Record former header
	when ENABLE_CHECKING.
	* cfgloop.h (strut loop): Add former_header member when
	ENABLE_CHECKING.
	* loop-init.c (fix_loop_structure): Sanity check loops
	marked for removal if they re-appeared.

From-SVN: r214957
2014-09-05 13:04:40 +00:00
Marat Zakirov
c3212d53df vect-109.c: Skip predicate added.
2014-09-05  Marat Zakirov  <m.zakirov@samsung.com>

	testsuite
	* gcc.dg/vect/vect-109.c: Skip predicate added.
	* gcc.dg/vect/vect-93.c: Test check fixed.
	* gcc.dg/vect/bb-slp-10.c: Likewise.
	* lib/target-supports.exp (check_effective_target_arm_vect_no_misalign):
	Check unaligned feature.

From-SVN: r214956
2014-09-05 13:04:21 +00:00
Joseph Myers
53d68b9f05 Use -fbuilding-libgcc for more target macros used in libgcc.
gcc/c-family:
	* c-cppbuiltin.c (c_cpp_builtins): Also define
	__LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
	__LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
	__LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
	__LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
	__LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
	__LIBGCC_STACK_GROWS_DOWNWARD__,
	__LIBGCC_DONT_USE_BUILTIN_SETJMP__,
	__LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
	__LIBGCC_DWARF_FRAME_REGISTERS__,
	__LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
	__LIBGCC_STACK_POINTER_REGNUM__ and
	__LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
	(builtin_define_with_value): Handle backslash-escaping in string
	macro values.

libgcc:
	* Makefile.in (CRTSTUFF_CFLAGS): Add -fbuilding-libgcc.
	* config/aarch64/linux-unwind.h (STACK_POINTER_REGNUM): Change all
	uses to __LIBGCC_STACK_POINTER_REGNUM__.
	(DWARF_ALT_FRAME_RETURN_COLUMN): Change all uses to
	__LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
	* config/alpha/vms-unwind.h (DWARF_ALT_FRAME_RETURN_COLUMN):
	Change use to __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
	* config/cr16/unwind-cr16.c (STACK_GROWS_DOWNWARD): Change all
	uses to __LIBGCC_STACK_GROWS_DOWNWARD__.
	(DWARF_FRAME_REGISTERS): Change all uses to
	__LIBGCC_DWARF_FRAME_REGISTERS__.
	(EH_RETURN_STACKADJ_RTX): Change all uses to
	__LIBGCC_EH_RETURN_STACKADJ_RTX__.
	* config/cr16/unwind-dw2.h (DWARF_FRAME_REGISTERS): Change use to
	__LIBGCC_DWARF_FRAME_REGISTERS__.  Remove conditional definition.
	* config/i386/cygming-crtbegin.c (EH_FRAME_SECTION_NAME): Change
	use to __LIBGCC_EH_FRAME_SECTION_NAME__.
	(JCR_SECTION_NAME): Change use to __LIBGCC_JCR_SECTION_NAME__.
	* config/i386/cygming-crtend.c (EH_FRAME_SECTION_NAME): Change use
	to __LIBGCC_EH_FRAME_SECTION_NAME__.
	(JCR_SECTION_NAME): Change use to __LIBGCC_JCR_SECTION_NAME__
	* config/mips/linux-unwind.h (STACK_POINTER_REGNUM): Change use to
	__LIBGCC_STACK_POINTER_REGNUM__.
	(DWARF_ALT_FRAME_RETURN_COLUMN): Change all uses to
	__LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
	* config/nios2/linux-unwind.h (STACK_POINTER_REGNUM): Change use
	to __LIBGCC_STACK_POINTER_REGNUM__.
	* config/pa/hpux-unwind.h (DWARF_ALT_FRAME_RETURN_COLUMN): Change
	all uses to __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
	* config/pa/linux-unwind.h (DWARF_ALT_FRAME_RETURN_COLUMN): Change
	all uses to __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
	* config/rs6000/aix-unwind.h (DWARF_ALT_FRAME_RETURN_COLUMN):
	Change all uses to __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
	(STACK_POINTER_REGNUM): Change all uses to
	__LIBGCC_STACK_POINTER_REGNUM__.
	* config/rs6000/darwin-fallback.c (STACK_POINTER_REGNUM): Change
	use to __LIBGCC_STACK_POINTER_REGNUM__.
	* config/rs6000/linux-unwind.h (STACK_POINTER_REGNUM): Change all
	uses to __LIBGCC_STACK_POINTER_REGNUM__.
	* config/sparc/linux-unwind.h (DWARF_FRAME_REGISTERS): Change use
	to __LIBGCC_DWARF_FRAME_REGISTERS__.
	* config/sparc/sol2-unwind.h (DWARF_FRAME_REGISTERS): Change use
	to __LIBGCC_DWARF_FRAME_REGISTERS__.
	* config/tilepro/linux-unwind.h (STACK_POINTER_REGNUM): Change use
	to __LIBGCC_STACK_POINTER_REGNUM__.
	* config/xtensa/unwind-dw2-xtensa.h (DWARF_FRAME_REGISTERS):
	Remove conditional definition.
	* crtstuff.c (TEXT_SECTION_ASM_OP): Change all uses to
	__LIBGCC_TEXT_SECTION_ASM_OP__.
	(EH_FRAME_SECTION_NAME): Change all uses to
	__LIBGCC_EH_FRAME_SECTION_NAME__.
	(EH_TABLES_CAN_BE_READ_ONLY): Change all uses to
	__LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__.
	(CTORS_SECTION_ASM_OP): Change all uses to
	__LIBGCC_CTORS_SECTION_ASM_OP__.
	(DTORS_SECTION_ASM_OP): Change all uses to
	__LIBGCC_DTORS_SECTION_ASM_OP__.
	(JCR_SECTION_NAME): Change all uses to
	__LIBGCC_JCR_SECTION_NAME__.
	(INIT_SECTION_ASM_OP): Change all uses to
	__LIBGCC_INIT_SECTION_ASM_OP__.
	(INIT_ARRAY_SECTION_ASM_OP): Change all uses to
	__LIBGCC_INIT_ARRAY_SECTION_ASM_OP__.
	* generic-morestack.c (STACK_GROWS_DOWNWARD): Change all uses to
	__LIBGCC_STACK_GROWS_DOWNWARD__.
	* libgcc2.c (INIT_SECTION_ASM_OP): Change all uses to
	__LIBGCC_INIT_SECTION_ASM_OP__.
	(INIT_ARRAY_SECTION_ASM_OP): Change all uses to
	__LIBGCC_INIT_ARRAY_SECTION_ASM_OP__.
	(EH_FRAME_SECTION_NAME): Change all uses to
	__LIBGCC_EH_FRAME_SECTION_NAME__.
	* libgcov-profiler.c (VTABLE_USES_DESCRIPTORS): Remove conditional
	definitions.  Change all uses to
	__LIBGCC_VTABLE_USES_DESCRIPTORS__.
	* unwind-dw2.c (STACK_GROWS_DOWNWARD): Change all uses to
	__LIBGCC_STACK_GROWS_DOWNWARD__.
	(DWARF_FRAME_REGISTERS): Change all uses to
	__LIBGCC_DWARF_FRAME_REGISTERS__.
	(EH_RETURN_STACKADJ_RTX): Change all uses to
	__LIBGCC_EH_RETURN_STACKADJ_RTX__.
	* unwind-dw2.h (DWARF_FRAME_REGISTERS): Remove conditional
	definition.  Change use to __LIBGCC_DWARF_FRAME_REGISTERS__.
	* unwind-sjlj.c (DONT_USE_BUILTIN_SETJMP): Change all uses to
	__LIBGCC_DONT_USE_BUILTIN_SETJMP__.
	(JMP_BUF_SIZE): Change use to __LIBGCC_JMP_BUF_SIZE__.

From-SVN: r214954
2014-09-05 13:03:46 +01:00
Alan Lawrence
02a0ec4a8d [PATCH AArch64] Rename [u]int32x1_t to [u]int32_t (resp 16x1, 8x1) in arm_neon.h
gcc/:
 
	* config/aarch64/arm_neon.h (int32x1_t, int16x1_t, int8x1_t,
	uint32x1_t, uint16x1_t, uint8x1_t): Remove typedefs.

	(vqabsb_s8, vqabsh_s16, vqabss_s32, vqaddb_s8, vqaddh_s16, vqadds_s32,
	vqaddb_u8, vqaddh_u16, vqadds_u32, vqdmlalh_s16, vqdmlalh_lane_s16,
	vqdmlals_s32, vqdmlslh_s16, vqdmlslh_lane_s16, vqdmlsls_s32,
	vqdmulhh_s16, vqdmulhh_lane_s16, vqdmulhs_s32, vqdmulhs_lane_s32,
	vqdmullh_s16, vqdmullh_lane_s16, vqdmulls_s32, vqdmulls_lane_s32,
	vqmovnh_s16, vqmovns_s32, vqmovnd_s64, vqmovnh_u16, vqmovns_u32,
	vqmovnd_u64, vqmovunh_s16, vqmovuns_s32, vqmovund_s64, vqnegb_s8,
	vqnegh_s16, vqnegs_s32, vqrdmulhh_s16, vqrdmulhh_lane_s16,
	vqrdmulhs_s32, vqrdmulhs_lane_s32, vqrshlb_s8, vqrshlh_s16,
	vqrshls_s32, vqrshlb_u8, vqrshlh_u16, vqrshls_u32, vqrshrnh_n_s16,
	vqrshrns_n_s32, vqrshrnd_n_s64, vqrshrnh_n_u16, vqrshrns_n_u32,
	vqrshrnd_n_u64, vqrshrunh_n_s16, vqrshruns_n_s32, vqrshrund_n_s64,
	vqshlb_s8, vqshlh_s16, vqshls_s32, vqshlb_u8, vqshlh_u16, vqshls_u32,
	vqshlb_n_s8, vqshlh_n_s16, vqshls_n_s32, vqshlb_n_u8, vqshlh_n_u16,
	vqshls_n_u32, vqshlub_n_s8, vqshluh_n_s16, vqshlus_n_s32,
	vqshrnh_n_s16, vqshrns_n_s32, vqshrnd_n_s64, vqshrnh_n_u16,
	vqshrns_n_u32, vqshrnd_n_u64, vqshrunh_n_s16, vqshruns_n_s32,
	vqshrund_n_s64, vqsubb_s8, vqsubh_s16, vqsubs_s32, vqsubb_u8,
	vqsubh_u16, vqsubs_u32, vsqaddb_u8, vsqaddh_u16, vsqadds_u32,
	vuqaddb_s8, vuqaddh_s16, vuqadds_s32): Replace all int{32,16,8}x1_t
	with int{32,16,8}_t.

gcc/testsuite/:
 
	* gcc.target/aarch64/scalar_intrinsics.c (*): Replace all
	int{32,16,8}x1_t with int{32,16,8}_t.
	* gcc.target/aarch64/simd/vqdmlalh_lane_s16.c: Likewise.
	* gcc.target/aarch64/simd/vqdmlslh_lane_s16.c: Likewise.
	* gcc.target/aarch64/simd/vqdmullh_lane_s16.c: Likewise.
	* gcc.target/aarch64/simd/vqdmulls_lane_s32.c: Likewise.

From-SVN: r214953
2014-09-05 11:48:04 +00:00
Alan Lawrence
8684fa50fa [PATCH AArch64 2/2] Replace temporary inline assembler for vget_high
* config/aarch64/arm_neon.h (__GET_HIGH): New macro.
	(vget_high_f32, vget_high_f64, vget_high_p8, vget_high_p16,
	vget_high_s8, vget_high_s16, vget_high_s32, vget_high_s64,
	vget_high_u8, vget_high_u16, vget_high_u32, vget_high_u64):
	Remove temporary __asm__ and reimplement.

From-SVN: r214952
2014-09-05 11:24:56 +00:00
Alan Lawrence
6fff10f9aa [PATCH AArch64 1/2] Add execution tests of vget_low and vget_high
* gcc.target/aarch64/vget_high_1.c: New test.
	* gcc.target/aarch64/vget_low_1.c: Likewise.

From-SVN: r214950
2014-09-05 11:13:47 +00:00
Alan Lawrence
5726d3760b [PATCH AArch64 2/2] Remove vector compare/tst __builtins
* config/aarch64/aarch64-builtins.c (aarch64_fold_builtin): Remove code
	handling cmge, cmgt, cmeq, cmtst.

	* config/aarch64/aarch64-simd-builtins.def (cmeq, cmge, cmgt, cmle,
	cmlt, cmgeu, cmgtu, cmtst): Remove.

	* config/aarch64/arm_neon.h (vceq_*, vceqq_*, vceqz_*, vceqzq_*,
	vcge_*, vcgeq_*, vcgez_*, vcgezq_*, vcgt_*, vcgtq_*, vcgtz_*,
	vcgtzq_*, vcle_*, vcleq_*, vclez_*, vclezq_*, vclt_*, vcltq_*,
	vcltz_*, vcltzq_*, vtst_*, vtstq_*): Use gcc vector extensions.

From-SVN: r214949
2014-09-05 11:09:28 +00:00
Alan Lawrence
ddeabd3e66 [PATCH AArch64 1/2] Improve codegen of vector compares inc. tst instruction
gcc/:

	* config/aarch64/aarch64-builtins.c (aarch64_types_cmtst_qualifiers,
	TYPES_TST): Define.
	(aarch64_fold_builtin): Update pattern for cmtst.

	* config/aarch64/aarch64-protos.h (aarch64_const_vec_all_same_int_p):
	Declare.

	* config/aarch64/aarch64-simd-builtins.def (cmtst): Update qualifiers.

	* config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>):
	Switch operands, separate out more cases, refactor.

	(aarch64_cmtst<mode>): Rewrite pattern to match (plus ... -1).

	* config/aarch64.c (aarch64_const_vec_all_same_int_p): Take single
	argument; rename old version to...
	(aarch64_const_vec_all_same_in_range_p): ...this.
	(aarch64_print_operand, aarch64_simd_shift_imm_p): Follow renaming.

	* config/aarch64/predicates.md (aarch64_simd_imm_minus_one): Define.

gcc/testsuite/:

	* gcc.target/aarch64/simd/int_comparisons.x: New file.
	* gcc.target/aarch64/simd/int_comparisons_1.c: New test.
	* gcc.target/aarch64/simd/int_comparisons_2.c: Ditto.

From-SVN: r214948
2014-09-05 10:50:04 +00:00
Alan Lawrence
e625e71548 [PATCH][AArch64] Tidy: remove unused qualifier_const_pointer
* config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
	Remove qualifier_const_pointer, update comment.

From-SVN: r214947
2014-09-05 10:37:00 +00:00
Alan Lawrence
f36d4bd9fb [PATCH][AArch64] One-liner: fix type of an add in SIMD registers
* config/aarch64/aarch64.md (adddi3_aarch64): set type to neon_add.

From-SVN: r214946
2014-09-05 10:32:09 +00:00
Alan Lawrence
8d3d350af8 [PATCH AArch64] Remove varargs from aarch64_simd_expand_args
* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Replace
        varargs with pointer parameter.
        (aarch64_simd_expand_builtin): pass pointer into previous.

From-SVN: r214945
2014-09-05 10:21:46 +00:00
Kyrylo Tkachov
2f8a172030 [ARM/AArch64] Schedule alu_ext for Cortex-A53.
* config/arm/cortex-a53.md (cortex_a53_alu_shift): Add alu_ext,
      alus_ext.

From-SVN: r214944
2014-09-05 10:14:01 +00:00
Alan Lawrence
cf465d71a2 [PATCH AArch64] Add a builtin for rbit(q?)_p8; add intrinsics and tests.
gcc/:

	* config/aarch64/aarch64-simd.md (aarch64_rbit<mode>): New pattern.
	* config/aarch64/aarch64-simd-builtins.def (rbit): New builtin.
	* config/aarch64/arm_neon.h (vrbit_s8, vrbit_u8, vrbitq_s8, vrbitq_u8):
	Replace temporary asm with call to builtin.
	(vrbit_p8, vrbitq_p8): New functions.

gcc/testsuite/:

	* gcc.target/aarch64/simd/vrbit_1.c: New test.

From-SVN: r214943
2014-09-05 09:58:21 +00:00
Richard Biener
08c13199cf cfgloop.c (mark_loop_for_removal): New function.
2014-09-05  Richard Biener  <rguenther@suse.de>

	* cfgloop.c (mark_loop_for_removal): New function.
	* cfgloop.h (mark_loop_for_removal): Declare.
	* cfghooks.c (delete_basic_block): Use mark_loop_for_removal.
	(merge_blocks): Likewise.
	(duplicate_block): Likewise.
	* except.c (sjlj_emit_dispatch_table): Likewise.
	* tree-eh.c (cleanup_empty_eh_merge_phis): Likewise.
	* tree-ssa-threadupdate.c (ssa_redirect_edges): Likewise.
	(thread_through_loop_header): Likewise.

From-SVN: r214942
2014-09-05 09:17:49 +00:00
Richard Biener
f65586dcd1 re PR tree-optimization/63148 (r187042 causes auto-vectorization failure for X86 for -m32.)
2014-09-05  Richard Biener  <rguenther@suse.de>

	PR middle-end/63148
	* fold-const.c (try_move_mult_to_index): Remove.
	(fold_binary_loc): Do not call it.
	* tree-data-ref.c (dr_analyze_indices): Strip conversions
	from the base object again.

	c-family/
	* c-format.c (check_format_arg): Properly handle
	effectively signed POINTER_PLUS_EXPR offset.

	* gcc.dg/vect/pr63148.c: New testcase.
	* c-c++-common/pr19807-1.c: Likewise.
	* g++.dg/tree-ssa/pr19807.C: Adjust.
	* g++.dg/tree-ssa/tmmti-2.C: Remove.

From-SVN: r214941
2014-09-05 08:23:32 +00:00