Commit 77f3f9bf by Matthew Wahab Committed by Matthew Wahab

re PR target/65697 (__atomic memory barriers not strong enough for __sync builtins)

2015-06-29  Matthew Wahab  <matthew.wahab@arm.com>

	PR target/65697
	* gcc.target/arm/armv-sync-comp-swap.c: New.
	* gcc.target/arm/armv-sync-op-acquire.c: New.
	* gcc.target/arm/armv-sync-op-full.c: New.
	* gcc.target/arm/armv-sync-op-release.c: New.

From-SVN: r225134
parent a96297a2
2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
PR target/65697
* gcc.target/arm/armv-sync-comp-swap.c: New.
* gcc.target/arm/armv-sync-op-acquire.c: New.
* gcc.target/arm/armv-sync-op-full.c: New.
* gcc.target/arm/armv-sync-op-release.c: New.
2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
PR target/65697
* config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
initial acquire barrier with final barrier.
......
/* { dg-do compile } */
/* { do-require-effective-target arm_arch_v8a_ok } */
/* { dg-options "-O2" } */
/* { dg-add-options arm_arch_v8a } */
#include "../aarch64/sync-comp-swap.x"
/* { dg-final { scan-assembler-times "ldrex" 2 } } */
/* { dg-final { scan-assembler-times "stlex" 2 } } */
/* { dg-final { scan-assembler-times "dmb" 2 } } */
/* { dg-do compile } */
/* { do-require-effective-target arm_arch_v8a_ok } */
/* { dg-options "-O2" } */
/* { dg-add-options arm_arch_v8a } */
#include "../aarch64/sync-op-acquire.x"
/* { dg-final { scan-assembler-times "ldrex" 1 } } */
/* { dg-final { scan-assembler-times "stlex" 1 } } */
/* { dg-final { scan-assembler-times "dmb" 1 } } */
/* { dg-do compile } */
/* { do-require-effective-target arm_arch_v8a_ok } */
/* { dg-options "-O2" } */
/* { dg-add-options arm_arch_v8a } */
#include "../aarch64/sync-op-full.x"
/* { dg-final { scan-assembler-times "ldrex" 12 } } */
/* { dg-final { scan-assembler-times "stlex" 12 } } */
/* { dg-final { scan-assembler-times "dmb" 12 } } */
/* { dg-do compile } */
/* { do-require-effective-target arm_arch_v8a_ok } */
/* { dg-options "-O2" } */
/* { dg-add-options arm_arch_v8a } */
#include "../aarch64/sync-op-release.x"
/* { dg-final { scan-assembler-times "stl" 1 } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment