1. 08 Sep, 2014 1 commit
  2. 07 Sep, 2014 4 commits
  3. 06 Sep, 2014 10 commits
  4. 05 Sep, 2014 25 commits
    • re PR rtl-optimization/62146 (CSE replaces constant with an expression incorrectly) · 14e4c2af
      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
      Easwaran Raman committed
    • re PR target/63187 (Unrecognizable insn ICE due to revision 214080) · 8a03df77
      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
      Segher Boessenkool committed
    • re PR c++/62659 (Regression in template argument substitution in 4.9+) · ed23bf8b
      	PR c++/62659
      	* semantics.c (potential_constant_expression_1): Handle un-folded
      	pointer to member constants.
      
      From-SVN: r214974
      Jason Merrill committed
    • runtime: Use the clone system call on GNU/Linux. · 01c2fa9d
      Without this we weren't supporting the standard Cloneflags
      field of SysProcAttr.
      
      From-SVN: r214972
      Ian Lance Taylor committed
    • Use rtx_insn for various jump-handling functions and predicates · 68a1a6c0
      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
      David Malcolm committed
    • Simplification within reorg.c · 45700b6a
      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
      David Malcolm committed
    • Use rtx_insn_list within haifa-sched.c · 96b70414
      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
      David Malcolm committed
    • Use rtx_insn for more scheduler things, plus CONST_CAST_RTX_INSN · c838c402
      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
      David Malcolm committed
    • Use rtx_insn more within peep2 · 1c9b6043
      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
      David Malcolm committed
    • Convert set_block_for_insn from a macro to an inline function · 345b82be
      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
      David Malcolm committed
    • Eliminate the checked cast from get_call_reg_set_usage · 86bf2d46
      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
      David Malcolm committed
    • Drop uncast_insn from param 1 of final_scan_insn · 7fa55ff6
      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
      David Malcolm committed
    • Use rtx_jump_table_data in jump.c:delete_related_insns · 75677a67
      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
      David Malcolm committed
    • [ARM/AArch64] Add scheduling info for ARMv8-A FPU new instructions in Cortex-A53. · 35b5c751
      	* config/arm/cortex-a53.md (cortex_a53_fpalu): Add f_rints, f_rintd,
      	f_minmaxs, f_minmaxd types.
      
      From-SVN: r214959
      Kyrylo Tkachov committed
    • re PR fortran/62245 (gfortran miscompiles int() on mips) · fae867f5
              PR fortran/62245
              * intrinsic.texi (INT): clarify result.
      
      From-SVN: r214958
      Joost VandeVondele committed
    • cfgloop.c (mark_loop_for_removal): Record former header when ENABLE_CHECKING. · e4ca2139
      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
      Richard Biener committed
    • vect-109.c: Skip predicate added. · c3212d53
      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
      Marat Zakirov committed
    • Use -fbuilding-libgcc for more target macros used in libgcc. · 53d68b9f
      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
      Joseph Myers committed
    • [PATCH AArch64] Rename [u]int32x1_t to [u]int32_t (resp 16x1, 8x1) in arm_neon.h · 02a0ec4a
      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
      Alan Lawrence committed
    • [PATCH AArch64 2/2] Replace temporary inline assembler for vget_high · 8684fa50
      	* 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
      Alan Lawrence committed
    • [PATCH AArch64 1/2] Add execution tests of vget_low and vget_high · 6fff10f9
      	* gcc.target/aarch64/vget_high_1.c: New test.
      	* gcc.target/aarch64/vget_low_1.c: Likewise.
      
      From-SVN: r214950
      Alan Lawrence committed
    • [PATCH AArch64 2/2] Remove vector compare/tst __builtins · 5726d376
       
      	* 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
      Alan Lawrence committed
    • [PATCH AArch64 1/2] Improve codegen of vector compares inc. tst instruction · ddeabd3e
      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
      Alan Lawrence committed
    • [PATCH][AArch64] Tidy: remove unused qualifier_const_pointer · e625e715
      	* config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
      	Remove qualifier_const_pointer, update comment.
      
      From-SVN: r214947
      Alan Lawrence committed