]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sparc.h (SPARC_RELAXED_ORDERING): Define to false.
authorEric Botcazou <ebotcazou@libertysurf.fr>
Mon, 3 Jan 2005 08:23:58 +0000 (09:23 +0100)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Mon, 3 Jan 2005 08:23:58 +0000 (08:23 +0000)
* config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
* config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
* config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
SPARC_RELAXED_ORDERING.

From-SVN: r92824

gcc/ChangeLog
gcc/config/sparc/linux.h
gcc/config/sparc/linux64.h
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.h

index 699953832561697abc6a924bbff134e467f6c09d..ba78b2cb4be6994606ac802eb9d71347dea19896 100644 (file)
@@ -1,3 +1,11 @@
+2005-01-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
+       * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
+       * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
+       * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
+       SPARC_RELAXED_ORDERING.
+
 2005-01-03  Richard Henderson  <rth@redhat.com>
            Uros Bizjak  <uros@kss-loka.si>
 
index 2116cb4adbf05bfa3300d404f7d5460763ade3c5..ec95ae6e30dc8d2ae6634cf54911d2bfb44940e8 100644 (file)
@@ -234,3 +234,9 @@ do {                                                                        \
 #endif
 
 #define MD_UNWIND_SUPPORT "config/sparc/linux-unwind.h"
+
+/* Linux currently uses RMO in uniprocessor mode, which is equivalent to
+   TMO, and TMO in multiprocessor mode.  But they reserve the right to
+   change their minds.  */
+#undef SPARC_RELAXED_ORDERING
+#define SPARC_RELAXED_ORDERING true
index 0b91659abd2ae6126c7b74e37e860bd0a5745d1b..deaea7795868fc285762078d17e647bdcc9c1fd8 100644 (file)
@@ -371,3 +371,9 @@ do {                                                                        \
 #endif
 
 #define MD_UNWIND_SUPPORT "config/sparc/linux-unwind.h"
+
+/* Linux currently uses RMO in uniprocessor mode, which is equivalent to
+   TMO, and TMO in multiprocessor mode.  But they reserve the right to
+   change their minds.  */
+#undef SPARC_RELAXED_ORDERING
+#define SPARC_RELAXED_ORDERING true
index c15a406d1f90263f1915221d04ec0a5cf3af8b55..5415beaf7f8ca4e5a4e19e8ddfb9517a4717e160 100644 (file)
@@ -498,20 +498,8 @@ enum processor_type sparc_cpu;
 #define TARGET_ATTRIBUTE_TABLE sparc_attribute_table
 #endif
 
-/* The SPARC v9 architecture defines a relaxed memory ordering model (RMO)
-   which requires this if enabled.  Prior to v9, there are no instructions
-   to even talk about memory syncronization.  The Ultra3 processor doesn't
-   implement RMO.
-
-   Solaris never enables RMO; only ever uses total memory ordering (TMO.
-
-   Linux currently uses RMO in uniprocessor mode, which is equivalent to
-   TMO, and TMO in multiprocessor mode.  But they reserve the right to
-   change their minds.  */
-/* ??? Getting the configury correct is harder than it's worth.  Just
-   enable it all the time.  */
 #undef TARGET_RELAXED_ORDERING
-#define TARGET_RELAXED_ORDERING true
+#define TARGET_RELAXED_ORDERING SPARC_RELAXED_ORDERING
 
 struct gcc_target targetm = TARGET_INITIALIZER;
 \f
index 3b6ea6c67ef8747ede3e062e0babe555fd9bb572..673b1da854ffcd6165b250fabf95cdeec06e8539 100644 (file)
@@ -204,6 +204,16 @@ extern enum cmodel sparc_cmodel;
 
 #define SPARC_DEFAULT_CMODEL CM_32
 
+/* The SPARC-V9 architecture defines a relaxed memory ordering model (RMO)
+   which requires the following macro to be true if enabled.  Prior to V9,
+   there are no instructions to even talk about memory synchronization.
+   Note that the UltraSPARC III processors don't implement RMO, unlike the
+   UltraSPARC II processors.
+
+   Default to false; for example, Solaris never enables RMO, only ever uses
+   total memory ordering (TMO).  */
+#define SPARC_RELAXED_ORDERING false
+
 /* This is call-clobbered in the normal ABI, but is reserved in the
    home grown (aka upward compatible) embedded ABI.  */
 #define EMBMEDANY_BASE_REG "%g4"