This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: libsanitizer merge from upstream r208536
- From: Peter Bergner <bergner at vnet dot ibm dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Konstantin Serebryany <konstantin dot s dot serebryany at gmail dot com>, Marek Polacek <polacek at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Dodji Seketeli <dodji at redhat dot com>, Dmitry Vyukov <dvyukov at google dot com>, "H.J. Lu" <hjl dot tools at gmail dot com>, Yuri Gribov <tetra2005 at gmail dot com>
- Date: Tue, 27 May 2014 17:24:43 -0500
- Subject: Re: libsanitizer merge from upstream r208536
- Authentication-results: sourceware.org; auth=none
- References: <CAGQ9bdyPk5MmNDvpdkqkx=bXjSM6wO76dUwyPa0Krrp_OTjXfw at mail dot gmail dot com> <1400855109 dot 12948 dot 146 dot camel at otta> <1400863633 dot 12948 dot 152 dot camel at otta> <1400871287 dot 12948 dot 160 dot camel at otta> <CAGQ9bdx4aTvz_+5doCS3vg1QQ4BEQYriG7Rh-GtPShD-oTyRxg at mail dot gmail dot com> <20140526055736 dot GZ10386 at tucnak dot redhat dot com> <CAGQ9bdxVhRKefUUM8xtDzsNA2qaWTa4gM-o-t8az=o+MQbATUA at mail dot gmail dot com> <1401157537 dot 7849 dot 5 dot camel at otta> <20140527180707 dot GR10386 at tucnak dot redhat dot com> <1401224528 dot 7849 dot 15 dot camel at otta> <20140527215033 dot GS10386 at tucnak dot redhat dot com> <1401228292 dot 7849 dot 23 dot camel at otta>
On Tue, 2014-05-27 at 17:04 -0500, Peter Bergner wrote:
> On Tue, 2014-05-27 at 23:50 +0200, Jakub Jelinek wrote:
> > Does ppc32 have any atomic 64-bit loads/stores (in the sense that the aligned
> > 64 bits are written as one memory transaction, not each 32-bit word
> > separately)?
>
> The only option I can think of would be using the floating point
> load/store instructions lfd/stfd. Of course if we're going to
> operate on them, then we'd need to copy them back to memory and
> then into the integer registers again....before copying them
> back to the FP registers (thru memory again) so we can store
> them with the stfd.
Looking at the atomic_store template expansion for atomic_uint64_t
which calls __sync_val_compare_and_swap, it does use lfd/stfd.
Peter