[PATCH v3 00/10] AMD GCN Port v3

2018-12-12 Thread Andrew Stubbs
eliminable register might also include a "scratch" register. I've also addressed the various feedback I received from patch reviewers. -- Andrew Stubbs Mentor Graphics / CodeSourcery

[PATCH 01/10] Fix LRA bug

2018-12-12 Thread Andrew Stubbs
converted back to a scratch afterwards. In the meantime, the add was converted to a move, meaning that the instruction pattern completely changed, thus causing a segfault when the instruction is revisited in restore_scratches. 2018-12-12 Andrew Stubbs gcc/ * gcc/lra-int.h

[PATCH v3 02/10] GCN libgfortran.

2018-12-12 Thread Andrew Stubbs
[Already approved by Janne Blomqvist and Jeff Law. Included here for completeness.] This patch contains the GCN port of libgfortran. We use the minimal configuration created for NVPTX. That's all that's required, besides the target-independent bug fixes posted already. 2018-12-

[PATCH v3 03/10] GCN libgcc.

2018-12-12 Thread Andrew Stubbs
[Already approved by Jeff Law. Included here for completeness.] This patch contains the GCN port of libgcc. 2018-12-12 Andrew Stubbs Kwok Cheung Yeung Julian Brown Tom de Vries libgcc/ * config.host: Recognize amdgcn*-*-amdhsa

[PATCH v3 08/10] Testsuite: GCN is always PIE.

2018-12-12 Thread Andrew Stubbs
[Already approved by Jeff Law. Included here for completeness.] 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. 2018-12-12 Andrew Stubbs

[PATCH v3 06/10] GCN back-end config

2018-12-12 Thread Andrew Stubbs
ad the HSA runtime libraries, which are required to run programs on the GPU. The tool is disabled if libdl is not available. 2018-12-12 Andrew Stubbs Kwok Cheung Yeung Julian Brown Tom de Vries Jan Hubicka Mar

[PATCH v3 09/10] Ignore LLVM's blank lines.

