1. 05 Nov, 2015 4 commits
    • [Patch AArch64] Switch constant pools to separate rodata sections. · 61da5e46
      
              Now that PR63304 is fixed and we have an option to address
      any part of the memory using adrp / add or adrp / ldr instructions
      it makes sense to switch out literal pools into their own
      mergeable sections by default.
      
      This would mean that by default we could now start getting
      the benefits of constant sharing across the board, potentially
      improving code size. The other advantage of doing so, for the
      security conscious is that this prevents intermingling of literal
      pools with code.
      
      Wilco's kindly done some performance measurements and suggests that
      there is not really a performance regression in doing this.
      I've looked at the code size for SPEC2k6 today at -Ofast and
      in general there is a good code size improvement as expected
      by sharing said constants.
      
      Tested on aarch64-none-elf with no regressions and bootstrapped
      and regression tested in my tree for a number of days now.
      
      2015-11-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
              * config/aarch64/aarch64.c
              (aarch64_can_use_per_function_literal_pools_p): New.
              (aarch64_use_blocks_for_constant_p): Adjust declaration
              and use aarch64_can_use_function_literal_pools_p.
              (aarch64_select_rtx_section): Update.
      
      From-SVN: r229795
      Ramana Radhakrishnan committed
    • targhooks.c (default_get_mask_mode): Use BLKmode in case target doesn't support… · e219e495
      targhooks.c (default_get_mask_mode): Use BLKmode in case target doesn't support required vector mode.
      
      gcc/
      
      2015-10-29  Ilya Enkovich  <enkovich.gnu@gmail.com>
      
      	* targhooks.c (default_get_mask_mode): Use BLKmode in
      	case target doesn't support required vector mode.
      	* stor-layout.c (layout_type); Check for BLKmode.
      
      From-SVN: r229794
      Ilya Enkovich committed
    • loadpre2.c: Avoid undefined behavior due to uninitialized variables. · 175a31e4
      2015-11-05  Richard Biener  <rguenther@suse.de>
      
      	* gcc.dg/tree-ssa/loadpre2.c: Avoid undefined behavior due to
      	uninitialized variables.
      	* gcc.dg/tree-ssa/loadpre21.c: Likewise.
      	* gcc.dg/tree-ssa/loadpre22.c: Likewise.
      	* gcc.dg/tree-ssa/loadpre23.c: Likewise.
      	* gcc.dg/tree-ssa/loadpre24.c: Likewise.
      	* gcc.dg/tree-ssa/loadpre25.c: Likewise.
      	* gcc.dg/tree-ssa/loadpre4.c: Likewise.
      	* gcc.dg/ipa/inlinehint-2.c: Likewise.
      	* gcc.dg/ipa/pure-const-2.c: Likewise.
      	* gcc.dg/tree-ssa/loop-1.c: Likewise.
      	* gcc.dg/tree-ssa/loop-23.c: Likewise.
      	* gcc.dg/tree-ssa/pr22051-2.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-pre-3.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-sccvn-3.c: Likewise.
      	* gcc.dg/vect/pr30858.c: Likewise.
      	* gcc.dg/vect/pr33866.c: Likewise.
      	* gcc.dg/vect/pr37027.c: Likewise.
      	* c-c++-common/ubsan/null-10.c: Likewise.
      	* gcc.target/i386/incoming-8.c: Likewise.
      
      From-SVN: r229793
      Richard Biener committed
    • Daily bump. · 7f77442b
      From-SVN: r229790
      GCC Administrator committed
  2. 04 Nov, 2015 18 commits
    • (cp_parser_oacc_single_int_clause): New function. · 3ceed675
      	gcc/cp/
      	* (cp_parser_oacc_single_int_clause): New function.
      	(cp_parser_oacc_clause_vector_length): Delete.
      	(cp_parser_omp_clause_num_gangs): Delete.
      	(cp_parser_omp_clause_num_workers): Delete.
      	(cp_parser_oacc_all_clauses): Use cp_parser_oacc_single_int_clause
      	for num_gangs, num_workers and vector_length.
      
      From-SVN: r229786
      Cesar Philippidis committed
    • remove parameter_rename_map · 24bc7503
      This map was used in the transition to the new scop detection: with the new scop
      detection, we do not need this map anymore.
      
             * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
             Remove use of parameter_rename_map.
             (copy_def): Remove.
             (copy_internal_parameters): Remove.
             (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
             * sese.c (new_sese_info): Do not initialize parameter_rename_map.
             (free_sese_info): Do not free parameter_rename_map.
             (set_rename): Do not use parameter_rename_map.
             (rename_uses): Update call to set_rename.
             (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
             * sese.h (parameter_rename_map_t): Remove.
             (struct sese_info_t): Remove field parameter_rename_map.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r229783
      Aditya Kumar committed
    • improve debug of codegen · 1b38d3ec
      - fix printing of ISL stmt and parameter names
      - move dot_scop* functions outside of anonymous namespace.
      
        * graphite-isl-ast-to-gimple.c: Include tree-cfg.h.
        (translate_isl_ast_node_user): Add more dumps: call print_loops_bb.
        * graphite-scop-detection.c (dot_all_scops_1): Moved out of
        anonymous namespace.
        * graphite-sese-to-poly.c (ssa_name_version_typesize): Remove.
        (isl_id_for_pbb): Use a buffer of size 10.
        (isl_id_for_ssa_name): Same.
        * sese.c (set_rename): Add more dumps.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r229782
      Aditya Kumar committed
    • omp-low.c (struct omp_context): Remove reduction_map field. · b76e9910
      	* omp-low.c (struct omp_context): Remove reduction_map field.
      	(lookup_oacc_reduction, maybe_lookup_oacc_reduction): Delete.
      	(new_omp_context, delete_omp_context, scan_omp_target): Remove
      	reduction_map handling.
      	(lower_omp_target): Remove obsolete openacc reduction handling.
      
      From-SVN: r229781
      Nathan Sidwell committed
    • nvptx.c (nvptx_goacc_validate_dims): Add checking. · ccc8282b
      	gcc/
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add checking.
      
      	libgomp/
      	* testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
      	and reduction copy.
      	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
      
      From-SVN: r229780
      Nathan Sidwell committed
    • * gnat.dg/slice9.adb: New test. · a3afde42
      From-SVN: r229779
      Eric Botcazou committed
    • loop-red-g-1.c: New. · 5d6823a2
      	* libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
      	* libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
      	* libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
      	* libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
      	* libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
      	* libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
      	* libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
      	* libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
      
      From-SVN: r229770
      Nathan Sidwell committed
    • * gfortran.dg/goacc/reduction-2.f95: Delete. · 4d49f964
      From-SVN: r229769
      Nathan Sidwell committed
    • nvptx.c: Include gimple headers. · f3552158
      	* config/nvptx/nvptx.c: Include gimple headers.
      	(worker_red_size, worker_red_align, worker_red_name,
      	worker_red_sym): New.
      	(nvptx_option_override): Initialize worker reduction buffer.
      	(nvptx_file_end): Write out worker reduction buffer var.
      	(nvptx_expand_shuffle, nvptx_expand_worker_addr,
      	nvptx_expand_cmp_swap): New builtin expanders.
      	(enum nvptx_builtins): New.
      	(nvptx_builtin_decls): New.
      	(nvptx_builtin_decl, nvptx_init_builtins, nvptx_expand_builtin): New
      	(PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
      	(nvptx_get_worker_red_addr, nvptx_generate_vector_shuffle,
      	nvptx_lockless_update): New helpers.
      	(nvptx_goacc_reduction_setup, nvptx_goacc_reduction_init,
      	nvptx_goacc_reduction_fini, nvptx_goacc_reduction_teaddown): New.
      	(nvptx_goacc_reduction): New.
      	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN,
      	TARGET_BUILTIN_DECL): Override.
      	(TARGET_GOACC_REDUCTION): Override.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      
      From-SVN: r229768
      Nathan Sidwell committed
    • internal-fn.def (GOACC_REDUCTION): New. · e5014671
      	* internal-fn.def (GOACC_REDUCTION): New.
      	* internal-fn.h (enum ifn_goacc_reduction_kind): New.
      	* internal-fn.c (expand_GOACC_REDUCTION): New.
      	* target.def (goacc.reduction): New OpenACC hook.
      	* targhooks.h (default_goacc_reduction): Declare.
      	* doc/tm.texi.in: Add TARGET_GOACC_REDUCTION.
      	* doc/tm.texi: Rebuilt.
      	* omp-low.c (oacc_get_reduction_array_id, oacc_max_threads,
      	scan_sharing_clauses): Remove oacc reduction handling here.
      	(lower_rec_input_clauses): Don't handle OpenACC reductions here.
      	(oacc_lower_reduction_var_helper): Delete.
      	(lower_oacc_reductions): New.
      	(lower_reduction_clauses): Don't handle OpenACC reductions here.
      	(lower_oacc_head_tail): Call lower_oacc_reductions.
      	(oacc_gimple_assign, oacc_init_reduction_array,
      	oacc_initialize_reduction_data, oacc_finalize_reduction_data,
      	oacc_process_reduction_data): Delete.
      	(lower_omp_target): Remove old OpenACC reduction handling.  Insert
      	dummy OpenACC gang reduction for reductions at outer level.
      	(oacc_loop_xform_head_tail): Transform IFN_GOACC_REDUCTION.
      	(default_goacc_reduction): New.
      	(execute_oacc_device_lower): Handle IFN_GOACC_REDUCTION.
      
      From-SVN: r229767
      Nathan Sidwell committed
    • Pass manager: add support for termination of pass list · be373510
      	* cgraphunit.c (cgraph_node::expand_thunk): Call
      	allocate_struct_function before init_function_start.
      	(cgraph_node::expand): Use push_cfun and pop_cfun.
      	* config/i386/i386.c (ix86_code_end): Call
      	allocate_struct_function before init_function_start.
      	* config/rs6000/rs6000.c (rs6000_code_end): Likewise.
      	* function.c (init_function_start): Move preamble to all
      	callers.
      	* passes.c (do_per_function_toporder): Use push_cfun and pop_cfun.
      	(execute_one_pass): Handle newly added TODO_discard_function.
      	(execute_pass_list_1): Terminate if cfun equals to NULL.
      	(execute_pass_list): Do not push and pop cfun, expect that
      	cfun is set.
      	* tree-pass.h (TODO_discard_function): Define.
      
      From-SVN: r229764
      Martin Liska committed
    • ENABLE_CHECKING refactoring: remove remaining occurrences · a6c764d0
      libcpp/
      
      	* config.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Remove ENABLE_CHECKING.
      
      gcc/
      
      	* cfganal.c (inverted_post_order_compute): Remove conditional
      	compilation, use flag_checking.
      	* config.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Remove ENABLE_CHECKING.
      	* genconditions.c: Do not #undef ENABLE_CHECKING.
      	* sese.h (bb_in_region): Comment out broken check.
      	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa_1): Remove
      	conditional compilation, use flag_checking.
      
      From-SVN: r229758
      Mikhail Maltsev committed
    • ENABLE_CHECKING refactoring: C family front ends · 595278be
      gcc/c-family/
      
      	* c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
      	flag_checking.
      
      gcc/cp/
      
      	* call.c (validate_conversion_obstack): Define unconditionally.
      	* constexpr.c (maybe_constant_value, fold_non_dependent_expr): Use
      	gcc_checking_assert.
      	* cp-tree.h: Use CHECKING_P instead of ENABLE_CHECKING.
      	* decl2.c (cxx_post_compilation_parsing_cleanups): Use flag_checking.
      	* mangle.c (add_substitution): Likewise.
      	* method.c (maybe_explain_implicit_delete): Likewise.
      	* parser.c (cp_parser_template_argument_list): Remove conditional
      	compilation.
      	* pt.c (check_unstripped_args): Rename to...
      	(verify_unstripped_args): ... this and remove conditional compilation.
      	(retrieve_specialization): Guard call of verify_unstripped_args with
      	flag_checking.
      	(template_parm_to_arg): Remove conditional compilation.
      	(template_parms_to_args, coerce_template_parameter_pack,
      	coerce_template_parms): Likewise.
      	(tsubst_copy): Use flag_checking.
      	(type_unification_real): Remove conditional compilation.
      	(build_non_dependent_expr): Use flag_checking.
      	* tree.c (build_target_expr): Remove conditional compilation, use
      	gcc_checking_assert.
      	* typeck.c (comptypes): Likewise.
      	* typeck2.c (digest_init_r): Likewise.
      
      From-SVN: r229756
      Mikhail Maltsev committed
    • Handle recursive restrict in function parameter · 7da5eaa0
      2015-11-04  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/67742
      	* tree-ssa-structalias.c (struct fieldoff): Add restrict_pointed_type
      	field.
      	(push_fields_onto_fieldstack): Handle restrict_pointed_type field.
      	(create_variable_info_for_1): Add and handle handle_param parameter.
      	Add restrict handling.
      	(create_variable_info_for): Call create_variable_info_for_1 with extra
      	arg.
      	(make_param_constraints): Drop restrict_name parameter.  Ignore
      	vi->only_restrict_pointers.
      	(intra_create_variable_infos): Call create_variable_info_for_1 with
      	extra arg.  Remove restrict handling.  Call make_param_constraints with
      	one less arg.
      
      	* gcc.dg/tree-ssa/restrict-7.c: New test.
      	* gcc.dg/tree-ssa/restrict-8.c: New test.
      
      From-SVN: r229755
      Tom de Vries committed
    • Use decl_type in create_variable_info_for_1 · 7b0a0ee2
      2015-11-04  Tom de Vries  <tom@codesourcery.com>
      
      	* tree-ssa-structalias.c (create_variable_info_for_1): Use decl_type
      	variable.
      
      From-SVN: r229754
      Tom de Vries committed
    • * gnat.dg/slice9.adb: New test. · 78847ba3
      From-SVN: r229735
      Eric Botcazou committed
    • gotest: fix handling of --goarch option · aa3ba34f
          
          I managed to add a new --goarch option to gotest without noticing that
          the script already had one.  Worse, they set different variables.
          Remove the old option in favor of the new one.
          
          Reviewed-on: https://go-review.googlesource.com/16613
      
      From-SVN: r229734
      Ian Lance Taylor committed
    • Daily bump. · bfd4a4de
      From-SVN: r229731
      GCC Administrator committed
  3. 03 Nov, 2015 18 commits
    • remove usage of ROUND_TYPE_SIZE from encoding.c · 4ee6515e
      gcc got rid of this target macro in 2003, so it seems safe to assume the
      alternate path works fine on all targets.
      
      libobjc/ChangeLog:
      
      2015-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	PR libobjc/24775
      	* encoding.c (objc_layout_finish_structure): Remove usage of
      	ROUND_TYPE_SIZE.
      
      From-SVN: r229727
      Trevor Saunders committed
    • remove unused config/arm/coff.h · d10e1bb5
      gcc/ChangeLog:
      
      2015-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* config/arm/coff.h: Remove.
      
      From-SVN: r229726
      Trevor Saunders committed
    • Handle auto parameter packs. · bfb014c3
      	* pt.c (struct find_parameter_pack_data): Add
      	type_pack_expansion_p field.
      	(find_parameter_packs_r): Use it to turn 'auto' into a parameter pack.
      	(uses_parameter_packs, make_pack_expansion)
      	(check_for_bare_parameter_packs, fixed_parameter_pack_p): Set it.
      
      From-SVN: r229722
      Jason Merrill committed
    • libgomp.h (struct acc_dispatch_t): Remove args from exec_func. · 5c06742f
      	* libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
      	* plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
      	(GOMP_OFFLOAD_openacc_parallel): Likewise.
      	* oacc-host.c (host_openacc_exec): Likewise.
      	* oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
      
      From-SVN: r229721
      Nathan Sidwell committed
    • lex.c (search_line_sse42): Correctly advance the pointer to an aligned address. · 49445904
      	* lex.c (search_line_sse42): Correctly advance the pointer to an
      	aligned address.
      
      From-SVN: r229718
      Uros Bizjak committed
    • re PR c/67882 (surprising offsetof result on an invalid array member without diagnostic) · c85158de
      PR c++-common/67882
      
      	* c-family/c-common.h (fold_offsetof_1): Add argument.
      	* c-family/c-common.c (fold_offsetof_1): Diagnose more invalid
      	offsetof expressions that reference elements past the end of
      	an array.
      
              * c-c++-common/builtin-offsetof-2.c: New test.
      
      From-SVN: r229717
      Martin Sebor committed
    • re PR fortran/67982 (Incorrect -Wunused-function warning) · aa3d3385
      2015-11-03  Dominique d'Humieres <dominiq@lps.ens.fr>
      
      	PR fortran/67982
      	* gfortran.dg/warn_unused_function_3.f90: New test.
      
      From-SVN: r229716
      Dominique d'Humieres committed
    • Remove superfluous gcc/ prefixes · 26eaa5a5
      From-SVN: r229715
      Eric Botcazou committed
    • gimple-expr.c (useless_type_conversion_p): Reinstate type canonical check for… · 5993d1c9
      gimple-expr.c (useless_type_conversion_p): Reinstate type canonical check for aggregate types and beef up comment for mode...
      
      	* gimple-expr.c (useless_type_conversion_p): Reinstate type canonical
      	check for aggregate types and beef up comment for mode check.
      
      From-SVN: r229714
      Eric Botcazou committed
    • * libsupc++/new: Declare sized deletes. · 34148d68
      From-SVN: r229713
      Jason Merrill committed
    • tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect data references here. · 428db0ba
      2015-11-03  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect
      	data references here.
      	* tree-vect-loop.c: Include cgraph.h.
      	(vect_analyze_loop_2): Collect data references here.
      	* tree-vect-slp.c (find_bb_location): Inline ...
      	(vect_slp_bb): ... here.  Renamed from vect_slp_analyze_bb.
      	Factor in vect_slp_transform_bb.
      	(vect_slp_transform_bb): Removed.
      	(vect_slp_analyze_bb_1): Collect data references here.
      	* tree-vectorizer.c (pass_slp_vectorize::execute): Call
      	vect_slp_bb.
      	* tree-vectorizer.h (vect_slp_bb): Declare.
      	(vect_slp_analyze_bb): Remove.
      	(vect_slp_transform_bb): Remove.
      	(find_bb_location): Remove.
      	(vect_analyze_data_refs): Remove stmt count reference parameter.
      
      From-SVN: r229712
      Richard Biener committed
    • 2015-11-03 Paolo Carlini <paolo.carlini@oracle.com> · 32fec2c8
      	* Wrap ChangeLog entries to 80 columns.
      
      From-SVN: r229707
      Paolo Carlini committed
    • multiple_target.c (create_dispatcher_calls): Add target check on ifunc. · f9477999
      2015-11-03  Evgeny Stupachenko  <evstupac@gmail.com>
      
      gcc/
      	* multiple_target.c (create_dispatcher_calls): Add target check
      	on ifunc.
      	(create_target_clone): Change assembler name for versioned declarations.
      gcc/testsuite/
      	* g++.dg/ext/mvc4.C: Add dg-require-ifunc condition.
      	* gcc.target/i386/mvc5.c: Ditto.
      	* gcc.target/i386/mvc7.c: Add dg-require-ifunc condition and checks on
      	resolver.
      
      From-SVN: r229706
      Evgeny Stupachenko committed
    • OpenACC atomic directive · 4bf9e5a8
      	gcc/c-family/
      	* c-pragma.c (oacc_pragmas): Add "atomic".
      	* c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
      	gcc/c/
      	* c-parser.c (c_parser_omp_construct): Handle PRAGMA_OACC_ATOMIC.
      	gcc/cp/
      	* parser.c (cp_parser_omp_construct, cp_parser_pragma): Handle
      	PRAGMA_OACC_ATOMIC.
      	gcc/fortran/
      	* gfortran.h (gfc_statement): Add ST_OACC_ATOMIC,
      	ST_OACC_END_ATOMIC.
      	(gfc_exec_op): Add EXEC_OACC_ATOMIC.
      	* match.h (gfc_match_oacc_atomic): New prototype.
      	* openmp.c (gfc_match_omp_atomic, gfc_match_oacc_atomic): New
      	wrapper functions around...
      	(gfc_match_omp_oacc_atomic): ... this new function.
      	(oacc_code_to_statement, gfc_resolve_oacc_directive): Handle
      	EXEC_OACC_ATOMIC.
      	* parse.c (decode_oacc_directive): Handle "atomic", "end atomic".
      	(case_exec_markers): Add ST_OACC_ATOMIC.
      	(gfc_ascii_statement): Handle ST_OACC_ATOMIC, ST_OACC_END_ATOMIC.
      	(parse_omp_atomic): Rename to...
      	(parse_omp_oacc_atomic): ... this new function.  Add omp_p formal
      	parameter.  Adjust all users.
      	(parse_executable): Handle ST_OACC_ATOMIC.
      	(is_oacc): Handle EXEC_OACC_ATOMIC.
      	* resolve.c (gfc_resolve_blocks, gfc_resolve_code): Handle
      	EXEC_OACC_ATOMIC.
      	* st.c (gfc_free_statement): Handle EXEC_OACC_ATOMIC.
      	* trans-openmp.c (gfc_trans_oacc_directive): Handle
      	EXEC_OACC_ATOMIC.
      	* trans.c (trans_code): Handle EXEC_OACC_ATOMIC.
      	gcc/
      	* builtins.def (DEF_GOMP_BUILTIN): Enable for flag_openacc.
      	* omp-low.c (check_omp_nesting_restrictions): Allow
      	GIMPLE_OMP_ATOMIC_LOAD, GIMPLE_OMP_ATOMIC_STORE inside OpenACC
      	contexts.
      	gcc/testsuite/
      	* c-c++-common/goacc-gomp/nesting-fail-1.c: Move "atomic" tests
      	from here to...
      	* c-c++-common/goacc-gomp/nesting-1.c: ... here, and expect them
      	to succeed.
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
      	file.
      	* testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
      	* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
      	* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
      	* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
      	* testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
      
      From-SVN: r229703
      Thomas Schwinge committed
    • [AARCH64][PATCH 1/3] Implementing the variants of the vmulx_ NEON intrinsic · 496ea87d
      gcc/
      
      	* config/aarch64/aarch64-simd-builtins.def (fmulx): New.
      	* config/aarch64/aarch64-simd.md (aarch64_fmulx<mode>): New.
      	* config/aarch64/arm_neon.h (vmulx_f32): Rewrite to call fmulx
      	builtin.
      	(vmulxq_f32): Likewise.
      	(vmulx_f64): New.
      	(vmulxq_f64): Rewrite to call fmulx builtin.
      	(vmulxs_f32): Likewise.
      	(vmulxd_f64): Likewise.
      	(vmulx_lane_f32): Remove.
      	* config/aarch64/iterators.md (UNSPEC): Add fmulx.
      
      gcc/testsuite/
      
      	* gcc/testsuite/gcc.target/aarch64/simd/vmulx_f32_1.c: New.
      	* gcc/testsuite/gcc.target/aarch64/simd/vmulx_f64_1.c: New.
      	* gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f32_1.c: New.
      	* gcc/testsuite/gcc.target/aarch64/simd/vmulxq_f64_1.c: New.
      	* gcc/testsuite/gcc.target/aarch64/simd/vmulxs_f32_1.c: New.
      	* gcc/testsuite/gcc.target/aarch64/simd/vmulxd_f64_1.c: New.
      
      From-SVN: r229702
      Bilyan Borisov committed
    • [AArch64] Fix ICE on (const_double:HF 0.0) · 04f725b9
      gcc/:
      
      	* config/aarch64/aarch64.md (*movhf_aarch64): Use
      	aarch64_reg_or_fp_zero for second operand.
      
      gcc/testsuite/:
      
      	* gcc.target/aarch64/fp16/set_zero_1.c: New.
      
      From-SVN: r229701
      Alan Lawrence committed
    • ChangeLog: Fix whitespace. · c7cf4ff9
      	* ChangeLog: Fix whitespace.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r229700
      Uros Bizjak committed