Commit Graph

139574 Commits

Author SHA1 Message Date
H.J. Lu
ec1590f257 Allow -mincoming-stack-boundary=3 with -mno-sse
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
2015-07-06 04:50:47 -07:00
Rainer Orth
09e9c1e085 Rename read-md.c:decimal_string
* read-md.c (decimal_string): Rename to ...
	(md_decimal_string): ... this.
	(handle_enum): Reflect this.

From-SVN: r225451
2015-07-06 11:43:07 +00:00
Szabolcs Nagy
2b3fe2e950 [AArch64] PR target/66731 Fix fnmul insn with -frounding-math
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
2015-07-06 11:00:03 +00:00
Richard Biener
0409237b68 re PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer)
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
2015-07-06 10:37:33 +00:00
Andre Vehreschild
b2bae05de9 Added missing Changelog entry for testsuite.
From-SVN: r225448
2015-07-06 12:27:38 +02:00
Andre Vehreschild
c16126ac18 re PR fortran/58586 (ICE with derived type with allocatable component passed by value)
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
2015-07-06 12:26:12 +02:00
Eric Botcazou
c8ba649886 re PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu)
PR tree-optimization/66757
	* match.pd: Add missing condition to ~X ^ C -> X ^ ~C.

From-SVN: r225446
2015-07-06 08:43:58 +00:00
Francois-Xavier Coudert
43cbef9555 re PR libfortran/40267 (Eventually get rid of libgfortranbegin.a)
PR libfortran/40267
	* Makefile.am: Remove libgfortranbegin targets.
	* Makefile.in: Regenerate.
	* fmain.c: Remove.

From-SVN: r225445
2015-07-06 08:22:34 +00:00
Sebastian Huber
e5210c77a1 libgomp: Add comment to clarify last_team usage
libgomp/ChangeLog
2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgomp.h (gomp_thread_pool): Comment last_team field.

From-SVN: r225444
2015-07-06 07:21:48 +00:00
Bin Cheng
a7e3f29b79 re PR testsuite/66720 (gcc.dg/vect/pr48052.c FAILs)
PR tree-optimization/66720
	* gcc.dg/vect/pr48052.c: Use dg-require-effective-target
	vect_int_mult.

From-SVN: r225443
2015-07-06 05:57:56 +00:00
GCC Administrator
a07f64a67c Daily bump.
From-SVN: r225440
2015-07-06 00:16:12 +00:00
Chung-Lin Tang
7dcc719595 nios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration.
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
2015-07-05 17:49:08 -04:00
François Dumont
291e91daa7 hashtable.h (_Hashtable<>::__rehash_policy): Do not rehash container.
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
2015-07-05 21:16:07 +00:00
Gerald Pfeifer
3b973a7f22 fragments.texi (Target Fragment): Convert debian.org link to use https.
* doc/fragments.texi (Target Fragment): Convert debian.org
	link to use https.
	* doc/install.texi (Configuration): Ditto.

From-SVN: r225435
2015-07-05 20:36:22 +00:00
Jakub Jelinek
3cc2fa2a17 re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
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
2015-07-05 14:14:41 +02:00
Jakub Jelinek
465c8c1983 re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
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
2015-07-05 14:11:57 +02:00
Richard Sandiford
234d14ac72 target-insns.def (extv, [...]): New targetm instruction patterns.
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
2015-07-05 08:02:59 +00:00
Richard Sandiford
89f7b21fb0 target-insns.def (doloop_begin, doloop_end): New targetm instruction patterns.
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
2015-07-05 08:01:48 +00:00
Richard Sandiford
f2cf13bd7c target-insns.def (clear_cache): New targetm instruction pattern.
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
2015-07-05 07:59:14 +00:00
Richard Sandiford
10169a8b99 gcc/
* 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
2015-07-05 07:58:30 +00:00
Richard Sandiford
c65aa0429d target-insns.def (stack_protect_set, [...]): New targetm instruction patterns.
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
2015-07-05 07:56:45 +00:00
Richard Sandiford
9c58793af5 expr.h (gen_move_insn_uncast): Delete.
gcc/
	* expr.h (gen_move_insn_uncast): Delete.
	* expr.c (gen_move_insn_uncast): Delete.