2018-12-12 Thread Andrew Stubbs
(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. 2018-12-12 Andrew Stubbs gcc/testsuite/ * lib/file-format.exp (gcc_target_object_for

[PATCH v3 07/10] Add dg-require-effective-target exceptions

2018-12-12 Thread Andrew Stubbs
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. 2018-12-12 Andrew Stubbs Kwok Cheung Yeung

[PATCH v3 10/10] Port testsuite to GCN

2018-12-12 Thread Andrew Stubbs
been reworked. Otherwise the patch has only been rebased. 2018-12-12 Andrew Stubbs Kwok Cheung Yeung Julian Brown Tom de Vries gcc/testsuite/ * gcc.dg/20020312-2.c: Add amdgcn support. * gcc.dg/Wno-frame-address.c: Disable on

Re: [PATCH 01/10] Fix LRA bug

2018-12-14 Thread Andrew Stubbs
On 13/12/2018 23:49, Jeff Law wrote: OK. But be aware we may have to revisit and look more closely what what you're doing in your port if we stumble over more problems with reload changing the structure of your insns and causing problems in the process. Thanks. What's novel about this, I thin

Re: [PATCH 01/10] Fix LRA bug

2018-12-14 Thread Andrew Stubbs
On 14/12/2018 10:04, Andrew Stubbs wrote: Anyway, this patch should not affect any use case that did not already have UB, so I'll get it committed shortly. Now done. Thanks for the review. Andrew

Re: [PATCH v3 09/10] Ignore LLVM's blank lines.

2018-12-17 Thread Andrew Stubbs
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. 2018-12-17 Andrew Stubbs gcc/doc/ * sourcebuild.texi: Document dg-require-effective-target llvm_binutils and offload_gcn. gc

Re: [PATCH v3 10/10] Port testsuite to GCN

2018-12-17 Thread Andrew Stubbs
On 12/12/2018 11:53, Andrew Stubbs wrote: Since the previous v2 posting, the sqrt_insn additional option mechanism has been reworked. Otherwise the patch has only been rebased. This updated patch includes the missing internals documentation. OK? Andrew Port testsuite to GCN This collection

Re: [PATCH v3 00/10] AMD GCN Port v3

2019-01-07 Thread Andrew Stubbs
d in time for GCC 9, given that disruption to other targets should no longer be an issue? Andrew On 12/12/2018 11:52, Andrew Stubbs wrote: This is the third rework of the patchset previously posted on September 5th and November 16th. As before, the series contains the non-OpenACC/OpenMP portions

[committed, amdgcn] Remove expcnt waits.

2019-07-31 Thread Andrew Stubbs
cmpswap instruction will now get both s_waitcnt and nop, which is unnecessary, but that's because I plan to add proper scheduling for all the s_waitcnt instructions in the near future, and I don't want this detail to get forgotten.) Andrew Stubbs Mentor Graphics / CodeSourcery Remo

Re: [PATCH 02/25] Propagate address spaces to builtins.

2019-09-03 Thread Andrew Stubbs
On 03/09/2019 15:01, Kyrill Tkachov wrote: Sorry for responding to this so late. I'm testing a rebased version of Richard's OOL atomic patches [1] and am hitting an ICE building the -mabi=ilp32 libgfortran multilib for aarch64-none-elf: I thought Andreas already fixed ILP32. https://gcc.gnu.o

Re: [committed, amdgcn] Remove expcnt waits.

2019-09-05 Thread Andrew Stubbs
On 31/07/2019 13:02, Andrew Stubbs wrote: However, in a couple of cases there is an exposed-pipeline issue that needs to be resolved with an actual "nop", which we no longer have. The patch also takes care of adding these, where appropriate. (As it happens, the cmpswap instruction wi

[OG9, committed] Backport GCN expcnt patches

2019-09-05 Thread Andrew Stubbs
I just committed the attached patch to the openacc-gcc-9-branch. The patch removes the redundant s_waitcnt instruction from store instructions. The s_waitcnt with expcnt was a misunderstanding of the documentation. Andrew Backport expcnt patches. 2019-09-05 Andrew Stubbs Backport from

Re: [OG9, committed] Backport GCN expcnt patches

2019-09-06 Thread Andrew Stubbs
On 06/09/2019 08:42, Bernhard Reutner-Fischer wrote: On 5 September 2019 18:07:25 CEST, Andrew Stubbs wrote: I just committed the attached patch to the openacc-gcc-9-branch. + /* Store that requires input registers are not overwritten by +following instruction

[OG9, committed] Backport error message for mapped parameters

2019-09-06 Thread Andrew Stubbs
I've backported this patch from mainline. Andrew Tweak error message for mapped parameters. 2019-07-05 Andrew Stubbs gcc/fortran/ * openmp.c (resolve_omp_clauses): Add custom error messages for parameters in map clauses. diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c

[OG9, committed] Backport gfx906 patches

2019-09-06 Thread Andrew Stubbs
I've just backported these from mainline. They add the Vega 20 gfx906 architecture and multilib. Andrew Document -march=gfx906 option. 2019-06-07 Andrew Stubbs gcc/ * doc/invoke.texi (AMD GCN Options): Add gfx906. diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 3103f8

[OG9, amdgcn, committed] Move offload data to graphics memory

2019-09-09 Thread Andrew Stubbs
ointers to device data, and is typically read only once. It also contains the print output data, but this is not performance critical (as in, don't use it if you care about performance). This may need to be reviewed if we want to use it for profiling. Andrew Move offload data into G

[OG9, amdgcn,committed] Fix relocations with multiple devices

2019-09-10 Thread Andrew Stubbs
alternative would be to copy the entire image before modifying it, each time it is loaded. Andrew Fix relocations with multiple devices. 2019-09-10 Andrew Stubbs libgomp/ * plugin/plugin-gcn.c (obstack_chunk_alloc): Delete. (obstack_chunk_free): Delete. (obstack.h): Remove include

[OG9, amdgcn, committed] Use GFX9 granulated sgprs count correctly

2019-09-10 Thread Andrew Stubbs
would hurt performance. Andrew Use GFX9 granulated sgprs count correctly. 2019-09-10 Andrew Stubbs gcc/ * config/gcn/gcn.c (gcn_hsa_declare_function_name): Calculate granulated_sgprs according to architecture. diff --git a/gcc/config/gcn/gcn.c b/gcc/config/gcn/gcn.c index 66854b6f9c5..f8434e4a

[OG9, amdgcn, committed] Detect the actual number of hardware CUs

2019-09-10 Thread Andrew Stubbs
te Runtime (ROCr), but there are license issues with that. We could extract them from the documentation, but this is still on my TODO list. Andrew Detect number of GPU compute units. 2019-09-10 Andrew Stubbs libgomp/ * plugin/plugin-gcn.c (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUN

[OG9, amdgcn, committed] Fix memory leak in libgomp

2019-09-10 Thread Andrew Stubbs
Committed to OG9 on behalf of Kwok ... The list of struct gomp_threads allocated in gomp_gcn_enter_kernel was not being freed in gomp_gcn_exit_kernel, leading to a small memory leak every time a kernel is run. Runs with a lot of teams or many kernels were running out of heap space. Andrew Fi

Re: [PATCH 09/25] Elide repeated RTL elements.

2018-10-11 Thread Andrew Stubbs
On 04/10/18 19:12, Jeff Law wrote: OK. Thanks for fixing the reader and adding selftests. Thanks, committed. Andrew

Re: [PATCH 15/25] Don't double-count early-clobber matches.

2018-10-22 Thread Andrew Stubbs
ay to do this. In any case, it will affect any pattern in which multiple operands may (or must) match an early-clobber operand. The patch only allows a reject-- when one has not already occurred, for that operand. 2018-10-22 Andrew Stubbs gcc/ * lra-constraints.c (process_alt_

Re: [PATCH 20/25] GCN libgcc.

2018-11-12 Thread Andrew Stubbs
On 09/11/2018 18:48, Jeff Law wrote: diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in index 0c5b264..6f68257 100644 --- a/libgcc/Makefile.in +++ b/libgcc/Makefile.in @@ -429,9 +429,11 @@ LIB2ADD += enable-execute-stack.c # While emutls.c has nothing to do with EH, it is in LIB2ADDEH* # in

Re: [PATCH 21/25] GCN Back-end (part 1/2).

2018-11-12 Thread Andrew Stubbs
On 09/11/2018 19:11, Jeff Law wrote: There's a ton of work related to reduction setup, updates and teardown. I don't guess there's any generic code we can/should be re-using. Sigh. I'm not sure what can be shared, or not, here. For OpenMP we don't have any special code, but OpenACC is much

Re: [PATCH 21/25] GCN Back-end (part 2/2).

2018-11-12 Thread Andrew Stubbs
On 09/11/2018 19:39, Jeff Law wrote: + +/* Generate epilogue. Called from gen_epilogue during pro_and_epilogue pass. + + See gcn_expand_prologue for stack details. */ + +void +gcn_expand_epilogue (void) You probably need a barrier in here to ensure that the scheduler doesn't move an aliased

Re: [PATCH 21/25] GCN Back-end (part 2/2).

2018-11-12 Thread Andrew Stubbs
On 12/11/2018 17:20, Segher Boessenkool wrote: If you don't want useless USEs deleted, use UNSPEC_VOLATILE instead? Or actually use the register, i.e. as input to an actually needed instruction. They're not useless. If we want to do scalar operations in vector registers (and we often do, on th

Re: [PATCH 21/25] GCN Back-end (part 2/2).

2018-11-13 Thread Andrew Stubbs
On 12/11/2018 18:54, Jeff Law wrote: On 11/12/18 10:52 AM, Andrew Stubbs wrote: On 12/11/2018 17:20, Segher Boessenkool wrote: If you don't want useless USEs deleted, use UNSPEC_VOLATILE instead? Or actually use the register, i.e. as input to an actually needed instruction. They&#

Re: [PATCH 21/25] GCN Back-end (part 2/2).

2018-11-15 Thread Andrew Stubbs
On 14/11/2018 22:30, Jeff Law wrote: There's a particular case that has historically been problematical. If you have this kind of sequence in the epilogue restore register using FP move fp->sp (deallocates frame) return Under certain circumstances the scheduler can swa

Re: [PATCH 01/25] Handle vectors that don't fit in an integer.

2018-11-15 Thread Andrew Stubbs
integer modes. This breaks a number of assumptions throughout the compiler, but I don't really want to create modes just for this purpose. Instead, this patch fixes up the cases that I've found, so far, such that the compiler tries something else, or fails to optimize, rather than just

Re: [PATCH 21/25] GCN Back-end (part 2/2).

2018-11-16 Thread Andrew Stubbs
The guideline I would give to determine if you're vulnerable...  Do you have speculation, including the ability to speculate past a memory operation, branch prediction, memory caches and high resolution timer (ie, like a cycle timer).  If you've got those, then the processor is likely vulnerable t

[PATCH 00/10] AMD GCN Port v2

2018-11-16 Thread Andrew Stubbs
This is a reworked version of the remaining parts of the patch series I posted on September 5th. As before, the series contains the non-OpenACC/OpenMP portions of a port to AMD GCN3 and GCN5 GPU processors. It's sufficient to build single-threaded programs, with vectorization in the usual way. C

[PATCH 03/10] GCN libgcc.

2018-11-16 Thread Andrew Stubbs
This patch contains the GCN port of libgcc. Since the previous posting, I've removed gomp_print.c and reduction.c, as well as addressing some other feedback. 2018-11-16 Andrew Stubbs Kwok Cheung Yeung Julian Brown Tom de Vries l

[PATCH 01/10] Fix IRA ICE.

2018-11-16 Thread Andrew Stubbs
it's not ideal that these registers have not been processed by IRA, but it does not appear to do any real harm. 2018-11-16 Andrew Stubbs gcc/ * ira.c (setup_preferred_alternate_classes_for_new_pseudos): Skip pseudos not created by this pass. (move_unallocate

[PATCH 02/10] GCN libgfortran.

2018-11-16 Thread Andrew Stubbs
[Already approved by Janne Blomqvist and Jeff Law. Included here for completeness.] This patch contains the GCN port of libgfortran. We use the minimal configuration created for NVPTX. That's all that's required, besides the target-independent bug fixes posted already. 2018-11-

[PATCH 06/10] GCN back-end config

2018-11-16 Thread Andrew Stubbs
disabled if libdl is not available. 2018-11-16 Andrew Stubbs Kwok Cheung Yeung Julian Brown Tom de Vries Jan Hubicka Martin Jambor * config.sub: Recognize amdgcn*-*-amdhsa. * configure.ac: Likewise

[PATCH 08/10] Testsuite: GCN is always PIE.

2018-11-16 Thread Andrew Stubbs
[Already approved by Jeff Law. Included here for completeness.] 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. 2018-11-16 Andrew Stubbs

[PATCH 09/10] Ignore LLVM's blank lines.

2018-11-16 Thread Andrew Stubbs
(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. 2018-11-16 Andrew Stubbs gcc/testsuite/ * lib/file-format.exp (gcc_target_object_for

[PATCH 07/10] Add dg-require-effective-target exceptions

2018-11-16 Thread Andrew Stubbs
cted by the change. 2018-11-16 Andrew Stubbs Kwok Cheung Yeung Julian Brown Tom de Vries gcc/testsuite/ * c-c++-common/ubsan/pr71512-1.c: Require exceptions. * c-c++-common/ubsan/pr71512-2.c: Require exceptions. * gcc.c-

[PATCH 10/10] Port testsuite to GCN

2018-11-16 Thread Andrew Stubbs
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. 2018-11-16 Andrew Stubbs Kwok Cheung Yeung Julian

Re: [PATCH 06/10] GCN back-end config

2018-11-20 Thread Andrew Stubbs
On 16/11/2018 17:44, Joseph Myers wrote: On Fri, 16 Nov 2018, Andrew Stubbs wrote: * config.sub: Recognize amdgcn*-*-amdhsa. config.sub should be copied from upstream config.git (along with config.guess at the same time), once the support has been added there; it shouldn't be pa

Re: [PATCH 01/10] Fix IRA ICE.

2018-11-21 Thread Andrew Stubbs
On 21/11/2018 00:47, Jeff Law wrote: This seems like a really gross hack and sets an expectation that generating registers in the target after IRA has started is OK. It is not OK. THe fact that this works is, IMHO, likely an accident. What's the proper test for this? Neither lra_in_progress n

Re: [PATCH 10/10] Port testsuite to GCN

2018-11-27 Thread Andrew Stubbs
On 26/11/2018 21:13, Mike Stump wrote: On Nov 26, 2018, at 12:04 PM, Mike Stump wrote: I'll Ok the signal one, if you prefer it over a dummy signal routine. Though, would be nice for you to add signal if possible/reasonable. Oh, and my long term thinking on signal is that logically, it's f

Re: [PATCH 07/10] Add dg-require-effective-target exceptions

2018-11-27 Thread Andrew Stubbs
On 26/11/2018 22:08, Mike Stump wrote: On Nov 16, 2018, at 8:28 AM, Andrew Stubbs wrote: [This patch was previously approved by Richard Sandiford (with added documentation I've still not done), but objected to by Mike Stump. I need to figure out who's right.] Since the planned po

Re: [committed, amdgcn] Fix stack initialization bug

2019-06-25 Thread Andrew Stubbs
On 24/05/2019 12:12, Andrew Stubbs wrote: This patch fixes a 64-bit arithmetic bug in which the wrong instruction was used for the lo-part resulting in an incorrect calculation for the hi-part (signed vs. unsigned add). This causes a Memory Access Fault whenever the launcher happens to choose

Re: [committed, amdgcn] Wait for exit value to write before exiting.

2019-06-25 Thread Andrew Stubbs
On 24/05/2019 16:31, Andrew Stubbs wrote: This patch fixes a bug in which GCN5 devices often fail to return an exit value because it's not yet been written to memory when the program exits. The fix is simply to wait for it properly. GCN3 devices did not demonstrate the problem, but i

[patch, c++ openmp] Improve diagnostics for unmappable types

2019-06-28 Thread Andrew Stubbs
ematic fields in the whole type, recursively. If anybody knows how to report the location of incomplete array declarations then that would be nice to add. OK to commit? Andrew Improve OpenMP map diagnostics. 2019-06-27 Andrew Stubbs gcc/cp/ * cp-tree.h (cp_omp_emit_u

Re: [committed, amdgcn] Disable trampolines on GCN5

2019-06-28 Thread Andrew Stubbs
On 22/05/2019 23:21, Andrew Stubbs wrote: Trampolines work just fine on GCN3 devices, but GCN5 devices have execute permission hardware, and the driver sets permission off for the private segment allocation in which the stacks are located. It may be possible to implement indirect calls to

Re: [patch, c++ openmp] Improve diagnostics for unmappable types

2019-07-01 Thread Andrew Stubbs
x27;s print the type with %qT. +    if (notes) +  result = false; +    else +  return false; Returning early when !notes doesn't seem worth the extra lines of code. How is this version? Andrew Improve OpenMP map diagnostics. 2019-07-01 Andrew Stubbs

[committed, amdgcn] Fix regrename ICE

2019-07-02 Thread Andrew Stubbs
assumptions about how RTX entries are shared in memory. The fix is simply to hide the save-restore, for now. We end up with the same instruction sequence anyway. Andrew Stubbs Mentor Graphics / CodeSourcery Fix amdgcn regrename ICE. 2019-07-02 Andrew Stubbs gcc/ * config/gcn/gcn.md

Re: [patch, c++ openmp] Improve diagnostics for unmappable types

2019-07-04 Thread Andrew Stubbs
On 03/07/2019 18:58, Jason Merrill wrote: OK, thanks. Committed. Thanks for the reviews. Andrew

[OG9] Improve diagnostics for unmappable types

2019-07-04 Thread Andrew Stubbs
This patch has now been backported to openacc-gcc-9-branch (git). Andre On 01/07/2019 12:16, Andrew Stubbs wrote: Improve OpenMP map diagnostics. 2019-07-01 Andrew Stubbs gcc/cp/ * cp-tree.h (cp_omp_emit_unmappable_type_notes): New prototype. * decl.c (cp_finish_decl

[patch, openmp/openacc] Allow Fortran parameters in map/copy.

2019-07-05 Thread Andrew Stubbs
e in some case (can it happen?), I believe it will be automatically mapped in the same way other variables are. Using parameters in device_resident, deviceptr, private, reduction, etc., remains an error. OK to commit? Andrew Allow Fortran parameters in map/copy directives. 2019-0

Re: [patch, openmp/openacc] Allow Fortran parameters in map/copy.

2019-07-05 Thread Andrew Stubbs
On 05/07/2019 12:49, Jakub Jelinek wrote: On Fri, Jul 05, 2019 at 12:31:17PM +0100, Andrew Stubbs wrote: This patch allows Fortran "parameter" named constants to be named in OpenMP map and OpenACC copy directives. Right now, the compiler just says something like: !$omp targe

Re: [patch, openmp/openacc] Allow Fortran parameters in map/copy.

2019-07-05 Thread Andrew Stubbs
ameters. 2019-07-05 Andrew Stubbs gcc/fortran/ * openmp.c (resolve_omp_clauses): Add custom error messages for parameters in map clauses. gcc/testsuite/ * gfortran.dg/gomp/map-1.f90: Update error message text. diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c index 1c7bce6c300..e05bf84f

Re: [03/11] [amdgcn] Fix ambiguous .md attribute uses

2019-07-05 Thread Andrew Stubbs
On 05/07/2019 16:12, Richard Sandiford wrote: This patch is part of a series that fixes ambiguous attribute uses in .md files, i.e. cases in which attributes didn't use to specify an iterator, and in which could have different values depending on the iterator chosen. I think this is a genuine

[committed, openmp/openacc] Tweak error message for mapped parameters

2019-07-05 Thread Andrew Stubbs
hould be the compiler that arranges that (PR90779) and the user has no way to overide or force that behavior. Here's what Jakub approved via IRC. Now committed. Thanks Jakub Andrew Tweak error message for mapped parameters. 2019-07-05 Andrew Stubbs gcc/fortran/ * openmp.c (resolve

Re: [patch, c++ openmp] Improve diagnostics for unmappable types

2019-07-09 Thread Andrew Stubbs
On 08/07/2019 23:10, Jakub Jelinek wrote: This broke following testcase. error_mark_node type isn't really incomplete, it is errorneous, doesn't have TYPE_MAIN_DECL and we should have diagnosed it earlier, so it makes no sense to emit extra explanation messages. Apologies. Did I miss something

[OG9] Improve diagnostics for unmappable types

2019-07-09 Thread Andrew Stubbs
I've backported Jakub's patch to openacc-gcc-9-branch. Andrew On 08/07/2019 23:10, Jakub Jelinek wrote: On Thu, Jul 04, 2019 at 12:44:32PM +0100, Andrew Stubbs wrote: On 03/07/2019 18:58, Jason Merrill wrote: OK, thanks. Committed. This broke following testcase. error_mark

Re: [PATCH] Fix PR88074

2019-02-20 Thread Andrew Stubbs
On 19/02/2019 12:45, Richard Biener wrote: The following limits mpfr operations to the maximum exponent range as determined by available float modes. This avoids excessive work for evaluating functions like ctan for large arguments. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied

Re: [PATCH] Fix PR88074

2019-02-20 Thread Andrew Stubbs
On 20/02/2019 13:22, Jakub Jelinek wrote: On Wed, Feb 20, 2019 at 11:13:54AM +, Andrew Stubbs wrote: This patch causes a number of test regressions for (at least) arm and amdgcn. I've run a bisect and confirmed this is the first commit where it doesn't work. The following, so fa

[gcn commit] Implement circular output buffer

2019-03-18 Thread Andrew Stubbs
egressions. Andrew Stubbs Mentor Graphics / CodeSourcery Implement circular print buffer. 2019-03-18 Andrew Stubbs gcc/ * config/gcn/gcn-run.c (struct output): Make next_output unsigned. Extend queue to 1024 entries. Add "consumed" field. (gomp_print_output): Remove print_index p

[committed gcn] Fix scc clobber in movdi_symbol

2019-03-27 Thread Andrew Stubbs
live. Tested for amdgcn-unknown-amdhsa with no regressions. Andrew Stubbs Mentor Graphics / CodeSourcery Fix scc clobber in movdi_symbol. 2019-03-27 Andrew Stubbs gcc/ * config/gcn/gcn.md (CC_SAVE_REG): New constant. (movdi): Call gen_movdi_symbol_save_scc. (gen_movdi_symbol_save_scc): New ins

Re: [PR86438] avoid too-long shift in test

2019-04-15 Thread Andrew Stubbs
On 12/04/2019 02:42, Alexandre Oliva wrote: The test fell back to long long and long when __int128 is not available, but it assumed sizeof(long) < sizeof(long long) because of a shift count that would be out of range for a long long if their widths are the same. Fixed by splitting it up into two

Re: [PATCH v3 00/10] AMD GCN Port v3

2019-01-14 Thread Andrew Stubbs
On 11/01/2019 23:19, Jeff Law wrote: And I think the V3 patch is reasonable enough to go in now. There's some concerns that have been raised with the implementation, but I'm comfortable with Andrew faulting in fixes if those concerns turn into real issues. Andrew, you're green-lighted for the t

Re: [PATCH v3 00/10] AMD GCN Port v3

2019-01-17 Thread Andrew Stubbs
On 14/01/2019 13:55, Andrew Stubbs wrote: I will now rebase, retest, change all the dates to 2019, and get it committed. This is now done! :-) THe Newlib port is also committed, so all the pieces needed for testing GCN should be available to everybody now. To be clear, the libgomp port

[wwwdocs] Mention AMD GCN on the website

2019-01-17 Thread Andrew Stubbs
AMD GCN has now been committed to the trunk. Is the attached OK for the website? Most of the wording has been modelled on the existing C-SKY announcements. Thanks Andrew diff --git a/htdocs/backends.html b/htdocs/backends.html index bb70aa6..eecd09a 100644 --- a/htdocs/backends.html +++ b/htd

Re: [wwwdocs] Mention AMD GCN on the website

2019-01-17 Thread Andrew Stubbs
On 17/01/2019 17:39, Andi Kleen wrote: Can you add a few words on the current limitations? How's this? Andrew diff --git a/htdocs/backends.html b/htdocs/backends.html index bb70aa6..eecd09a 100644 --- a/htdocs/backends.html +++ b/htdocs/backends.html @@ -81,6 +81,7 @@ csky |

[patch] Document AMD GCN features.

2019-01-18 Thread Andrew Stubbs
Hi, This patch adds the documentation needed for the newly-added AMD GCN back end. OK to commit? Andrew Document AMD GCN. 2019-01-18 Andrew Stubbs gcc/ * doc/extend.tex (AMD GCN Function Attributes): New section. * doc/install.texi (amdgcn-unknown-amdhsa): New instructions. * doc

Re: [patch] Document AMD GCN features.

2019-01-22 Thread Andrew Stubbs
On 21/01/2019 18:03, Jeff Law wrote: 2019-01-18 Andrew Stubbs gcc/ * doc/extend.tex (AMD GCN Function Attributes): New section. * doc/install.texi (amdgcn-unknown-amdhsa): New instructions. * doc/invoke.texi (AMD GCN Options): New section. * doc

[patch][pr88920] Fix noisy check_effective_target_offload_gcn

2019-01-29 Thread Andrew Stubbs
the message does not show up at all, unless the verbosity level is raised? Thanks Andrew Cache effective-target llvm_binutils result. 2019-01-21 Andrew Stubbs gcc/testsuite/ * lib/target-supports.exp: Cache result. diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib

Re: [patch][pr88920] Fix noisy check_effective_target_offload_gcn

2019-01-30 Thread Andrew Stubbs
On 29/01/2019 11:31, Richard Biener wrote: OK. Thanks. Patch committed. Andrew

Re: Andrew Stubbs and Julian Brown appointed AMD GCN maintainers

2019-02-11 Thread Andrew Stubbs
On 08/02/2019 16:10, David Edelsohn wrote: I am pleased to announce that the GCC Steering Committee has appointed Andrew Stubbs and Julian Brown as AMD GCN maintainers. Many thanks to David and the Steering Committee! I've committed the attached. Andrew Add AMD GCN maintainers

Re: [PATCH] Fix up and improve allow_blank_lines testsuite handling (PR other/69006, PR testsuite/88920)

2019-02-13 Thread Andrew Stubbs
On 13/02/2019 09:09, Jakub Jelinek wrote: To make it work together with doing llvm_binutils only once, the global now has multiple values 0 - disallow blank lines 1 - allow them for a single test only, reset after testing it in gcc-dg-prune 2 - allow it for all tests (llvm_binutils) FWIW, this

Re: [gcn][patch] Add -mgpu option and plumb in assembler/linker

2017-05-16 Thread Andrew Stubbs
On 02/05/17 18:08, Martin Jambor wrote: 1. Add specs to drive the LLVM assembler and linker. It requires them to be installed as "as" and "ld", under $target/bin, but then the compiler Just Works with these specs. ...is that I do not have llvm linker at hand and without it I did not manage to m

[gcn][patch] Add -mgpu option and plumb in assembler/linker

2017-04-28 Thread Andrew Stubbs
ame, I think, so we need that as input. OK to commit to GCN branch? Andrew commit 5058457b0fa07865b366832828e74a53e5bd2964 Author: Andrew Stubbs Date: Fri Apr 28 14:37:25 2017 +0100 Add -mgpu 2017-04-28 Andrew Stubbs gcc/ * config.gcc (amdgcn): Remove --with-arch and --with-

Re: [gcn][patch] Add -mgpu option and plumb in assembler/linker

2017-05-03 Thread Andrew Stubbs
/gcn/gcn.c, another problem, for me at least... On Fri, Apr 28, 2017 at 06:06:39PM +0100, Andrew Stubbs wrote: This patch, for the "gcn" branch, does three things: 1. Add specs to drive the LLVM assembler and linker. It requires them to be installed as "as" and "ld"

[PATCH][Libiberty] Support empty arguments in pex-win32

2016-09-16 Thread Andrew Stubbs
Hi, This patch fixes a libiberty bug in which zero-length arguments to "pex_run" subprocesses were silently dropped on MinGW. Basically, the code does not quote parameters unless it has to, but this corner-case was forgotten. OK? Andrew 2016-09-16 Andrew Stubbs libiber

Re: [PATCH][Libiberty] Support empty arguments in pex-win32

2016-09-19 Thread Andrew Stubbs
On 16/09/16 19:12, DJ Delorie wrote: This is OK. Thanks! Thanks, committed. Andrew

[PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-14 Thread Andrew Stubbs
e and elsewhere), so the attached patch solves the problem by changing the condition. Is this OK, or do I need to do something less blunt? Thanks Andrew 2016-11-11 Andrew Stubbs gcc/ * config/rs6000/rs6000.md: Disable P9-fusion peepholes when TARGET_SOFT_FLOAT is set. gcc/testsuite/ *

Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-15 Thread Andrew Stubbs
On 15/11/16 12:29, Segher Boessenkool wrote: The peepholes do not support it, or maybe the define_insns do not either. The machine of course will not care. Oh, OK, so probably the bug is not in the peephole at all, but in the define_insn, or lack thereof. More investigation required. Thanks

Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-15 Thread Andrew Stubbs
On 15/11/16 21:06, Michael Meissner wrote: Now, that I have a little time, I can look into this, to at least make predicate and peepholes match. There is some other stuff (support for the new load/store that were added to the compiler after that we should also tackle). I've been investigating

Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-16 Thread Andrew Stubbs
On 16/11/16 13:10, Michael Meissner wrote: Yeah, SFmode and DFmode should not have the TARGET_{S,D}F_FPR checks. So, I can safely resolve my initial problem by simply removing them? And that wouldn't break the other use of that predicate? But a secondary problem is the early clobber in the

Re: [PATCH][PPC] Fix ICE using power9 with soft-float

2016-11-23 Thread Andrew Stubbs
On 16/11/16 17:05, Michael Meissner wrote: I'm starting to test this patch right now (it's on LE power8 stage3 right now, and I need to build BE power8 and BE power7 versions when I get into the office shortly, and build spec 2017 with it for PR 78101): Did the testing go OK? Andrew

Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-12-23 Thread Andrew Stubbs
On 03/12/14 15:03, Andrew Stubbs wrote: The tools have always allowed us to drop down the arch to march=armv5te along with using -mfpu=neon. We are now changing command line behaviour, so an inform in terms of diagnostics to the user would be useful as it states that we don't really have

Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2015-01-12 Thread Andrew Stubbs
Ping. On 23/12/14 16:46, Andrew Stubbs wrote: On 03/12/14 15:03, Andrew Stubbs wrote: The tools have always allowed us to drop down the arch to march=armv5te along with using -mfpu=neon. We are now changing command line behaviour, so an inform in terms of diagnostics to the user would be

Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2015-01-13 Thread Andrew Stubbs
s. Andrew 2015-01-13 Andrew Stubbs gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_neon_ok_nocache): Don't try to test Neon on ARM architures before v7. Index: gcc/testsuite/lib/target-supports.exp

Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2015-01-14 Thread Andrew Stubbs
On 14/01/15 08:21, Ramana Radhakrishnan wrote: Ok, that should be enough. Please watch out for any testing fallout this week. Committed, thanks. Andrew

[arm][patch] fix arm_neon_ok check on !arm_arch7

2014-09-13 Thread Andrew Stubbs
s. Otherwise it just takes -mfpu=neon at face value, regardless of -march or -mcpu. This patch limits NEON to armv7 or higher. OK? Andrew 2014-09-13 Andrew Stubbs gcc/ * config/arm/arm.h (TARGET_NEON): Ensure target is v7 or higher. Index:

Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-09-15 Thread Andrew Stubbs
On 15/09/14 10:46, Richard Earnshaw wrote: Hmm, I wonder if arm_override_options should reject neon + (arch < 7). Is this more to your taste? Andrew P.S. arm_override_options was renamed in 2010. 2014-09-15 Andrew Stubbs * gcc/config/arm/arm.c (arm_option_override): Reject -mfpu=n

Re: [arm][patch] fix arm_neon_ok check on !arm_arch7

2014-09-17 Thread Andrew Stubbs
On 15/09/14 14:29, Richard Earnshaw wrote: Yep, that's fine. Committed, thanks. Andrew

[PATCH] Fix pr50717: widening multiply bad code

2011-10-15 Thread Andrew Stubbs
eves this. OK? Andrew 2011-10-15 Andrew Stubbs gcc/ * tree-ssa-math-opts.c (is_widening_mult_p): Remove the 'type' parameter. Calculate 'type' from stmt. (convert_mult_to_widen): Update call the is_widening_mult_p. (convert_plusminus_to_widen): Likewise. gcc/testsui

Re: [PATCH][ARM] -m{cpu,tune,arch}=native

2011-10-18 Thread Andrew Stubbs
should be fixed before this is committed. OK with the second issue resolved. Thanks, fixed and committed, as attached. Andrew 2011-10-18 Andrew Stubbs gcc/ * config.host (arm*-*-linux*): Add driver-arm.o and x-arm. * config/arm/arm.opt: Add 'native' processor_type and arm_a

Re: [PATCH][ARM] -m{cpu,tune,arch}=native

2011-10-18 Thread Andrew Stubbs
On 18/10/11 15:34, Richard Earnshaw wrote: On 18/10/11 15:23, Andrew Stubbs wrote: + /* Detect arch/cpu. */ + if (strncmp (buf, "CPU part", sizeof ("CPU part") - 1) == 0) + { + int i; + + if (cpu_table == NULL) + goto not_found; +

Re: [PATCH] Fix pr50717: widening multiply bad code

2011-10-18 Thread Andrew Stubbs
On 17/10/11 11:43, Richard Guenther wrote: Ok. Committed, thanks. Andrew

<    3   4   5   6   7   8   9   10   11   >