Commit Graph

134814 Commits

Author SHA1 Message Date
Jonathan Wakely
38dbb2a53f locale_init.cc (locale::_Impl::_Impl(size_t)): Use new-initializer instead of loop.
* src/c++98/locale_init.cc (locale::_Impl::_Impl(size_t)): Use
	new-initializer instead of loop.
	* src/c++98/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
	Likewise.

From-SVN: r218184
2014-11-29 22:58:38 +00:00
Jonathan Wakely
bd6757b8d3 nonio.h (__timepunct): Remove unused typedef.
* include/bits/locale_facets/nonio.h (__timepunct): Remove unused
	typedef.
	(time_get): Likewise. Fix comments.

From-SVN: r218183
2014-11-29 22:58:33 +00:00
H.J. Lu
925f3e6546 Add a testcase for PR target/64114
PR target/64114
	* gcc.target/i386/pr64114.c: New test.

From-SVN: r218182
2014-11-29 07:57:32 -08:00
Jakub Jelinek
b731b39027 gimple-expr.h (create_tmp_var_raw, [...]): Add default NULL value to last argument.
* gimple-expr.h (create_tmp_var_raw, create_tmp_var,
	create_tmp_reg): Add default NULL value to last argument.
	* tree-ssanames.h (make_ssa_name, copy_ssa_name): Likewise.
	* gimple-low.c (lower_builtin_posix_memalign): Remove NULL
	last argument from create_tmp_var_raw, create_tmp_var,
	create_tmp_reg, make_ssa_name and copy_ssa_name calls.
	* tree-ssa-strlen.c (get_string_length): Likewise.
	* tree-emutls.c (gen_emutls_addr, lower_emutls_1): Likewise.
	* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
	* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
	* ipa-prop.c (ipa_modify_call_arguments): Likewise.
	* tree-ssa-forwprop.c (simplify_rotate): Likewise.
	* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Likewise.
	* asan.c (build_shadow_mem_access, maybe_create_ssa_name,
	maybe_cast_to_ptrmode, asan_expand_check_ifn): Likewise.
	* tsan.c (instrument_expr, instrument_builtin_call,
	instrument_func_entry): Likewise.
	* varpool.c (add_new_static_var): Likewise.
	* tree-loop-distribution.c (generate_memset_builtin): Likewise.
	* gimplify.c (internal_get_tmp_var, gimplify_return_expr,
	gimplify_modify_expr_to_memcpy, gimplify_modify_expr_to_memset,
	gimplify_init_ctor_eval_range, gimplify_init_constructor,
	gimplify_omp_atomic, gimplify_expr): Likewise.
	* gimple-builder.c (build_assign, build_type_cast): Likewise.
	* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1,
	slpeel_update_phi_nodes_for_guard2, slpeel_tree_peel_loop_to_edge,
	vect_loop_versioning): Likewise.
	* tree-if-conv.c (version_loop_for_if_conversion): Likewise.
	* gimple-match-head.c (maybe_push_res_to_seq): Likewise.
	* tree-vect-patterns.c (vect_handle_widen_op_by_const,
	vect_recog_widen_mult_pattern, vect_operation_fits_smaller_type,
	vect_recog_over_widening_pattern): Likewise.
	* tree-sra.c (build_ref_for_offset, create_access_replacement):
	Likewise.
	* tree-cfg.c (make_blocks): Likewise.
	* tree-eh.c (lower_eh_constructs_2, lower_resx, lower_eh_dispatch):
	Likewise.
	* tree-ssa-propagate.c (update_call_from_tree): Likewise.
	* tree-complex.c (get_component_ssa_name, expand_complex_div_wide):
	Likewise.
	* tree-ssa-math-opts.c (build_and_insert_cast): Likewise.
	* tree-tailcall.c (update_accumulator_with_ops): Likewise.
	* tree-predcom.c (initialize_root_vars, initialize_root_vars_lm,
	execute_load_motion, reassociate_to_the_same_stmt): Likewise.
	* tree-ssa-reassoc.c (build_and_add_sum,
	optimize_range_tests_to_bit_test, update_ops,
	maybe_optimize_range_tests, rewrite_expr_tree, linearize_expr,
	negate_value, repropagate_negates): Likewise.
	* tree-vect-loop.c (vect_is_simple_reduction_1,
	vect_create_epilog_for_reduction): Likewise.
	* ipa-split.c (split_function): Likewise.
	* tree-inline.c (remap_ssa_name, setup_one_parameter,
	declare_return_variable, tree_function_versioning): Likewise.
	* tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
	* cfgexpand.c (update_alias_info_with_stack_vars, expand_used_vars):
	Likewise.
	* tree-ssa-phiopt.c (conditional_replacement, abs_replacement,
	neg_replacement): Likewise.
	* gimplify-me.c (force_gimple_operand_1, gimple_regimplify_operands):
	Likewise.
	* tree-vrp.c (simplify_truth_ops_using_ranges,
	simplify_float_conversion_using_ranges,
	simplify_internal_call_using_ranges): Likewise.
	* tree-switch-conversion.c (emit_case_bit_tests,
	build_one_array, build_arrays, gen_def_assigns): Likewise.
	* gimple-fold.c (gimple_fold_builtin_memory_op,
	gimple_fold_builtin_strcat, gimple_fold_call, gimple_build): Likewise.
	* tree-vect-generic.c (expand_vector_divmod,
	optimize_vector_constructor): Likewise.
	* ubsan.c (ubsan_encode_value, ubsan_expand_null_ifn,
	ubsan_expand_objsize_ifn, instrument_si_overflow,
	instrument_bool_enum_load, instrument_nonnull_arg): Likewise.
	* tree-outof-ssa.c (insert_backedge_copies): Likewise.
	* tree-ssa-loop-manip.c (create_iv,
	tree_transform_and_unroll_loop): Likewise.
	* omp-low.c (scan_omp_parallel, lower_rec_simd_input_clauses,
	lower_rec_input_clauses, lower_lastprivate_clauses,
	expand_parallel_call, expand_omp_for_static_chunk,
	expand_omp_atomic_pipeline, expand_omp_target,
	maybe_add_implicit_barrier_cancel, lower_omp_single_simple,
	lower_omp_critical, lower_omp_for, task_copyfn_copy_decl,
	lower_depend_clauses, lower_omp_target, lower_omp_1,
	ipa_simd_modify_stmt_ops, simd_clone_adjust): Likewise.
	* tree-parloops.c (take_address_of, create_phi_for_local_result,
	create_call_for_reduction_1, separate_decls_in_region,
	create_parallel_loop): Likewise.
	* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_dependence,
	handle_scalar_deps_crossing_scop_limits): Likewise.
	* trans-mem.c (lower_transaction, build_tm_load, build_tm_store,
	expand_assign_tm, expand_call_tm, expand_transaction,
	ipa_tm_insert_gettmclone_call): Likewise.
	* tree-vect-data-refs.c (bump_vector_ptr, vect_setup_realignment):
	Likewise.
	* tree-vect-stmts.c (vect_init_vector, vectorizable_mask_load_store,
	vectorizable_call, vectorizable_simd_clone_call,
	vectorizable_conversion, vectorizable_store, permute_vec_elements,
	vectorizable_load): Likewise.
