1. 18 Jan, 2019 16 commits
  2. 17 Jan, 2019 24 commits
    • re PR target/88734 (AArch64's ACLE intrinsics give an ICE instead of compile… · a85f2b90
      re PR target/88734 (AArch64's ACLE intrinsics give an ICE instead of compile error when option mismatch.)
      
      	PR target/88734
      	* config/aarch64/arm_neon.h: Fix #pragma GCC target syntax - replace
      	(("..."))) with ("...").  Use arch=armv8.2-a+sha3 instead of
      	arch=armv8.2-a+crypto for vsha512hq_u64 etc. intrinsics.
      
      From-SVN: r268049
      Jakub Jelinek committed
    • PR middle-end/88273 - [8/9 Regression] warning: 'memcpy' offset [-527, -529] · 77efc5c2
      PR middle-end/88273 - [8/9 Regression] warning: 'memcpy' offset [-527, -529]
      is out of the bounds [0, 16]
      
      gcc/ChangeLog:
      
      	PR middle-end/88273
      	* gimple-ssa-warn-restrict.c (builtin_memref::extend_offset_range):
      	Handle anti-ranges the same as no range at all.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/88273
      	* gcc.dg/Warray-bounds-38.c: New test.
      
      From-SVN: r268048
      Martin Sebor committed
    • Improve the C error for mismatched array string literal initialization. · 17ad43dd
      	* c-typeck.c (digest_init): Revised the error message produced for
      	ill-formed cases of array initialization with a string literal.
      	(error_init): Make variadic.
      
      Co-Authored-By: Jason Merrill <jason@redhat.com>
      
      From-SVN: r268047
      Tom Honermann committed
    • PR c++/86740, ICE with constexpr if and nested generic lambdas. · f18aa3a4
      When we partially instantiate the constexpr if, we walk through its body to
      see what it uses from the enclosing local_specializations.  That walk was
      overlooking the use of 'count' in the captures of the innermost lambda,
      because we weren't walking into the capture list.
      
      	* tree.c (cp_walk_subtrees): Handle LAMBDA_EXPR.
      
      From-SVN: r268046
      Jason Merrill committed
    • pr60823-1.c: Add aarch64 specific warning checks and assembler scans. · ba29ed0f
      2018-01-17  Steve Ellcey  <sellcey@cavium.com>
      
      	* c-c++-common/gomp/pr60823-1.c: Add aarch64 specific
      	warning checks and assembler scans.
      	* c-c++-common/gomp/pr60823-3.c: Ditto.
      	* c-c++-common/gomp/pr63328.c: Ditto.
      	* g++.dg/gomp/declare-simd-1.C: Ditto.
      	* g++.dg/gomp/declare-simd-3.C: Ditto.
      	* g++.dg/gomp/declare-simd-4.C: Ditto.
      	* g++.dg/gomp/declare-simd-7.C: Ditto.
      	* g++.dg/gomp/pr88182.C: Ditto.
      	* g++.dg/vect/simd-clone-7.cc: Ditto.
      	* gcc.dg/gomp/declare-simd-1.c: Ditto.
      	* gcc.dg/gomp/declare-simd-3.c: Ditto.
      	* gcc.dg/gomp/pr59669-2.c: Ditto.
      	* gcc.dg/gomp/pr87895-1.c: Ditto.
      	* gcc.dg/gomp/pr87895-2.c: Ditto.
      	* gcc.dg/gomp/simd-clones-2.c: Ditto.
      	* gfortran.dg/gomp/declare-simd-2.f90: Ditto.
      	* gfortran.dg/gomp/pr79154-1.f90: Ditto.
      	* gfortran.dg/gomp/pr83977.f90: Ditto.
      
      From-SVN: r268045
      Steve Ellcey committed
    • aarch64.c (cgraph.h): New include. · d9186814
      2018-01-17  Steve Ellcey  <sellcey@cavium.com>
      
      	* config/aarch64/aarch64.c (cgraph.h): New include.
      	(intl.h): New include.
      	(supported_simd_type): New function.
      	(currently_supported_simd_type): Ditto.
      	(aarch64_simd_clone_compute_vecsize_and_simdlen): Ditto.
      	(aarch64_simd_clone_adjust): Ditto.
      	(aarch64_simd_clone_usable): Ditto.
      	(TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New macro.
      	(TARGET_SIMD_CLONE_ADJUST): Ditto.
      	(TARGET_SIMD_CLONE_USABLE): Ditto.
      	* config/i386/i386.c (ix86_simd_clone_adjust): Add definition check.
      	* omp-simd-clone.c (expand_simd_clones): Add targetm.simd_clone.adjust
      	call.
      
      From-SVN: r268044
      Steve Ellcey committed
    • decl.c (grokdeclarator): Use typespec_loc in error messages about 'auto' and trailing return type. · 742b6dc4
      /cp
      2019-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (grokdeclarator): Use typespec_loc in error messages
      	about 'auto' and trailing return type.
      
      /testsuite
      2019-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp0x/auto52.C: Test locations too.
      	* g++.dg/cpp0x/trailing2.C: Likewise.
      	* g++.dg/cpp1y/auto-fn18.C: Likewise.
      	* g++.dg/cpp1y/auto-fn25.C: Likewise.
      	* g++.dg/cpp1y/auto-fn52.C: Likewise.
      	* g++.dg/cpp1y/auto-fn53.C: Likewise.
      	* g++.dg/cpp1y/auto-fn54.C: Likewise.
      
      From-SVN: r268043
      Paolo Carlini committed
    • C++: Fix ICE when adding overloaded operator via using_decl (PR c++/88699) · b9e03679
      PR c++/88699 reports an ICE within this assertion in add_method:
      
        gcc_assert (!current_fns || !DECL_DESTRUCTOR_P (method));
      
      when adding an overloaded operator to a class via a using_decl, due to
      DECL_DESTRUCTOR_P requiring a FUNCTION_DECL, but "method" being a
      USING_DECL.
      
      This patch weakens the assertion to avoid testing DECL_DESTRUCTOR_P
      for the case where "via_using" is true, fixing the ICE.
      
      gcc/cp/ChangeLog:
      	PR c++/88699
      	* class.c (add_method): Don't use DECL_DESTRUCTOR_P on
      	USING_DECLs.
      
      gcc/testsuite/ChangeLog:
      	PR c++/88699
      	* g++.dg/template/pr88699.C: New test.
      
      From-SVN: r268041
      David Malcolm committed
    • PR tree-optimization/88800 - Spurious -Werror=array-bounds for non-taken branch · 213694e5
      gcc/ChangeLog:
      
      	PR tree-optimization/88800
      	* gimple-fold.c (gimple_fold_builtin_memory_op): Avoid checking
      	NO_WARNING bit here.  Avoid folding out-of-bounds calls.
      	* gimple-ssa-warn-restrict.c (maybe_diag_offset_bounds): Remove
      	redundant argument.  Add new argument and issue diagnostics under
      	its control.  Detect out-of-bounds access even with warnings
      	disabled.
      	(check_bounds_or_overlap): Change return type.  Add argument.
      	(wrestrict_dom_walker::check_call): Adjust.
      	* gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Add argument.
      	* tree-ssa-strlen.c (handle_builtin_strcpy): Adjust to change in
      	check_bounds_or_overlap's return value.
      	(handle_builtin_stxncpy): Same.
      	(handle_builtin_strcat): Same.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/88800
      	* c-c++-common/Wrestrict.c: Adjust.
      	* gcc.dg/Warray-bounds-37.c: New test.
      	* gcc.dg/builtin-memcpy-2.c: New test.
      	* gcc.dg/builtin-memcpy.c: New test.
      
      From-SVN: r268037
      Martin Sebor committed
    • Fix filesystem::equivalent for mingw · 16d46c7b
      	* src/c++17/fs_ops.cc
      	(equivalent(const path&, const path&, error_code&))
      	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use GetFileInformationByHandle to
      	compare files instead of relying on incomplete info returned by stat.
      
      From-SVN: r268036
      Jonathan Wakely committed
    • PR libstdc++/88884 fix filesystem::absolute("//") for mingw · fc6f857b
      	PR libstdc++/88884
      	* src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing
      	if the path is already absolute.
      	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Normalize root-directory.
      	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path.
      
      From-SVN: r268035
      Jonathan Wakely committed
    • PR libstdc++/88881 adjust filesystem::status and tests for mingw semantics · dd0f7ba2
      On Windows stat("foo/bar/../.") will resolve to "foo" even if that is a
      non-directory and "foo/bar" does not exist. This is the expected
      behaviour and consistent with boost::filesystem, so don't try to correct
      it. The only unwanted behaviour is that stat("baz/") fails due to a
      mingw bug (fixed in mingw-w64 v6.0.0) so add a workaround.
      
      	PR libstdc++/88881
      	* src/c++17/fs_ops.cc (canonical(const path&, error_code&))
      	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Normalize path, to match behaviour
      	of filesystem::exists.
      	(create_directories(const path&, error_code&)): Add assertions.
      	(status(const path&, error_code&)) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]:
      	Add workaround for bug in _wstat for paths with trailing slash.
      	* testsuite/27_io/filesystem/operations/create_directories.cc: Adjust
      	for expected behaviour on mingw.
      	* testsuite/experimental/filesystem/operations/create_directories.cc:
      	Likewise.
      	* testsuite/27_io/filesystem/operations/temp_directory_path.cc: Use
      	"TMP" instead of "TMPDIR" and clean environment before each test. Do
      	not test permissions on mingw targets.
      
      From-SVN: r268034
      Jonathan Wakely committed
    • Fix Arm testcase by using NEON. · a9e48eaa
      gcc/testsuite/ChangeLog:
      
      	PR target/88850
      	* gcc.target/arm/pr51968.c: Use neon intrinsics.
      
      From-SVN: r268033
      Tamar Christina committed
    • [libbacktrace] Add btest_dwz test-case · 10f48858
      Add test-case to verify that libbacktrace can read debug info that was
      compressed with dwz.
      
      2019-01-17  Tom de Vries  <tdevries@suse.de>
      
      	PR libbacktrace/82857
      	* configure.ac (DWZ): Set with AC_CHECK_PROG.
      	(HAVE_DWZ): Set with AM_CONDITIONAL.
      	* configure: Regenerate.
      	* Makefile.am (TESTS): Add btest_dwz.
      	* Makefile.in: Regenerate.
      
      From-SVN: r268032
      Tom de Vries committed
    • [libbacktrace] Handle DW_FORM_GNU_ref_alt · 1c2a9a37
      Handle DW_FORM_GNU_ref_alt which references the .debug_info section in the
      .gnu_debugaltlink file.
      
      2019-01-17  Tom de Vries  <tdevries@suse.de>
      
      	PR libbacktrace/82857
      	* dwarf.c (enum attr_val_encoding): Add ATTR_VAL_REF_ALT_INFO.
      	(read_attribute): Handle DW_FORM_GNU_ref_alt using
      	ATTR_VAL_REF_ALT_INFO.
      	(read_referenced_name_from_attr): Handle DW_FORM_GNU_ref_alt.
      
      From-SVN: r268031
      Tom de Vries committed
    • [libbacktrace] Add find_unit · 9d576782
      Add a function that finds the unit given an offset into .debug_info.
      
      2019-01-17  Tom de Vries  <tdevries@suse.de>
      
      	* dwarf.c (struct unit): Add low_offset and high_offset fields.
      	(struct unit_vector): New type.
      	(struct dwarf_data): Add units and units_counts fields.
      	(find_unit): New function.
      	(find_address_ranges): Add and handle unit_tag parameter.
      	(build_address_map): Add and handle units_vec parameter.
      	(build_dwarf_data): Pass units_vec to build_address_map.  Store resulting
      	units vector.
      
      From-SVN: r268030
      Tom de Vries committed
    • Port testsuite to GCN · 674931d2
      This collection of miscellaneous patches configures the testsuite to run on AMD
      GCN in a standalone (i.e. not offloading) configuration.  It assumes you have
      your Dejagnu set up to run binaries via the gcn-run tool.
      
      2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
      	    Kwok Cheung Yeung  <kcy@codesourcery.com>
      	    Julian Brown  <julian@codesourcery.com>
      	    Tom de Vries  <tom@codesourcery.com>
      
      	gcc/
      	* doc/sourcebuild.texi: Document dg-add-options sqrt_insn.
      
      	gcc/testsuite/
      	* gcc.dg/20020312-2.c: Add amdgcn support.
      	* gcc.dg/Wno-frame-address.c: Disable on amdgcn.
      	* gcc.dg/builtin-apply2.c: Likewise.
      	* gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise.
      	* gcc.dg/gimplefe-28.c: Add dg-add-options for sqrt_insn.
      	* gcc.dg/intermod-1.c: Add -mlocal-symbol-id on amdgcn.
      	* gcc.dg/memcmp-1.c: Increase timeout factor.
      	* gcc.dg/pr59605-2.c: Addd -DMAX_COPY=1025 on amdgcn.
      	* gcc.dg/sibcall-10.c: xfail on amdgcn.
      	* gcc.dg/sibcall-9.c: Likewise.
      	* gcc.dg/tree-ssa/gen-vect-11c.c: Likewise.
      	* gcc.dg/tree-ssa/pr84512.c: Likewise.
      	* gcc.dg/tree-ssa/loop-1.c: Adjust expectations for amdgcn.
      	* gfortran.dg/bind_c_array_params_2.f90: Likewise.
      	* lib/target-supports.exp (check_effective_target_trampolines):
      	Configure amdgcn.
      	(check_profiling_available): Likewise.
      	(check_effective_target_global_constructor): Likewise.
      	(check_effective_target_return_address): Likewise.
      	(check_effective_target_fopenacc): Likewise.
      	(check_effective_target_fopenmp): Likewise.
      	(check_effective_target_vect_int): Likewise.
      	(check_effective_target_vect_intfloat_cvt): Likewise.
      	(check_effective_target_vect_uintfloat_cvt): Likewise.
      	(check_effective_target_vect_floatint_cvt): Likewise.
      	(check_effective_target_vect_floatuint_cvt): Likewise.
      	(check_effective_target_vect_simd_clones): Likewise.
      	(check_effective_target_vect_shift): Likewise.
      	(check_effective_target_whole_vector_shift): Likewise.
      	(check_effective_target_vect_bswap): Likewise.
      	(check_effective_target_vect_shift_char): Likewise.
      	(check_effective_target_vect_long): Likewise.
      	(check_effective_target_vect_float): Likewise.
      	(check_effective_target_vect_double): Likewise.
      	(check_effective_target_vect_perm): Likewise.
      	(check_effective_target_vect_perm_byte): Likewise.
      	(check_effective_target_vect_perm_short): Likewise.
      	(check_effective_target_vect_widen_mult_qi_to_hi): Likewise.
      	(check_effective_target_vect_widen_mult_hi_to_si): Likewise.
      	(check_effective_target_vect_widen_mult_qi_to_hi_pattern): Likewise.
      	(check_effective_target_vect_widen_mult_hi_to_si_pattern): Likewise.
      	(check_effective_target_vect_natural_alignment): Likewise.
      	(check_effective_target_vect_fully_masked): Likewise.
      	(check_effective_target_vect_element_align): Likewise.
      	(check_effective_target_vect_masked_store): Likewise.
      	(check_effective_target_vect_scatter_store): Likewise.
      	(check_effective_target_vect_condition): Likewise.
      	(check_effective_target_vect_cond_mixed): Likewise.
      	(check_effective_target_vect_char_mult): Likewise.
      	(check_effective_target_vect_short_mult): Likewise.
      	(check_effective_target_vect_int_mult): Likewise.
      	(check_effective_target_sqrt_insn): Likewise.
      	(check_effective_target_vect_call_sqrtf): Likewise.
      	(check_effective_target_vect_call_btrunc): Likewise.
      	(check_effective_target_vect_call_btruncf): Likewise.
      	(check_effective_target_vect_call_ceil): Likewise.
      	(check_effective_target_vect_call_floorf): Likewise.
      	(check_effective_target_lto): Likewise.
      	(check_vect_support_and_set_flags): Likewise.
      	(check_effective_target_vect_stridedN): Enable when fully masked is
      	available.
      	(add_options_for_sqrt_insn): New procedure.
      
      
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r268028
      Andrew Stubbs committed
    • Ignore LLVM's blank lines. · b50002c4
      The GCN toolchain must use the LLVM assembler and linker because there's no
      binutils port.  The LLVM tools do not have the same diagnostic style as
      binutils, so the "blank line(s) in output" tests are inappropriate (and very
      noisy).
      
      The LLVM tools also have different command line options, so it's not possible
      to autodetect object formats in the same way.
      
      This patch addresses both issues.
      
      2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* doc/sourcebuild.texi: Document dg-require-effective-target
      	llvm_binutils and offload_gcn.
      
      	gcc/testsuite/
      	* lib/file-format.exp (gcc_target_object_format): Handle AMD GCN.
      	* lib/gcc-dg.exp (gcc-dg-prune): Ignore blank lines from the LLVM
      	linker.
      	* lib/target-supports.exp (check_effective_target_llvm_binutils): New.
      
      From-SVN: r268027
      Andrew Stubbs committed
    • Testsuite: GCN is always PIE. · 90eb9be6
      The GCN/HSA loader ignores the load address and uses a random location, so we
      build all GCN binaries as PIE, by default.
      
      This patch makes the necessary testsuite adjustments to make this work
      correctly.
      
      2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/testsuite/
      	* gcc.dg/graphite/scop-19.c: Check pie_enabled.
      	* gcc.dg/pic-1.c: Disable on amdgcn.
      	* gcc.dg/pic-2.c: Disable on amdgcn.
      	* gcc.dg/pic-3.c: Disable on amdgcn.
      	* gcc.dg/pic-4.c: Disable on amdgcn.
      	* gcc.dg/pie-3.c: Disable on amdgcn.
      	* gcc.dg/pie-4.c: Disable on amdgcn.
      	* gcc.dg/uninit-19.c: Check pie_enabled.
      	* lib/target-supports.exp (check_effective_target_pie): Add amdgcn.
      
      From-SVN: r268026
      Andrew Stubbs committed
    • Add dg-require-effective-target exceptions · 3f21b8e3
      There are a number of tests that fail because they assume that exceptions are
      available, but GCN does not support them, yet.
      
      This patch adds "dg-require-effective-target exceptions" in all the affected
      tests.  There's probably an automatic way to test for exceptions, but the
      current implementation simply says that AMD GCN does not support them.  This
      should ensure that no other targets are affected by the change.
      
      2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
      	    Kwok Cheung Yeung  <kcy@codesourcery.com>
      	    Julian Brown  <julian@codesourcery.com>
      	    Tom de Vries  <tom@codesourcery.com>
      
      	gcc/
      	* doc/sourcebuild.texi: Document dg-required-effective-target
      	exceptions.
      
      	gcc/testsuite/
      	* c-c++-common/ubsan/pr71512-1.c: Require exceptions.
      	* c-c++-common/ubsan/pr71512-2.c: Require exceptions.
      	* gcc.c-torture/compile/pr34648.c: Require exceptions.
      	* gcc.c-torture/compile/pr41469.c: Require exceptions.
      	* gcc.dg/20111216-1.c: Require exceptions.
      	* gcc.dg/cleanup-10.c: Require exceptions.
      	* gcc.dg/cleanup-11.c: Require exceptions.
      	* gcc.dg/cleanup-12.c: Require exceptions.
      	* gcc.dg/cleanup-13.c: Require exceptions.
      	* gcc.dg/cleanup-5.c: Require exceptions.
      	* gcc.dg/cleanup-8.c: Require exceptions.
      	* gcc.dg/cleanup-9.c: Require exceptions.
      	* gcc.dg/gomp/pr29955.c: Require exceptions.
      	* gcc.dg/lto/pr52097_0.c: Require exceptions.
      	* gcc.dg/nested-func-5.c: Require exceptions.
      	* gcc.dg/pch/except-1.c: Require exceptions.
      	* gcc.dg/pch/valid-2.c: Require exceptions.
      	* gcc.dg/pr41470.c: Require exceptions.
      	* gcc.dg/pr42427.c: Require exceptions.
      	* gcc.dg/pr44545.c: Require exceptions.
      	* gcc.dg/pr47086.c: Require exceptions.
      	* gcc.dg/pr51481.c: Require exceptions.
      	* gcc.dg/pr51644.c: Require exceptions.
      	* gcc.dg/pr52046.c: Require exceptions.
      	* gcc.dg/pr54669.c: Require exceptions.
      	* gcc.dg/pr56424.c: Require exceptions.
      	* gcc.dg/pr64465.c: Require exceptions.
      	* gcc.dg/pr65802.c: Require exceptions.
      	* gcc.dg/pr67563.c: Require exceptions.
      	* gcc.dg/tree-ssa/pr41469-1.c: Require exceptions.
      	* gcc.dg/tree-ssa/ssa-dse-28.c: Require exceptions.
      	* gcc.dg/vect/pr46663.c: Require exceptions.
      	* lib/target-supports.exp (check_effective_target_exceptions): New.
      
      
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r268025
      Andrew Stubbs committed
    • GCN back-end config · 7431c1a1
      This patch contains the configuration adjustments needed to enable the GCN
      back-end.
      
      The new configure check for dlopen is required to allow building the new
      gcn-run tool.  This tool uses libdl to load the HSA runtime libraries, which
      are required to run programs on the GPU.  The tool is disabled if libdl is not
      available.
      
      2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
      	    Kwok Cheung Yeung  <kcy@codesourcery.com>
      	    Julian Brown  <julian@codesourcery.com>
      	    Tom de Vries  <tom@codesourcery.com>
      	    Jan Hubicka  <hubicka@ucw.cz>
      	    Martin Jambor  <mjambor@suse.cz>
      
      	* configure.ac: Likewise.
      	* configure: Regenerate.
      	* contrib/config-list.mk: Add amdgcn-amdhsa.
      
      	gcc/
      	* config.gcc: Add amdgcn*-*-amdhsa configuration.
      	* configure.ac: Check for dlopen.
      	* configure: Regenerate.
      
      
      Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>
      Co-Authored-By: Martin Jambor <mjambor@suse.cz>
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r268024
      Andrew Stubbs committed
    • GCN back-end code · 5326695a
      This patch contains the major part of the GCN back-end.  The machine
      description has been broken out to avoid the mailing list size limit.
      
      The back-end contains various bits that support OpenACC and OpenMP, but the
      middle-end and libgomp patches are missing, as is mkoffload.  I include them
      here because they're harmless and carving up the files seems like unnecessary
      effort.  The remaining offload support will be posted at a later date.
      
      The gcn-run.c is a separate tool that can run a GCN program on a GPU using
      the ROCm drivers and HSA runtime libraries.
      
      2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
      	    Kwok Cheung Yeung  <kcy@codesourcery.com>
      	    Julian Brown  <julian@codesourcery.com>
      	    Tom de Vries  <tom@codesourcery.com>
      	    Jan Hubicka  <hubicka@ucw.cz>
      	    Martin Jambor  <mjambor@suse.cz>
      
      	gcc/
      	* common/config/gcn/gcn-common.c: New file.
      	* config/gcn/driver-gcn.c: New file.
      	* config/gcn/gcn-builtins.def: New file.
      	* config/gcn/gcn-hsa.h: New file.
      	* config/gcn/gcn-modes.def: New file.
      	* config/gcn/gcn-opts.h: New file.
      	* config/gcn/gcn-passes.def: New file.
      	* config/gcn/gcn-protos.h: New file.
      	* config/gcn/gcn-run.c: New file.
      	* config/gcn/gcn-tree.c: New file.
      	* config/gcn/gcn.c: New file.
      	* config/gcn/gcn.h: New file.
      	* config/gcn/gcn.opt: New file.
      	* config/gcn/t-gcn-hsa: New file.
      
      
      Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>
      Co-Authored-By: Martin Jambor <mjambor@suse.cz>
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r268023
      Andrew Stubbs committed
    • GCN machine description · 3d6275e3
      This patch contains the machine description portion of the GCN back-end.  I've
      broken it out mainly to avoid the mailing list size limit.
      
      2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
      	    Kwok Cheung Yeung  <kcy@codesourcery.com>
      	    Julian Brown  <julian@codesourcery.com>
      	    Tom de Vries  <tom@codesourcery.com>
      	    Jan Hubicka  <hubicka@ucw.cz>
      	    Martin Jambor  <mjambor@suse.cz>
      
      	gcc/
      	* config/gcn/constraints.md: New file.
      	* config/gcn/gcn-valu.md: New file.
      	* config/gcn/gcn.md: New file.
      	* config/gcn/predicates.md: New file.
      
      
      Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>
      Co-Authored-By: Martin Jambor <mjambor@suse.cz>
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r268022
      Andrew Stubbs committed
    • GCN libgcc. · 91d7b7fe
      This patch contains the GCN port of libgcc.
      
      2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
      	    Kwok Cheung Yeung  <kcy@codesourcery.com>
      	    Julian Brown  <julian@codesourcery.com>
      	    Tom de Vries  <tom@codesourcery.com>
      
      	libgcc/
      	* config.host: Recognize amdgcn*-*-amdhsa.
      	* config/gcn/crt0.c: New file.
      	* config/gcn/lib2-divmod-hi.c: New file.
      	* config/gcn/lib2-divmod.c: New file.
      	* config/gcn/lib2-gcn.h: New file.
      	* config/gcn/sfp-machine.h: New file.
      	* config/gcn/t-amdgcn: New file.
      
      
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r268021
      Andrew Stubbs committed