1. 06 Jul, 2015 22 commits
    • Fix eipa_src AAPCS issue (PR target/65956) · 25a57fac
      2015-05-05  Jakub Jelinek  <jakub@redhat.com>
      
      	PR target/65956
      	* gcc.c-torture/execute/pr65956.c: New test.
      
      From-SVN: r225466
      Jakub Jelinek committed
    • [ARM] PR/65956 AAPCS update for alignment attribute · 6a478470
      gcc/:
      	PR target/65956
      	* config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
      	alignment attribute, exploring one level down for records and arrays.
      
      gcc/testsuite/:
      
      	* gcc.target/arm/aapcs/align1.c: New.
      	* gcc.target/arm/aapcs/align_rec1.c: New.
      	* gcc.target/arm/aapcs/align2.c: New.
      	* gcc.target/arm/aapcs/align_rec2.c: New.
      	* gcc.target/arm/aapcs/align3.c: New.
      	* gcc.target/arm/aapcs/align_rec3.c: New.
      	* gcc.target/arm/aapcs/align4.c: New.
      	* gcc.target/arm/aapcs/align_rec4.c: New.
      	* gcc.target/arm/aapcs/align_vararg1.c: New.
      	* gcc.target/arm/aapcs/align_vararg2.c: New.
      
      From-SVN: r225465
      Alan Lawrence committed
    • Optimize i?86-*-elfiamcu for iamcu by default · a0f4ee6e
      Default -mtune=/-march= to iamcu for i[34567]86-*-elfiamcu targets.
      
      	* config.gcc (x86_archs): Add iamcu.
      	(with_cpu): Default to iamcu for i[34567]86-*-elfiamcu.
      	(with_arch): Likewise.
      	* doc/invoke.texi: Add iamcu.
      
      From-SVN: r225464
      H.J. Lu committed
    • i386.md (extv<mode>): Rename from extv. · ee40b044
      	* config/i386/i386.md (extv<mode>): Rename from extv.  Use SWI24
      	modes for operands 0 and 1.  Use SImode for operands 2 and 3.
      	Copy operand 1 to a temporary if !ext_register_operand.  Remove
      	ancient extract_bit_field workaround.
      	(*extv<mode>): Rename from *mov<mode>_extv_1.
      	(*extvqi): Rename from *movqi_extv_q.
      	(extzv<mode>): Rename from extzv.  Use SWI248 modes for
      	operands 0 and 1.  Use SImode for operands 2 and 3. Copy operand 1
      	to a temporary if !ext_register_operand.  Remove ancient
      	extract_bit_field workaround.
      	(*extzv<mode>): Rename from *mov<mode>_extzv_1.
      	(*extzvqi): Rename from *movqi_extzv_1.
      	(*testqi_ext_3): Remove modes from const_int_operand predicated
      	operands.  Add "n" constraint.
      	(*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
      	operand.  Add "J" constraint.
      	(*btsq, *btrq, *btcq peephole2s): Remove mode from
      	const_0_to_63 predicated operand.
      	(regmode): New insn attribute.
      	(*bt<mode>): Use SImode for operand 1.  Change operand 1 predicate
      	to nonmemory_operand.  Use regmode insn attribute.
      	(*jcc_bt<mode>_1): Convert operand 2 to SImode.
      	(*jcc_bt<mode>_mask): Remove mode from operand 3.
      	(*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
      	(tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
      	operands.  Use "N" constraint instead of "n".
      
      From-SVN: r225463
      Uros Bizjak committed
    • io.c (check_char_variable): New function. · fd5cabb2
      2015-07-06  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* io.c (check_char_variable): New function.
      	(match_open_element, match_close_element, match_file_element,
      	match_dt_element, match_inquire_element, match_wait_element): Use it.
      
      
      2015-07-06  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* gfortran.dg/iomsg_2.f90: New test.
      
      From-SVN: r225462
      Steven G. Kargl committed
    • [ARM] fix movdi expander to avoid illegal ldrd/strd · 9c769a65
              * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
      
      From-SVN: r225461
      Alan Lawrence committed
    • Add -march=iamcu to optimize for IA MCU · 385e3f0c
      IA MCU is based on Intel Pentium ISA without x87 and passing parameters
      in registers.  We want to optimize for IA MCU without changing existing
      Pentium codegen.  This patch adds PROCESSOR_IAMCU for -march=iamcu,
      which is based on -march=pentium with updated cost tables.
      
      gcc/
      
      	PR target/66749
      	* config/i386/i386.c (iamcu_cost): New.
      	(m_IAMCU): Likewise.
      	(initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
      	(processor_target_table): Add an entry for "iamcu".
      	(processor_alias_table): Likewise.
      	(ix86_issue_rate): Handle PROCESSOR_IAMCU.
      	(ix86_adjust_cost): Likewise.
      	(ia32_multipass_dfa_lookahead): Likewise.
      	* config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
      	* config/i386/x86-tune.def: Updated for m_IAMCU.
      
      gcc/testsuite/
      
      	PR target/66749
      	* gcc.target/i386/pr66749.c: New test.
      
      From-SVN: r225460
      H.J. Lu committed
    • re PR tree-optimization/66772 (ICE at -O2 and -O3 on x86_64-linux-gnu) · 1a02f6c1
      2015-07-06  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/66772
      	* tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
      	values are available in the PHI node BB when there are
      	still unexecutable edges.
      
      	* gcc.dg/torture/pr66772-1.c: New testcase.
      	* gcc.dg/torture/pr66772-2.c: Likewise.
      
      From-SVN: r225459
      Richard Biener committed
    • MIPS: For micromips allow the near-far-3.c test to use the jals instruction to call near_func. · fe55a823
          
      testsuite/
      	* gcc.target/mips/near-far-3.c: Allow the call to near_func to use
      	the jals instruction.
      
      From-SVN: r225457
      Andrew Bennett committed
    • re PR tree-optimization/66767 (FAIL: gcc.dg/vect/vect-align-1.c execution test) · aad83b7c
      2015-07-06  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/66767
      	* tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
      	Make sure to build the alignment test on a SSA name without
      	final alignment info valid only if the alignment test
      	evaluates to true.
      
      From-SVN: r225454
      Richard Biener committed
    • Fix assert caused by bad cfg manipulation in bfin. · 91f0f975
      	PR target/66620
      	* config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
      	loop start when inserting LSETUP.
      
      From-SVN: r225453
      Bernd Schmidt committed
    • Allow -mincoming-stack-boundary=3 with -mno-sse · ec1590f2
      Similar to -mpreferred-stack-boundary=3, -mincoming-stack-boundary=3 is
      allowed with -mno-sse in 64-bit mode.
      
      gcc/
      
      	PR target/53383
      	* config/i386/i386.c (ix86_option_override_internal): Allow
      	-mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
      
      gcc/testsuite/
      
      	PR target/53383
      	* gcc.target/i386/pr53383-1.c: New file.
      	* gcc.target/i386/pr53383-2.c: Likewise.
      	* gcc.target/i386/pr53383-3.c: Likewise.
      
      From-SVN: r225452
      H.J. Lu committed
    • Rename read-md.c:decimal_string · 09e9c1e0
      	* read-md.c (decimal_string): Rename to ...
      	(md_decimal_string): ... this.
      	(handle_enum): Reflect this.
      
      From-SVN: r225451
      Rainer Orth committed
    • [AArch64] PR target/66731 Fix fnmul insn with -frounding-math · 2b3fe2e9
      gcc/Changelog:
      
      2015-07-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
      
      	PR target/66731
      	* config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
      
      gcc/testsuite/Changelog:
      
      2015-07-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
      
      	* gcc.target/aarch64/fnmul-1.c: New.
      	* gcc.target/aarch64/fnmul-2.c: New.
      	* gcc.target/aarch64/fnmul-3.c: New.
      	* gcc.target/aarch64/fnmul-4.c: New.
      
      From-SVN: r225450
      Szabolcs Nagy committed
    • re PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer) · 0409237b
      2015-07-06  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/66759
      	* match.pd: Add missing constraint of y to REAL_CST in
      	REAL_CST - x CMP y to y - CST CMP x simplification.
      
      	* gcc.dg/torture/pr66759.c: New testcase.
      
      From-SVN: r225449
      Richard Biener committed
    • Added missing Changelog entry for testsuite. · b2bae05d
      From-SVN: r225448
      Andre Vehreschild committed
    • re PR fortran/58586 (ICE with derived type with allocatable component passed by value) · c16126ac
      gcc/testsuite/ChangeLog:
      
      2015-07-06  Andre Vehreschild  <vehre@gmx.de>
      
      	PR fortran/58586
      	* gfortran.dg/alloc_comp_class_3.f03: New test.
      	* gfortran.dg/alloc_comp_class_4.f03: New test.
      
      
      gcc/fortran/ChangeLog:
      
      2015-07-06  Andre Vehreschild  <vehre@gmx.de>
      
      	PR fortran/58586
      	* resolve.c (resolve_symbol): Non-private functions in modules
      	with allocatable or pointer components are marked referenced
      	now. Furthermore is the default init especially for those
      	components now done in gfc_conf_procedure_call preventing
      	duplicate code.
      	* trans-decl.c (gfc_generate_function_code): Generate a fake
      	result decl for functions returning an object with allocatable
      	components and initialize them.
      	* trans-expr.c (gfc_conv_procedure_call): For value typed trees
      	use the tree without indirect ref. And for non-decl trees
      	add a temporary variable to prevent evaluating the tree
      	multiple times (prevent multiple function evaluations).
      	* trans.h: Made gfc_trans_structure_assign () protoype
      	available, which is now needed by trans-decl.c:gfc_generate_
      	function_code(), too.
      
      From-SVN: r225447
      Andre Vehreschild committed
    • re PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu) · c8ba6498
      	PR tree-optimization/66757
      	* match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
      
      From-SVN: r225446
      Eric Botcazou committed
    • re PR libfortran/40267 (Eventually get rid of libgfortranbegin.a) · 43cbef95
      	PR libfortran/40267
      	* Makefile.am: Remove libgfortranbegin targets.
      	* Makefile.in: Regenerate.
      	* fmain.c: Remove.
      
      From-SVN: r225445
      Francois-Xavier Coudert committed
    • libgomp: Add comment to clarify last_team usage · e5210c77
      libgomp/ChangeLog
      2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
      
      	* libgomp.h (gomp_thread_pool): Comment last_team field.
      
      From-SVN: r225444
      Sebastian Huber committed
    • re PR testsuite/66720 (gcc.dg/vect/pr48052.c FAILs) · a7e3f29b
      
      	PR tree-optimization/66720
      	* gcc.dg/vect/pr48052.c: Use dg-require-effective-target
      	vect_int_mult.
      
      From-SVN: r225443
      Bin Cheng committed
    • Daily bump. · a07f64a6
      From-SVN: r225440
      GCC Administrator committed
  2. 05 Jul, 2015 18 commits
    • nios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration. · 7dcc7195
      2015-07-05  Chung-Lin Tang  <cltang@codesourcery.com>
      	    Sandra Loosemore <sandra@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
      	Delete extern declaration.
      	(gprel_constant_p): Add extern declaration.
      	* config/nios2/constraints.md ("S"): Use gprel_constant_p
      	instead of nios2_symbol_ref_in_small_data_p.
      	* config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
      	(nios2_symbol_ref_in_small_data_p): Make static.
      	(gprel_constant_p): Make non-static.
      
      	gcc/testsuite/
      	* gcc.target/nios2/gprel-offset.c: New test.
      
      Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
      
      From-SVN: r225437
      Chung-Lin Tang committed
    • hashtable.h (_Hashtable<>::__rehash_policy): Do not rehash container. · 291e91da
      2015-07-05  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
      	rehash container.
      	* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
      	Adapt.
      
      From-SVN: r225436
      François Dumont committed
    • fragments.texi (Target Fragment): Convert debian.org link to use https. · 3b973a7f
      	* doc/fragments.texi (Target Fragment): Convert debian.org
      	link to use https.
      	* doc/install.texi (Configuration): Ditto.
      
      From-SVN: r225435
      Gerald Pfeifer committed
    • re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized) · 3cc2fa2a
      	PR tree-optimization/66718
      	* tree-vect-stmts.c (vectorizable_call): Replace uses of
      	GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
      
      From-SVN: r225434
      Jakub Jelinek committed
    • re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized) · 465c8c19
      	PR tree-optimization/66718
      	* tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
      	vectorizable_load, vectorizable_condition): Move vectype,
      	nunits, ncopies computation after checking what kind of statement
      	stmt is.
      
      From-SVN: r225433
      Jakub Jelinek committed
    • target-insns.def (extv, [...]): New targetm instruction patterns. · 234d14ac
      gcc/
      	* target-insns.def (extv, extzv, insv): New targetm instruction
      	patterns.
      	* optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
      	interface.
      	* recog.c (simplify_while_replacing): Likewise.
      
      From-SVN: r225432
      Richard Sandiford committed
    • target-insns.def (doloop_begin, doloop_end): New targetm instruction patterns. · 89f7b21f
      gcc/
      	* target-insns.def (doloop_begin, doloop_end): New targetm
      	instruction patterns.
      	* loop-init.c: Include target.h.
      	(pass_loop2::gate): Use the new targetm patterns instead of
      	HAVE_*/gen_* interface.
      	(pass_rtl_doloop::gate): Likewise.
      	(pass_rtl_doloop::execute): Remove preprocessor condition.
      	* hw-doloop.c: Build unconditionally.
      	* loop-doloop.c: Likewise.
      	(doloop_optimize): Use the new targetm patterns instead of
      	HAVE_*/gen_* interface.
      	(doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
      	* modulo-sched.c (doloop_register_get): Likewise.
      
      From-SVN: r225431
      Richard Sandiford committed
    • target-insns.def (clear_cache): New targetm instruction pattern. · f2cf13bd
      gcc/
      	* target-insns.def (clear_cache): New targetm instruction pattern.
      	* builtins.c (expand_builtin___clear_cache): Use it instead of
      	HAVE_*/gen_* interface.
      
      From-SVN: r225430
      Richard Sandiford committed
    • gcc/ · 10169a8b
      	* target-insns.def (allocate_stack, check_stack, probe_stack)
      	(probe_stack_address, split_stack_prologue, split_stack_space_check):
      	New targetm instruction patterns.
      	* explow.c (allocate_dynamic_stack_space): Use them instead of
      	HAVE_*/gen_* interface.
      	(emit_stack_probe): Likewise.
      	(probe_stack_range): Likewise.
      	* function.c (thread_prologue_and_epilogue_insns): Likewise.
      
      From-SVN: r225429
      Richard Sandiford committed
    • target-insns.def (stack_protect_set, [...]): New targetm instruction patterns. · c65aa042
      gcc/
      	* target-insns.def (stack_protect_set, stack_protect_test): New
      	targetm instruction patterns.
      	* cfgexpand.c (stack_protect_prologue): Use them instead of
      	HAVE_*/gen_* interface.
      	* function.c (stack_protect_epilogue): Likewise.
      
      From-SVN: r225428
      Richard Sandiford committed
    • expr.h (gen_move_insn_uncast): Delete. · 9c58793a
      gcc/
      	* expr.h (gen_move_insn_uncast): Delete.
      	* expr.c (gen_move_insn_uncast): Delete.
      
      From-SVN: r225427
      Richard Sandiford committed
    • gcc/ · 4476e1a0
      	* target-insns.def (restore_stack_block, restore_stack_function)
      	(restore_stack_nonlocal, save_stack_block, save_stack_function)
      	(save_stack_nonlocal): New targetm instruction patterns.
      	* builtins.c (expand_builtin_apply): Use them instead of
      	HAVE_*/gen_* interface.
      	* explow.c (emit_stack_save, emit_stack_restore): Likewise.
      
      From-SVN: r225426
      Richard Sandiford committed
    • target-insns.def (trap): New targetm instruction pattern. · eb6f47fb
      gcc/
      	* target-insns.def (trap): New targetm instruction pattern.
      	* builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
      	interface.
      	* explow.c (allocate_dynamic_stack_space): Likewise.
      	* ifcvt.c (find_if_header): Likewise.
      
      From-SVN: r225425
      Richard Sandiford committed
    • target-insns.def (prefetch): New targetm instruction pattern. · 134b044d
      gcc/
      	* target-insns.def (prefetch): New targetm instruction pattern.
      	* tree-ssa-loop-prefetch.c: Include targeth.
      	(tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
      	of HAVE_*/gen_* interface.
      	* builtins.c (expand_builtin_prefetch): Likewise.
      	* toplev.c (process_options): Likewise.
      
      From-SVN: r225424
      Richard Sandiford committed
    • target-insns.def (untyped_call, [...]): New targetm instruction patterns. · 43c7dca8
      gcc/
      	* target-insns.def (untyped_call, untyped_return): New targetm
      	instruction patterns.
      	* builtins.c (expand_builtin_apply): Use them instead of
      	HAVE_*/gen_* interface.
      	(result_vector): Define unconditionally.
      
      From-SVN: r225423
      Richard Sandiford committed
    • gcc/ · 95a3fb9d
      	* target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
      	(builtin_setjmp_setup, exception_receiver, nonlocal_goto)
      	(nonlocal_goto_receiver): New targetm instruction patterns.
      	* builtins.c (expand_builtin_setjmp_setup): Use them instead
      	of HAVE_*/gen_* interface.
      	(expand_builtin_setjmp_receiver): Likewise.
      	(expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
      	* except.c (expand_dw2_landing_pad_for_region): Likewise.
      
      From-SVN: r225422
      Richard Sandiford committed
    • target.def: Add code_for_* hooks. · 8684d89d
      gcc/
      	* target.def: Add code_for_* hooks.
      	* gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
      	* defaults.h (HAVE_tablejump, gen_tablejump): Delete.
      	* target-insns.def (casesi, tablejump): New targetm instruction
      	patterns.
      	* expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
      	(do_tablejump): Likewise.
      	* stmt.c (expand_switch_as_decision_tree_p): Likewise.
      	(expand_sjlj_dispatch_table): Likewise.
      	* targhooks.c (default_case_values_threshold): Likewise.
      
      From-SVN: r225421
      Richard Sandiford committed
    • nios2.c (save_reg, [...]): Use plus_constant. · 9d07490f
      2015-07-04  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
      	Use rtx_insn * instead of rtx.
      	(nios2_emit_add_constant): Use rtx_insn * instead of rtx.
      	(nios2_expand_prologue, nios2_expand_epilogue): Likewise.
      	(nios2_call_tls_get_addr): Likewise.
      	(nios2_emit_expensive_div): Likewise.
      	(nios2_emit_move_sequence): Change return type to bool.
      	* config/nios2/nios2-protos.h (nios2_emit_move_sequence):
      	Change return type to bool.
      
      From-SVN: r225420
      Sandra Loosemore committed