From-SVN: r225427
2015-07-05 07:55:03 +00:00
Richard Sandiford
4476e1a0be gcc/
* 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
2015-07-05 07:52:32 +00:00
Richard Sandiford
eb6f47fb90 target-insns.def (trap): New targetm instruction pattern.
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
2015-07-05 07:51:07 +00:00
Richard Sandiford
134b044daf target-insns.def (prefetch): New targetm instruction pattern.
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
2015-07-05 07:50:31 +00:00
Richard Sandiford
43c7dca881 target-insns.def (untyped_call, [...]): New targetm instruction patterns.
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
2015-07-05 07:49:16 +00:00
Richard Sandiford
95a3fb9de8 gcc/
* 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
2015-07-05 07:48:04 +00:00
Richard Sandiford
8684d89dea target.def: Add code_for_* hooks.
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
2015-07-05 07:44:45 +00:00
Sandra Loosemore
9d07490f09 nios2.c (save_reg, [...]): Use plus_constant.
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
2015-07-04 22:56:18 -04:00
GCC Administrator
239c34bfbd Daily bump.
From-SVN: r225419
2015-07-05 00:16:13 +00:00
Bernd Edlinger
24966da610 re PR target/66747 (The commit r225260 broke the builds of the mips-{mti,img}-linux-gnu tool chains.)
2015-07-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR target/66747
        * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.

From-SVN: r225416
2015-07-04 19:02:18 +00:00
Steven G. Kargl
2e43164383 [multiple changes]
2015-07-04  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66725
	* io.c (is_char_type): New function to test for BT_CHARACTER
	(gfc_match_open, gfc_match_close, match_dt_element): Use it.


2015-07-03  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66725
	* gfortran.dg/pr66725.f90: New test.

From-SVN: r225415
2015-07-04 15:37:04 +00:00
John David Anglin
26232bbbda re PR target/66114 (some indirect_jump patterns use operands[] in their condition when they shouldn't)
PR target/66114
	* config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
	of register_operand.  Remove constraint.

From-SVN: r225412
2015-07-04 13:42:55 +00:00
Marc Glisse
3958eee171 tree-cfg.c (verify_gimple_assign_ternary): Check the first argument.
2015-07-04  Marc Glisse  <marc.glisse@inria.fr>

	* tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
	the first argument.

From-SVN: r225411
2015-07-04 11:15:33 +00:00
GCC Administrator
6b402fbeac Daily bump.
From-SVN: r225409
2015-07-04 00:16:12 +00:00
Paolo Carlini
fe6f27c742 attribs.c (decl_attributes): Guard inform with the return value of the preceding warning.
2015-07-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* attribs.c (decl_attributes): Guard inform with the return value
	of the preceding warning.

From-SVN: r225402
2015-07-03 18:56:40 +00:00
Carlos Sánchez de La Lama
cd5a9a74d3 re PR libitm/52482 (libitm INVALID MNEMONIC in .S (powerpc asm))
2015-07-03  Carlos Sánchez de La Lama  <csanchezdll@gmail.com>

	PR target/52482
	* config/powerpc/sjlj.S: Port to Xcode 2.5.

From-SVN: r225388
2015-07-03 17:28:43 +00:00
James Greenhalgh
7c17c7b24d [Patch docs obvious AArch64] Fix position of -moverride documentation
gcc/

	* doc/invoke.texi (moverride): Move to correct section.

From-SVN: r225384
2015-07-03 14:49:05 +00:00
Jason Merrill
5fbf1204e0 wide-int_plugin.c (test_double_int_round_udiv): Avoid narrowing error.
* gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv):
	Avoid narrowing error.

From-SVN: r225383
2015-07-03 10:42:21 -04:00
Segher Boessenkool
ab1d746dce re PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))
PR rtl-optimization/66706
	* gcc.target/powerpc/shift-int.c: New testcase.

