Ping? http://gcc.gnu.org/ml/gcc-patches/2013-01/msg01441.html
I thought this was ok'd for 4.9 but I can't seem to find the ok email in the archives. Thanks, Kyrill > -----Original Message----- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Kyrylo Tkachov > Sent: 30 January 2013 15:55 > To: gcc-patches@gcc.gnu.org > Cc: Ramana Radhakrishnan; Richard Earnshaw > Subject: [PATCH][ARM][1/2] Load-acquire, store-release atomics in > AArch32 ARMv8 > > Hi all, > > This patch implements the atomic built-ins using the new ARMv8 load- > acquire > and store-release instructions. > They allow us to generate barrier-free code for a variety of atomic > operations such as: atomic load, atomic store, atomic compare and swap, > atomic {or, and, add, sub, xor}. > > Tests will come in a separate patch soon. > No regressions on arm-none-eabi. Bootstrap on armv7l-unknown-linux- > gnueabihf > successful. > > Ok for trunk (now or when stage 1 reopens)? > > Thanks, > Kyrill > > gcc/ChangeLog > > 2013-01-23 Kyrylo Tkachov <kyrylo.tkachov at arm.com> > > * config/arm/arm.c (arm_emit_load_exclusive): Add acq parameter. > Emit load-acquire versions when acq is true. > (arm_emit_store_exclusive): Add rel parameter. > Emit store-release versions when rel is true. > (arm_split_compare_and_swap): Use acquire-release instructions > instead > of barriers when appropriate. > (arm_split_atomic_op): Likewise. > * config/arm/arm.h (TARGET_HAVE_LDACQ): New macro. > * config/arm/unspecs.md (VUNSPEC_LAX): New unspec. > (VUNSPEC_SLX): Likewise. > (VUNSPEC_LDA): Likewise. > (VUNSPEC_STL): Likewise. > * config/arm/sync.md (atomic_load<mode>): New pattern. > (atomic_store<mode>): Likewise. > (arm_load_acquire_exclusive<mode>): Likewise. > (arm_load_acquire_exclusivesi): Likewise. > (arm_load_acquire_exclusivedi): Likewise. > (arm_store_release_exclusive<mode>): Likewise.