RE: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics

2020-04-22 Thread Kyrylo Tkachov


> -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)
> > >


RE: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics

2020-04-22 Thread Kyrylo Tkachov
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

2020-04-22 Thread Andre Vieira (lists)



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

2020-04-20 Thread Kyrylo Tkachov
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

2020-04-17 Thread Pop, Sebastian via Gcc-patches
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

2020-04-16 Thread Pop, Sebastian via Gcc-patches
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

2020-04-16 Thread Andre Vieira (lists)

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.