This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch, arm, testsuite] fix regression in test di-longlong64-sync-withldrexd.c
- From: Richard Henderson <rth at redhat dot com>
- To: Greta Yorsh <Greta dot Yorsh at arm dot com>
- Cc: mikestump at comcast dot net, ramana at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Thu, 26 Jan 2012 07:55:22 +1100
- Subject: Re: [patch, arm, testsuite] fix regression in test di-longlong64-sync-withldrexd.c
- References: <001901ccdb76$fd38be40$f7aa3ac0$@Yorsh@arm.com>
On 01/26/2012 02:35 AM, Greta Yorsh wrote:
> Before the change, __sync_lock_release expanded into STRD, storing DI value 0.
The most important question is: Is STRD guaranteed to perform the store
atomically? (And conversely, does LDRD perform the load atomically?)
If so (even for a subset of arch revisions going forward), then the
correct solution is to define atomic_{load,store}di patterns.
If not, then your patch is correct.
r~