c/
	* c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
	c_finish_stmt_expr): Remove NULL last argument from
	create_tmp_var_raw and create_tmp_var calls.
	* c-array-notation.c (fix_builtin_array_notation_fn,
	build_array_notation_expr, fix_conditional_array_notations_1,
	fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
cp/
	* cp-gimplify.c (cxx_omp_clause_apply_fn): Remove NULL last argument
	from create_tmp_var calls.
c-family/
	* c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
	last argument from create_tmp_var_raw and create_tmp_var calls.
	* cilk.c (gimplify_cilk_spawn): Likewise.
	* c-omp.c (c_finish_omp_atomic): Likewise.
fortran/
	* trans-openmp.c (gfc_omp_finish_clause,
	gfc_trans_omp_array_reduction_or_udr, gfc_trans_omp_atomic): Remove
	NULL last argument from create_tmp_var_raw and create_tmp_var calls.

From-SVN: r218181
2014-11-29 12:35:30 +01:00
Tobias Burnus
d0e168a016 scanner.c (skip_free_comments, [...]): Use gfc_warning_now instead of ..._now_1.
2014-11-29  Tobias Burnus  <burnus@net-b.de>

        * scanner.c (skip_free_comments, gfc_gobble_whitespace): Use
        gfc_warning_now instead of ..._now_1.

From-SVN: r218180
2014-11-29 11:56:04 +01:00
Joseph Myers
81fee4a708 Fix off-by-one bug in utf16 conversion (PR preprocessor/41698).
libcpp:
2014-11-29  John Schmerge  <jbschmerge@gmail.com>

	PR preprocessor/41698
	* charset.c (one_utf8_to_utf16): Do not produce surrogate pairs
	for 0xffff.

gcc/testsuite:
2014-11-29  Joseph Myers  <joseph@codesourcery.com>

	PR preprocessor/41698
	* gcc/testsuite/g++.dg/cpp/utf16-pr41698-1.C: New test.

From-SVN: r218179
2014-11-29 01:56:06 +00:00
GCC Administrator
bfa52c5720 Daily bump.
From-SVN: r218178
2014-11-29 00:16:26 +00:00
Tobias Burnus
27e51192eb opt-functions.awk (lang_enabled_by): Support || for enabled-by.
2014-11-29  Tobias Burnus  <burnus@net-b.de>
            Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
        * opt-functions.awk (lang_enabled_by): Support || for
        enabled-by.
        * optc-gen.awk: Ditto.
        * doc/options.texi (LangEnabledBy, EnabledBy): Document the
        || syntax.

gcc/fortran/
        * lang.opt (Wtabs): Combine duplicated item into a single
        one using || for LangEnabledBy.


Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>

From-SVN: r218175
2014-11-29 01:04:48 +01:00
Mike Stump
9e5d3a2c07 bitmap.c (bitmap_ior, bitmap_ior_and_compl): Zap current as it could be deleted.
From-SVN: r218173
2014-11-28 22:23:59 +00:00
Vladimir Makarov
eef7b18cb7 re PR target/64061 (ICE: in gen_rtx_SUBREG, at emit-rtl.c:894 with -O2 -g -fno-dce -fno-tree-dce)
2014-11-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/64061
	* lra.c (lra_substitute_pseudo): Ignore constant with int mode for
	subreg.

2014-11-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/64061
	* gcc.target/i386/pr64061.c: New.

From-SVN: r218171
2014-11-28 19:33:35 +00:00
Bernd Schmidt
ee95f9288a Add support for a minimal version of libgfortran for accelerator targets.
* Makefile.am (AM_CFLAGS): Add -DLIBGFOR_MINIMAL if LIBGFOR_MINIMAL.
        (gfor_io_src, gfor_heper_src, gfor_src): Split into minimal and
        always included sources.
        * Makefile.in: Regenerate.
        * configure.ac (LIBGFOR_MINIMAL): New AM_CONDITIONAL.
        * configure: Regenerate.
        * caf/single.c (caf_runtime_error): Don't print messages if
        LIBGFOR_MINIMAL.
        * runtime/compile_options.c (fatal_error_in_progress,
        show_signal, backtrace_handler, maybe_find_addr2line): Guard with
        !defined LIBGFOR_MINIMAL.
        (set_options): Likewise for the backtrace code.
        * runtime/minimal.c: New file.

From-SVN: r218170
2014-11-28 17:39:15 +00:00
Segher Boessenkool
8760be8546 re PR target/64093 (ICE error: unrecognizable insn with -mcpu=cell)
PR target/64093
	* config/rs6000/rs6000.md (and<mode>3): Don't generate
	and<mode>3_imm unless rs6000_gen_cell_microcode is true.

From-SVN: r218164
2014-11-28 17:25:33 +01:00
Marek Polacek
6a4da643ca c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR instead of unsigned_type_node.
* c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
	instead of unsigned_type_node.

	* c-c++-common/ubsan/shift-8.c: New test.

From-SVN: r218163
2014-11-28 15:54:52 +00:00
Vladimir Makarov
9503ade2ec re PR rtl-optimization/64087 (ICE on valid code at -O3 on x86_64-linux-gnu in in lra_create_live_ranges, at lra-lives.c:1330)
2014-11-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/64087
	* lra-lives.c (process_bb_lives): Add debug output.
	(lra_create_live_ranges): Don't remove dead insn on the second
	call of lra_create_live_ranges_1.

2014-11-28  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/64087
	*  gcc.dg/pr64087.c: New.

From-SVN: r218162
2014-11-28 15:39:52 +00:00
H.J. Lu
51e5fd69c6 Pass unpromoted argument to promote_function_mode
This patch updates setup_incoming_promotions in combine.c to match what
is actually passed in assign_parm_setup_reg in function.c.

gcc/

	PR rtl-optimization/64037
	* combine.c (setup_incoming_promotions): Pass the argument
	before any promotions happen to promote_function_mode.

gcc/testsuite/

	PR rtl-optimization/64037
	* g++.dg/pr64037.C: New test.

From-SVN: r218161
2014-11-28 07:27:55 -08:00
Evgeny Stupachenko
f101d09c2a tree-vect-data-refs.c (vect_transform_grouped_load): Limit shift permutations to loads group of size 3.
gcc/
	* tree-vect-data-refs.c (vect_transform_grouped_load): Limit shift
	permutations to loads group of size 3.

gcc/testsuite/

	* gcc.target/i386/pr52252-atom-1.c: Delete.

From-SVN: r218160
2014-11-28 14:45:26 +00:00
Jiong Wang
3403c4c78e [ARM] Optimize copysign/copysignf for soft-float using BFI
gcc/
    * config/arm/arm.md (copysignsf3): New pattern.
    (copysigndf3): Likewise.

  gcc/testsuite/
    * gcc.target/arm/copysign_softfloat_1.c: New copysign/copysignf
    testcase for soft-float.

From-SVN: r218159
2014-11-28 14:07:04 +00:00
Andrey Turetskiy
476ff78736 omp-low.c (lower_omp_critical): Mark critical sections inside target functions as offloadable.
gcc/
	* omp-low.c (lower_omp_critical): Mark critical sections
	inside target functions as offloadable.
libgomp/
	* testsuite/libgomp.c/target-critical-1.c: New test.

Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>

From-SVN: r218158
2014-11-28 13:59:49 +00:00
H.J. Lu
f672337f6d Update gcc.target/i386/pr63661.c
* gcc.target/i386/pr63661.c: Replace -mtune=native with
	-mtune=nehalem.
	(foo): Replace "!=" with delta.
	(main): Remove __builtin_printf.

From-SVN: r218157
2014-11-28 05:54:17 -08:00
Ilya Verbin
d8f2178020 lto-wrapper.c (run_gcc): Set have_lto and have_offload if at least one file contains sections with LTO...
gcc/
	* lto-wrapper.c (run_gcc): Set have_lto and have_offload if at least one
	file contains sections with LTO and offload IR, respectively.

From-SVN: r218156
2014-11-28 13:46:28 +00:00
Arnaud Charlet
6b2963e742 Update comments.
From-SVN: r218149
2014-11-28 14:22:29 +01:00
Arnaud Charlet
d200409415 Update copyright notice.
From-SVN: r218148
2014-11-28 14:22:06 +01:00
Ilya Verbin
f0d78df9de cgraphunit.c (ipa_passes): Handle flag_generate_offload.
gcc/
	* cgraphunit.c (ipa_passes): Handle flag_generate_offload.
	(symbol_table::compile): Set flag_generate_offload if there is something
	to offload.
	* common.opt (flag_generate_offload): New Variable declaration.
	* dwarf2out.c (dwarf2out_finish): Handle flag_generate_offload.
	* ipa-inline-analysis.c (inline_generate_summary): Do not skip if
	flag_generate_offload is set.
	* lto-streamer.c (gate_lto_out): Handle flag_generate_offload.
	* passes.c (ipa_write_summaries): Do not skip if flag_generate_offload
	is set.
	* toplev.c (compile_file): Emit LTO marker if offload info has been
	previously emitted.  Do not emit lto_slim marker if
	flag_generate_offload is without flag_generate_lto.
	* tree.c (free_lang_data): Do not skip if flag_generate_offload is set.

From-SVN: r218147
2014-11-28 12:23:55 +00:00
Kyrylo Tkachov
0f4fe89599 [ARM] Add -mcpu=cortex-a17.cortex-a7
* config/arm/arm-cores.def (cortex-a17.cortex-a7): New entry.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a17.cortex-a7.
	* config/arm/t-aprofile: Add cortex-a17.cortex-a7 entry to
	MULTILIB_MATCHES.

From-SVN: r218146
2014-11-28 12:17:40 +00:00
Kyrylo Tkachov
6c7e4a1815 [ARM] Add Cortex-A17 support
* config/arm/arm.md (generic_sched): Specify cortexa17 in 'no' list.
	Include cortex-a17.md.
	* config/arm/arm.c (arm_issue_rate): Specify 2 for cortexa17.
	* config/arm/arm-cores.def (cortex-a17): New entry.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=cortex-a17.
	* config/arm/cortex-a17.md: New file.
	* config/arm/cortex-a17-neon.md: New file.
	* config/arm/driver-arm.c (arm_cpu_table): Add entry for cortex-a17.
	* config/arm/t-aprofile: Add cortex-a17 entries to MULTILIB_MATCHES.

From-SVN: r218145
2014-11-28 11:59:34 +00:00
Renlin Li
70383ebcf0 Use native tune. nehalem is not able to triggle the issue in trunk any more.
2014-11-28  Renlin Li  <renlin.li@arm.com>

	PR  target/63661
	* gcc.target/i386/pr63661.c: Use native tune.

From-SVN: r218144
2014-11-28 11:18:47 +00:00
Renlin Li
2444640391 Add testcase for PR63661.
2014-11-28  Renlin Li  <renlin.li@arm.com>

	PR target/63661
	* gcc.target/i386/pr63661.c: New test.

From-SVN: r218143
2014-11-28 11:01:27 +00:00
Marek Polacek
541e35a6a3 re PR c/63862 (C frontend converts shift-count to int while standard wants integer promotions)
PR c/63862
c-family/
	* c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
	to op1_utype.
	* c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
	expression to unsigned_type_node.
c/
	* c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
	convert the right operand to integer type.
cp/
	* typeck.c (cp_build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
	convert the right operand to integer type.
testsuite/
	* gcc.c-torture/execute/shiftopt-1.c: Don't XFAIL anymore.
	* c-c++-common/ubsan/shift-7.c: New test.

From-SVN: r218142
2014-11-28 09:06:48 +00:00
Richard Biener
7e015fcefe re PR tree-optimization/64084 (match-and-simplify prefers complex matches)
2014-11-28  Richard Biener  <rguenther@suse.de>

	PR middle-end/64084
	* genmatch.c (dt_node::gen_kids_1): New function, split out
	from dt_node::gen_kids.
	(decision_tree::cmp_node): DT_TRUE are generally not equal.
	(decision_tree::find_node): Treat DT_TRUE as barrier for
	node CSE on the same level.
	(dt_node::append_node): Do not keep DT_TRUE last.
	(dt_node::gen_kids): Emit code after each DT_TRUE node seen.

	* gcc.dg/tree-ssa/ssa-ccp-34.c: New testcase.
	* gcc.dg/tree-ssa/forwprop-31.c: Likewise.

From-SVN: r218141
2014-11-28 08:57:43 +00:00
Ramana Radhakrishnan
abd5932ea9 Fix t-aprofile for march=armv8-a+crc
2014-11-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/t-aprofile (MULTILIB_MATCHES): New entry for
        -march=armv8-a+crc.

From-SVN: r218139
2014-11-28 08:21:10 +00:00
GCC Administrator
b1ba8e6aec Daily bump.
From-SVN: r218137
2014-11-28 00:16:26 +00:00
Uros Bizjak
a1a3ab657d i386.md (preferred_for_size): New attribute
* config/i386/i386.md (preferred_for_size): New attribute
	(*pushxf): Split Yx*r constraints to r,*r.  Use preferred_for_size
	attribute to conditionally disable alternative 1.
	(*pushdf): Split Yd*r constraints to r,*r.  Use preferred_for_size
	and prefered_for_speed attributes to conditionally disable
	alternative 1.
	(*movxf_internal): Split Yx*r constraints to r,*r.  Use
	preferred_for_size attribute to conditionally disable
	alternatives 3 and 4.
	(*movdf_internal): Split Yd*r constraints to r,*r.  Use
	preferred_for_size and prefered_for_speed attributes to conditionally
	disable alternatives 3 and 4.
	* config/i386/constraints.md (Yd, Yx): Remove register constraints.

From-SVN: r218134
2014-11-27 22:46:32 +01:00
Eric Botcazou
1a33633742 * dwarf2out.c (set_block_origin_self): Skip nested functions.
From-SVN: r218133
2014-11-27 21:15:16 +00:00
H.J. Lu
e8b5eb2553 Use R15_REG for REAL_PIC_OFFSET_TABLE_REGNUM
PR target/63833
	 * config/i386/i386.h (REAL_PIC_OFFSET_TABLE_REGNUM): Use
	 R15_REG for 64-bit.
	 * config/i386/rdos64.h (REAL_PIC_OFFSET_TABLE_REGNUM): Removed.

From-SVN: r218132
2014-11-27 13:03:32 -08:00
Bernd Schmidt
b9fb25a580 Add self as nvptx port maintainer.
* MAINTAINERS (nvptx port): New entry.

From-SVN: r218131
2014-11-27 20:58:53 +00:00
Kai Tietz
3c8c4e7d06 Disable pedantic warning for this testcase.
Committed as obvious patch

From-SVN: r218130
2014-11-27 21:49:44 +01:00
Martin Liska
c190efccf0 IPA ICF: fix memory leak.
* ipa-icf.c (sem_function::equals_private): int* is replaced with
	auto_vec.
	(sem_function::bb_dict_test): Likewise.
	* ipa-icf.h: Likewise.


Co-Authored-By: David Malcolm <dmalcolm@redhat.com>

From-SVN: r218129
2014-11-27 15:36:10 +00:00
Richard Biener
a92bf1b1c7 re PR middle-end/64088 (ICE: in fold_abs_const, at fold-const.c:15550)
2014-11-27  Richard Biener  <rguenther@suse.de>

	PR middle-end/64088
	* fold-const.c (const_unop): Re-instantiate missing condition
	before calling fold_abs_const.

	* gcc.dg/torture/pr64088.c: New testcase.

	PR tree-optimization/64088
	* tree-ssa-tail-merge.c (update_debug_stmt): After resetting
	the stmt break from the loop over use operands.

	* gcc.dg/torture/pr64091.c: New testcase.

From-SVN: r218128
2014-11-27 14:22:29 +00:00
Ilya Tocar
c17eac8561 Support avx512f in __builtin_cpu_supports.
gcc/

        * config/i386/cpuid.h (bit_MPX, bit_BNDREGS, bit_BNDCSR):
        Define.
        * config/i386/i386.c (get_builtin_code_for_version): Add avx512f.
        (fold_builtin_cpu): Ditto.
        * doc/extend.texi: Documment it.



gcc/testsuite/

        * g++.dg/ext/mv2.C: Add test for target ("avx512f").
        * gcc.target/i386/builtin_target.c: Ditto.



libgcc/

        * config/i386/cpuinfo.c (processor_features): Add FEATURE_AVX512F.
        * config/i386/cpuinfo.c (get_available_features): Detect it.

From-SVN: r218125
2014-11-27 16:51:10 +03:00
Tony Wang
1025cb6c0d lib1funcs.S (FUNC_START): Add conditional section redefine for macro L_arm_muldivsf3 and L_arm_muldivdf3.
2014-11-27  Tony Wang  <tony.wang@arm.com>

    libgcc/
    * config/arm/lib1funcs.S (FUNC_START): Add conditional section
    redefine for macro L_arm_muldivsf3 and L_arm_muldivdf3.
    (SYM_END, ARM_SYM_START): Add macros used to expose function Symbols.

From-SVN: r218124
2014-11-27 13:38:51 +00:00
Kai Tietz
4784470a7e re PR c++/63904 (ICE when accessing array member of constexpr struct)
2014-11-27  Kai Tietz  <ktietz@redhat.com>

	PR c++/63904
	* constexpr.c (cxx_eval_vec_init_1): Avoid
	type-overflow issue.

From-SVN: r218123
2014-11-27 14:02:45 +01:00
Kai Tietz
4c1bfef7c5 re PR c++/63904 (ICE when accessing array member of constexpr struct)
PR c++/63904
	* g++.dg/cpp0x/pr63904.C: New.

From-SVN: r218122
2014-11-27 13:56:58 +01:00
Jakub Jelinek
30d5d8c518 re PR middle-end/64067 (ICE in expand_expr_real_1, at expr.c:10540, involving compound literal shenanigans)
PR middle-end/64067
	* expr.c (expand_expr_addr_expr_1) <case COMPOUND_LITERAL_EXPR>:
	Handle it by returning address of COMPOUND_LITERAL_EXPR_DECL
	not only if modifier is EXPAND_INITIALIZER, but whenever
	COMPOUND_LITERAL_EXPR_DECL is non-NULL and TREE_STATIC.

	* gcc.c-torture/compile/pr64067.c: New test.

From-SVN: r218121
2014-11-27 12:04:16 +01:00
Jakub Jelinek
6c9e85fb8b re PR tree-optimization/64024 (gcc.dg/vect/vect-simd-clone-6.c ICEs)
PR tree-optimization/64024
	* tree-vectorizer.h (struct _stmt_vec_info): Remove simd_clone_fndecl
	field.  Add simd_clone_info field.
	(STMT_VINFO_SIMD_CLONE_FNDECL): Remove.
	(STMT_VINFO_SIMD_CLONE_INFO): Define.
	* tree-vect-stmts.c (vectorizable_simd_clone_call): Adjust for
	STMT_VINFO_SIMD_CLONE_FNDECL becoming first element of
	STMT_VINFO_SIMD_CLONE_INFO vector.  For linear arguments, remember
	base and linear_step from analysis phase and use it during transform
	phase, biased by the difference between LOOP_VINFO_NITERS{_UNCHANGED,}
	multiplied by linear_step.
	(free_stmt_vec_info): Release STMT_VINFO_SIMD_CLONE_INFO.

	* gcc.dg/vect/vect-simd-clone-13.c: New test.
	* gcc.dg/vect/vect-simd-clone-14.c: New test.

From-SVN: r218120
2014-11-27 12:03:12 +01:00
Jakub Jelinek
a7c7534348 re PR lto/64025 (Several testsuite execution failures with -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects)
PR lto/64025
	* alias.c (find_base_term): Use std::swap.  Prefer tmp2
	if it is CONSTANT_P other than CONST_INT.

From-SVN: r218119
2014-11-27 12:02:02 +01:00
Thomas Preud'homme
84593a48f6 re PR target/59593 ([arm big-endian] using "ldrh" access a immediate which stored in a memory by word)
2014-11-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR target/59593
    * config/arm/arm.c (dump_minipool): dispatch to consttable pattern
    based on mode size.
    * config/arm/arm.md (consttable_1): Move from config/arm/thumb1.md and
    make it TARGET_EITHER.
    (consttable_2): Move from config/arm/thumb1.md, make it TARGET_EITHER
    and move HFmode handling from consttable_4 to it.
    (consttable_4): Move HFmode handling to consttable_2 pattern.
    * config/arm/thumb1.md (consttable_1): Move to config/arm/arm.md.
    (consttable_2): Ditto.

    gcc/testsuite/
    PR target/59593
    * gcc.target/arm/constant-pool.c: New test.

From-SVN: r218118
2014-11-27 11:00:15 +00:00
Kyrylo Tkachov
687a5d7c39 [AArch64][test] Mark variable as volatile in vsqrt_f64 test
* gcc.target/aarch64/simd/vsqrt_f64_1.c: Mark variable volatile.

From-SVN: r218117
2014-11-27 10:02:19 +00:00
Richard Biener
ff7340933e tree-ssa-sccvn.c (try_to_simplify): Allow gimple_fold_stmt_to_constant_1 to follow SSA edges.
2014-11-27  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.c (try_to_simplify): Allow
	gimple_fold_stmt_to_constant_1 to follow SSA edges.

From-SVN: r218116
2014-11-27 10:00:15 +00:00
Richard Biener
e311c2d89a re PR middle-end/64083 (ICE: in fix_loop_structure, at loop-init.c:252 compiling Linux Kernel)
2014-11-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64083
	* tree-ssa-threadupdate.c (thread_through_all_blocks): Do not
	forcibly mark loop for removal the wrong way.

	* gcc.dg/torture/pr64083.c: New testcase.

From-SVN: r218115
2014-11-27 09:57:13 +00:00
Richard Biener
598f8eca02 re PR lto/63704 (-flto internal compiler error: in mems_in_disjoint_alias_sets_p, at alias.c:398)
2014-11-27  Richard Biener  <rguenther@suse.de>

	PR middle-end/63704
	* alias.c (mems_in_disjoint_alias_sets_p): Remove assert
	and instead return false when !fstrict-aliasing.

From-SVN: r218114
2014-11-27 09:51:32 +00:00