diff mbox

[ARM] Replace dmb sy with dmb ish

Message ID 54639197.2030505@arm.com
State New
Headers show

Commit Message

Ramana Radhakrishnan Nov. 12, 2014, 4:57 p.m. UTC
Hans Boehm pointed out that we were using dmb sy instead of dmb ish. 
Given that the ARM-ARM says that the inner shareability domain is really 
the one that contains all PE's controlled by a single hypervisor or 
operating system, it would be safe to replace all dmb sy's with dmb ish's.

This is also in line with what we do in the AArch64 backend.

Will apply after a test run tonight on armhf.

regards
Ramana


	* config/arm/sync.md (memory_barrier): Use dmb ish.
commit fca60730dee3281db4b688d9029ef08688507843
Author: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Date:   Fri Sep 26 09:08:20 2014 +0100

    Use dmb ish instead of dmb sy for ARM.
diff mbox

Patch

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 06c4f0a..0614c50 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@ 
+2014-09-26  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+	* config/arm/sync.md (memory_barrier): Use dmb ish.
+
 2014-09-25  Alexander Ivchenko  <alexander.ivchenko@intel.com>
 	    Maxim Kuznetsov  <maxim.kuznetsov@intel.com>
 	    Anna Tikhonova  <anna.tikhonova@intel.com>
diff --git a/gcc/config/arm/sync.md b/gcc/config/arm/sync.md
index aa8e9ab..2f4f478 100644
--- a/gcc/config/arm/sync.md
+++ b/gcc/config/arm/sync.md
@@ -50,10 +50,9 @@ 
   {
     if (TARGET_HAVE_DMB)
       {
-	/* Note we issue a system level barrier. We should consider issuing
-	   a inner shareabilty zone barrier here instead, ie. "DMB ISH".  */
-	/* ??? Differentiate based on SEQ_CST vs less strict?  */
-	return "dmb\tsy";
+	/* We used to issue a system level barrier. We now issue an
+	inner shareabilty zone barrier here instead, ie. "DMB ISH".  */
+	return "dmb\tish";
       }
 
     if (TARGET_HAVE_DMB_MCR)