Re: [patch, arm, testsuite] fix regression in test di-longlong64-sync-withldrexd.c

2012-01-26 Thread Ramana Radhakrishnan
On 25 January 2012 20:55, Richard Henderson wrote: > 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 LDR

Re: [patch, arm, testsuite] fix regression in test di-longlong64-sync-withldrexd.c

2012-01-25 Thread Richard Henderson
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 arc

RE: [patch, arm, testsuite] fix regression in test di-longlong64-sync-withldrexd.c

2012-01-25 Thread Greta Yorsh
On 25 January 2012, at 18:14, Mike Stump wrote: > On Jan 25, 2012, at 7:35 AM, Greta Yorsh wrote: > > The test gcc.target/arm/di-longlong64-sync-withldrexd.c fails on > > arm-none-eabi target, because gcc generates 48 LDREXD and 48 STREXD > > instructions instead of the expected 46. > > > > FAIL: g

Re: [patch, arm, testsuite] fix regression in test di-longlong64-sync-withldrexd.c

2012-01-25 Thread Mike Stump
On Jan 25, 2012, at 7:35 AM, Greta Yorsh wrote: > The test gcc.target/arm/di-longlong64-sync-withldrexd.c fails on > arm-none-eabi target, because gcc generates 48 LDREXD and 48 STREXD > instructions instead of the expected 46. > > FAIL: gcc.target/arm/di-longlong64-sync-withldrexd.c scan-assemble

[patch, arm, testsuite] fix regression in test di-longlong64-sync-withldrexd.c

2012-01-25 Thread Greta Yorsh
The test gcc.target/arm/di-longlong64-sync-withldrexd.c fails on arm-none-eabi target, because gcc generates 48 LDREXD and 48 STREXD instructions instead of the expected 46. FAIL: gcc.target/arm/di-longlong64-sync-withldrexd.c scan-assembler-times tldrexd 46 FAIL: gcc.target/arm/di-longlong64-sync