[PATCH 0/19][GCC-8] aarch64: Backport outline atomics
Hi, This series backports all the patches and fixes regarding outline atomics to the gcc-8 branch. Bootstrapped the series for aarch64-linux-gnu and regression tested. Is this OK for gcc-8? Andre Vieira (19): aarch64: Add early clobber for aarch64_store_exclusive aarch64: Simplify LSE cas generation aarch64: Improve cas generation aarch64: Improve swp generation aarch64: Improve atomic-op lse generation aarch64: Remove early clobber from ATOMIC_LDOP scratch aarch64: Extend %R for integer registers aarch64: Implement TImode compare-and-swap aarch64: Tidy aarch64_split_compare_and_swap aarch64: Add out-of-line functions for LSE atomics Add visibility to libfunc constructors aarch64: Implement -moutline-atomics Aarch64: Fix shrinkwrapping interactions with atomics (PR92692) aarch64: Fix store-exclusive in load-operate LSE helpers aarch64: Configure for sys/auxv.h in libgcc for lse-init.c aarch64: Fix up aarch64_compare_and_swaphi pattern [PR94368] aarch64: Fix bootstrap with old binutils [PR93053] aarch64: Fix ICE due to aarch64_gen_compare_reg_maybe_ze [PR94435] re PR target/90724 (ICE with __sync_bool_compare_and_swap with -march=armv8.2-a+sve)
Re: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics
On 16/04/2020 13:24, Andre Vieira (lists) wrote: Hi, This series backports all the patches and fixes regarding outline atomics to the gcc-8 branch. Bootstrapped the series for aarch64-linux-gnu and regression tested. Is this OK for gcc-8? Andre Vieira (19): aarch64: Add early clobber for aarch64_store_exclusive aarch64: Simplify LSE cas generation aarch64: Improve cas generation aarch64: Improve swp generation aarch64: Improve atomic-op lse generation aarch64: Remove early clobber from ATOMIC_LDOP scratch aarch64: Extend %R for integer registers aarch64: Implement TImode compare-and-swap aarch64: Tidy aarch64_split_compare_and_swap aarch64: Add out-of-line functions for LSE atomics Add visibility to libfunc constructors aarch64: Implement -moutline-atomics Aarch64: Fix shrinkwrapping interactions with atomics (PR92692) aarch64: Fix store-exclusive in load-operate LSE helpers aarch64: Configure for sys/auxv.h in libgcc for lse-init.c aarch64: Fix up aarch64_compare_and_swaphi pattern [PR94368] aarch64: Fix bootstrap with old binutils [PR93053] aarch64: Fix ICE due to aarch64_gen_compare_reg_maybe_ze [PR94435] re PR target/90724 (ICE with __sync_bool_compare_and_swap with -march=armv8.2-a+sve) Hmm something went wrong when sending these, I had tried to make the N/19 patches reply to this one, but failed and also I was pretty sure I had CC'ed Kyrill and Richard S. Adding them now.
Re: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics
Thanks Andre for the back-port to gcc-8. Overall the patches look good to me. Could you please move the patch "[PATCH 13/19][GCC-8] Aarch64: Fix shrinkwrapping interactions with atomics (PR92692)" just after "[PATCH 8/19][GCC-8] aarch64: Implement TImode compare-and-swap" such that the change that breaks TSAN builds gets fixed right away instead of waiting to get the fix after 4 more patches? I would like to test the patches on Graviton2. Could you please send me the git format-patch version? It is hard to extract the patches from the mailing list without the patches getting scrambled. Thanks, Sebastian On 4/16/20, 7:24 AM, "Andre Vieira (lists)" wrote: Hi, This series backports all the patches and fixes regarding outline atomics to the gcc-8 branch. Bootstrapped the series for aarch64-linux-gnu and regression tested. Is this OK for gcc-8? Andre Vieira (19): aarch64: Add early clobber for aarch64_store_exclusive aarch64: Simplify LSE cas generation aarch64: Improve cas generation aarch64: Improve swp generation aarch64: Improve atomic-op lse generation aarch64: Remove early clobber from ATOMIC_LDOP scratch aarch64: Extend %R for integer registers aarch64: Implement TImode compare-and-swap aarch64: Tidy aarch64_split_compare_and_swap aarch64: Add out-of-line functions for LSE atomics Add visibility to libfunc constructors aarch64: Implement -moutline-atomics Aarch64: Fix shrinkwrapping interactions with atomics (PR92692) aarch64: Fix store-exclusive in load-operate LSE helpers aarch64: Configure for sys/auxv.h in libgcc for lse-init.c aarch64: Fix up aarch64_compare_and_swaphi pattern [PR94368] aarch64: Fix bootstrap with old binutils [PR93053] aarch64: Fix ICE due to aarch64_gen_compare_reg_maybe_ze [PR94435] re PR target/90724 (ICE with __sync_bool_compare_and_swap with -march=armv8.2-a+sve)
Re: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics
Hi Andre, the patch series passed bootstrap and check with no new fails on Graviton2 aarch64-linux. Thanks, Sebastian On 4/16/20, 12:24 PM, "Pop, Sebastian" wrote: Thanks Andre for the back-port to gcc-8. Overall the patches look good to me. Could you please move the patch "[PATCH 13/19][GCC-8] Aarch64: Fix shrinkwrapping interactions with atomics (PR92692)" just after "[PATCH 8/19][GCC-8] aarch64: Implement TImode compare-and-swap" such that the change that breaks TSAN builds gets fixed right away instead of waiting to get the fix after 4 more patches? I would like to test the patches on Graviton2. Could you please send me the git format-patch version? It is hard to extract the patches from the mailing list without the patches getting scrambled. Thanks, Sebastian On 4/16/20, 7:24 AM, "Andre Vieira (lists)" wrote: Hi, This series backports all the patches and fixes regarding outline atomics to the gcc-8 branch. Bootstrapped the series for aarch64-linux-gnu and regression tested. Is this OK for gcc-8? Andre Vieira (19): aarch64: Add early clobber for aarch64_store_exclusive aarch64: Simplify LSE cas generation aarch64: Improve cas generation aarch64: Improve swp generation aarch64: Improve atomic-op lse generation aarch64: Remove early clobber from ATOMIC_LDOP scratch aarch64: Extend %R for integer registers aarch64: Implement TImode compare-and-swap aarch64: Tidy aarch64_split_compare_and_swap aarch64: Add out-of-line functions for LSE atomics Add visibility to libfunc constructors aarch64: Implement -moutline-atomics Aarch64: Fix shrinkwrapping interactions with atomics (PR92692) aarch64: Fix store-exclusive in load-operate LSE helpers aarch64: Configure for sys/auxv.h in libgcc for lse-init.c aarch64: Fix up aarch64_compare_and_swaphi pattern [PR94368] aarch64: Fix bootstrap with old binutils [PR93053] aarch64: Fix ICE due to aarch64_gen_compare_reg_maybe_ze [PR94435] re PR target/90724 (ICE with __sync_bool_compare_and_swap with -march=armv8.2-a+sve)
RE: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics
Hi Andre, > -Original Message- > From: Andre Vieira (lists) > Sent: 16 April 2020 13:24 > To: gcc-patches@gcc.gnu.org > Cc: Kyrylo Tkachov ; Richard Sandiford > ; s...@amazon.com > Subject: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics > > Hi, > > This series backports all the patches and fixes regarding outline > atomics to the gcc-8 branch. > > Bootstrapped the series for aarch64-linux-gnu and regression tested. > Is this OK for gcc-8? > > Andre Vieira (19): > aarch64: Add early clobber for aarch64_store_exclusive > aarch64: Simplify LSE cas generation > aarch64: Improve cas generation > aarch64: Improve swp generation > aarch64: Improve atomic-op lse generation > aarch64: Remove early clobber from ATOMIC_LDOP scratch > aarch64: Extend %R for integer registers > aarch64: Implement TImode compare-and-swap > aarch64: Tidy aarch64_split_compare_and_swap > aarch64: Add out-of-line functions for LSE atomics > Add visibility to libfunc constructors > aarch64: Implement -moutline-atomics > Aarch64: Fix shrinkwrapping interactions with atomics (PR92692) > aarch64: Fix store-exclusive in load-operate LSE helpers > aarch64: Configure for sys/auxv.h in libgcc for lse-init.c > aarch64: Fix up aarch64_compare_and_swaphi pattern [PR94368] > aarch64: Fix bootstrap with old binutils [PR93053] Thanks for putting these together. Before they can go in we need to get this fix for PR93053 into GCC 9. Can you please test it on that branch to help Jakub out? Thanks, Kyrill > aarch64: Fix ICE due to aarch64_gen_compare_reg_maybe_ze [PR94435] > re PR target/90724 (ICE with __sync_bool_compare_and_swap with > -march=armv8.2-a+sve)
Re: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics
On 20/04/2020 09:42, Kyrylo Tkachov wrote: Hi Andre, -Original Message- From: Andre Vieira (lists) Sent: 16 April 2020 13:24 To: gcc-patches@gcc.gnu.org Cc: Kyrylo Tkachov ; Richard Sandiford ; s...@amazon.com Subject: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics Hi, This series backports all the patches and fixes regarding outline atomics to the gcc-8 branch. Bootstrapped the series for aarch64-linux-gnu and regression tested. Is this OK for gcc-8? Andre Vieira (19): aarch64: Add early clobber for aarch64_store_exclusive aarch64: Simplify LSE cas generation aarch64: Improve cas generation aarch64: Improve swp generation aarch64: Improve atomic-op lse generation aarch64: Remove early clobber from ATOMIC_LDOP scratch aarch64: Extend %R for integer registers aarch64: Implement TImode compare-and-swap aarch64: Tidy aarch64_split_compare_and_swap aarch64: Add out-of-line functions for LSE atomics Add visibility to libfunc constructors aarch64: Implement -moutline-atomics Aarch64: Fix shrinkwrapping interactions with atomics (PR92692) aarch64: Fix store-exclusive in load-operate LSE helpers aarch64: Configure for sys/auxv.h in libgcc for lse-init.c aarch64: Fix up aarch64_compare_and_swaphi pattern [PR94368] aarch64: Fix bootstrap with old binutils [PR93053] Thanks for putting these together. Before they can go in we need to get this fix for PR93053 into GCC 9. Can you please test it on that branch to help Jakub out? Thanks, Kyrill Bootstrapped and regression tested the PR93053 fix from Jakub on gcc-9 branch and it looks good. aarch64: Fix ICE due to aarch64_gen_compare_reg_maybe_ze [PR94435] re PR target/90724 (ICE with __sync_bool_compare_and_swap with -march=armv8.2-a+sve)
RE: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics
Hi Andre, > -Original Message- > From: Andre Vieira (lists) > Sent: 22 April 2020 09:26 > To: Kyrylo Tkachov ; gcc-patches@gcc.gnu.org > Cc: Richard Sandiford ; s...@amazon.com > Subject: Re: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics > > > On 20/04/2020 09:42, Kyrylo Tkachov wrote: > > Hi Andre, > > > >> -Original Message- > >> From: Andre Vieira (lists) > >> Sent: 16 April 2020 13:24 > >> To: gcc-patches@gcc.gnu.org > >> Cc: Kyrylo Tkachov ; Richard Sandiford > >> ; s...@amazon.com > >> Subject: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics > >> > >> Hi, > >> > >> This series backports all the patches and fixes regarding outline > >> atomics to the gcc-8 branch. > >> > >> Bootstrapped the series for aarch64-linux-gnu and regression tested. > >> Is this OK for gcc-8? > >> > >> Andre Vieira (19): > >> aarch64: Add early clobber for aarch64_store_exclusive > >> aarch64: Simplify LSE cas generation > >> aarch64: Improve cas generation > >> aarch64: Improve swp generation > >> aarch64: Improve atomic-op lse generation > >> aarch64: Remove early clobber from ATOMIC_LDOP scratch > >> aarch64: Extend %R for integer registers > >> aarch64: Implement TImode compare-and-swap > >> aarch64: Tidy aarch64_split_compare_and_swap > >> aarch64: Add out-of-line functions for LSE atomics > >> Add visibility to libfunc constructors > >> aarch64: Implement -moutline-atomics > >> Aarch64: Fix shrinkwrapping interactions with atomics (PR92692) > >> aarch64: Fix store-exclusive in load-operate LSE helpers > >> aarch64: Configure for sys/auxv.h in libgcc for lse-init.c > >> aarch64: Fix up aarch64_compare_and_swaphi pattern [PR94368] > >> aarch64: Fix bootstrap with old binutils [PR93053] > > Thanks for putting these together. > > Before they can go in we need to get this fix for PR93053 into GCC 9. > > Can you please test it on that branch to help Jakub out? > > Thanks, > > Kyrill > Bootstrapped and regression tested the PR93053 fix from Jakub on gcc-9 > branch and it looks good. Thanks, can you please apply the patch to the gcc-9 branch then? (making sure the PR markers are there in the commit message so that Bugzilla is updated). We can then proceed with the GCC 8 backports. Kyrill > >> aarch64: Fix ICE due to aarch64_gen_compare_reg_maybe_ze [PR94435] > >> re PR target/90724 (ICE with __sync_bool_compare_and_swap with > >> -march=armv8.2-a+sve) > >
RE: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics
> -Original Message- > From: Kyrylo Tkachov > Sent: 22 April 2020 11:00 > To: Andre Vieira (lists) ; gcc- > patc...@gcc.gnu.org > Cc: Richard Sandiford ; s...@amazon.com > Subject: RE: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics > > Hi Andre, > > > -Original Message- > > From: Andre Vieira (lists) > > Sent: 22 April 2020 09:26 > > To: Kyrylo Tkachov ; gcc-patches@gcc.gnu.org > > Cc: Richard Sandiford ; s...@amazon.com > > Subject: Re: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics > > > > > > On 20/04/2020 09:42, Kyrylo Tkachov wrote: > > > Hi Andre, > > > > > >> -Original Message- > > >> From: Andre Vieira (lists) > > >> Sent: 16 April 2020 13:24 > > >> To: gcc-patches@gcc.gnu.org > > >> Cc: Kyrylo Tkachov ; Richard Sandiford > > >> ; s...@amazon.com > > >> Subject: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics > > >> > > >> Hi, > > >> > > >> This series backports all the patches and fixes regarding outline > > >> atomics to the gcc-8 branch. > > >> > > >> Bootstrapped the series for aarch64-linux-gnu and regression tested. > > >> Is this OK for gcc-8? > > >> > > >> Andre Vieira (19): > > >> aarch64: Add early clobber for aarch64_store_exclusive > > >> aarch64: Simplify LSE cas generation > > >> aarch64: Improve cas generation > > >> aarch64: Improve swp generation > > >> aarch64: Improve atomic-op lse generation > > >> aarch64: Remove early clobber from ATOMIC_LDOP scratch > > >> aarch64: Extend %R for integer registers > > >> aarch64: Implement TImode compare-and-swap > > >> aarch64: Tidy aarch64_split_compare_and_swap > > >> aarch64: Add out-of-line functions for LSE atomics > > >> Add visibility to libfunc constructors > > >> aarch64: Implement -moutline-atomics > > >> Aarch64: Fix shrinkwrapping interactions with atomics (PR92692) > > >> aarch64: Fix store-exclusive in load-operate LSE helpers > > >> aarch64: Configure for sys/auxv.h in libgcc for lse-init.c > > >> aarch64: Fix up aarch64_compare_and_swaphi pattern [PR94368] > > >> aarch64: Fix bootstrap with old binutils [PR93053] > > > Thanks for putting these together. > > > Before they can go in we need to get this fix for PR93053 into GCC 9. > > > Can you please test it on that branch to help Jakub out? > > > Thanks, > > > Kyrill > > Bootstrapped and regression tested the PR93053 fix from Jakub on gcc-9 > > branch and it looks good. > > Thanks, can you please apply the patch to the gcc-9 branch then? (making > sure the PR markers are there in the commit message so that Bugzilla is > updated). > We can then proceed with the GCC 8 backports. Now that that's done, this is ok to commit to the GCC 8 branch. Can you please prepare entries for the appropriate changes.html pages for the GCC 9 and 8 releases to indicate the new support? Thanks, Kyrill > > Kyrill > > > >> aarch64: Fix ICE due to aarch64_gen_compare_reg_maybe_ze [PR94435] > > >> re PR target/90724 (ICE with __sync_bool_compare_and_swap with > > >> -march=armv8.2-a+sve) > > >