From-SVN: r225382
2015-07-03 16:37:26 +02:00
Jonathan Wakely
ed3caa8c2a status_cxx2017.xml: Update status table.
* doc/xml/manual/status_cxx2017.xml: Update status table.
	* doc/html/manual/*: Regenerate.

From-SVN: r225380
2015-07-03 15:08:48 +01:00
Ville Voutilainen
e37e6813d5 Implement std::experimental::fundamentals_v2::propagate_const.
2015-07-03  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Implement std::experimental::fundamentals_v2::propagate_const.
	* include/Makefile.am: Add propagate_const.
	* include/Makefile.in: Regenerate.
	* include/experimental/propagate_const: New.
	* testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
	* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
	* testsuite/experimental/propagate_const/assignment/move_neg.cc:
	Likewise.
	* testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
	* testsuite/experimental/propagate_const/cons/default.cc: Likewise.
	* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
	* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
	* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
	* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
	* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
	* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
	* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
	* testsuite/experimental/propagate_const/typedefs.cc: Likewise.

From-SVN: r225379
2015-07-03 15:08:37 +01:00
Richard Biener
805a54065f genmatch.c (commutative_tree_code, [...]): Copy from tree.c
2015-07-03  Richard Biener  <rguenther@suse.de>

	* genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
	Copy from tree.c
	(dt_operand::gen_gimple_expr): After valueizing operands
	re-canonicalize operand order for commutative tree codes.

From-SVN: r225378
2015-07-03 13:46:34 +00:00
H.J. Lu
dba9842f05 Add the missing file
From-SVN: r225377
2015-07-03 06:08:35 -07:00
H.J. Lu
2fd98c0acf Add IA MCU support to x86intrin.h
x86intrin.h has useful intrinsics for instructions for IA MCU.  This
patch adds __iamcu__ check to x86intrin.h and ia32intrin.h.

gcc/

	PR target/66746.
	* config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
	is defined.
	(__crc32w): Likewise.
	(__crc32d): Likewise.
	(__rdpmc): Likewise.
	(__rdtscp): Likewise.
	(_rdpmc): Likewise.
	(_rdtscp): Likewise.
	* config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
	is defined.

gcc/testsuite/

	PR target/66746.
	* gcc.target/i386/pr66746.c: New file.

From-SVN: r225376
2015-07-03 05:25:10 -07:00
Richard Biener
07cdc2b892 fold-const.c (fold_mathfn_compare): Remove.
2015-07-03  Richard Biener  <rguenther@suse.de>

	* fold-const.c (fold_mathfn_compare): Remove.
	(fold_inf_compare): Likewise.
	(fold_comparison): Move floating point comparison simplifications...
	* match.pd: ... to patterns here.  Introduce simple_comparisons
	operator list and use it for patterns formerly in fold_comparison.

From-SVN: r225375
2015-07-03 12:02:35 +00:00
Christophe Lyon
c8083fc05c vget_lane.c: New testcase.
2015-07-03  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: New testcase.

From-SVN: r225374
2015-07-03 12:52:03 +02:00
Paolo Carlini
d885793d6e 2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
* Fix component of my last ChangeLog entries.

From-SVN: r225371
2015-07-03 09:42:52 +00:00
James Greenhalgh
7bd6f24be2 [Patch SRA] Fix PR66119 by calling get_move_ratio in SRA
gcc/

	PR tree-optimization/66119
	* toplev.c (process_options): Don't set up default values for
	the sra_max_scalarization_size_{speed,size} parameters.
	* tree-sra (analyze_all_variable_accesses): If no values
	have been set for the sra_max_scalarization_size_{speed,size}
	parameters, call get_move_ratio to get target defaults.

gcc/testsuite/

	PR tree-optimization/66119
	* g++.dg/opt/pr66119.C: New.

From-SVN: r225369
2015-07-03 09:25:54 +00:00
Richard Biener
bab73f11b8 fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
2015-07-03  Richard Biener  <rguenther@suse.de>

	* fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
	* match.pd: ... here.

From-SVN: r225368
2015-07-03 07:55:10 +00:00