[PATCH, rs6000] Improve atomic_load/store code gen for Power8 TI mode

Bill Schmidt wschmidt@linux.vnet.ibm.com
Wed Apr 9 20:08:00 GMT 2014


On Wed, 2014-04-09 at 15:56 -0400, David Edelsohn wrote:
> I have reverted this on trunk and asked Bill to revert this on the 4.8
> branch. This patch is too risky to apply this close to a freeze for
> 4.9.

I've reverted this on 4.8 as r209254.

Thanks,
Bill

> 
> Sorry for the problems.
> 
> - David
> 
> 
> On Wed, Apr 9, 2014 at 2:56 PM, Bill Schmidt
> <wschmidt@linux.vnet.ibm.com> wrote:
> > On Tue, 2014-04-08 at 13:39 -0500, Pat Haugen wrote:
> >> On 03/25/2014 11:20 AM, Pat Haugen wrote:
> >> > Power8 can use lq/stq instructions for TI mode atomic_load/store.
> >> > Bootstrap/regtest with no new failures. Ok for trunk and 4.8 (once
> >> > bootstrap/regtest finishes)?
> >> >
> >> > -Pat
> >> >
> >> >
> >> > 2014-03-25  Pat Haugen <pthaugen@us.ibm.com>
> >> >
> >> >         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
> >> >         (loadsync_<mode>): Change mode.
> >> >         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
> >> >         (load_quadpti, store_quadpti): New.
> >> >         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
> >> >
> >> > gcc/testsuite:
> >> >         * gcc.target/powerpc/atomic_load_store-p8.c: New.
> >>
> >> Updated patch which was approved off list and I have committed.
> >>
> >
> > Unfortunately this broke bootstrap on powerpc64le-linux-gnu on 4.8:
> >
> > checking for suffix of executables... /home/wschmidt/gcc/gcc-4_8-base/libatomic\
> > /load_n.c: In function 'libat_load_16':
> > /home/wschmidt/gcc/gcc-4_8-base/libatomic/load_n.c:58:31: error: invalid failur\
> > e memory model for '__atomic_compare_exchange'
> >      atomic_compare_exchange_n (mptr, &t, 0, true,
> >                                ^
> > make[4]: *** [load_16_.lo] Error 1
> > make[4]: *** Waiting for unfinished jobs....
> >
> > Thanks,
> > Bill
> >
> 



More information about the Gcc-patches mailing list