aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-12-29 16:42:16 -0800
committerRichard Henderson <rth@gcc.gnu.org>2004-12-29 16:42:16 -0800
commit0e4e8dab7bcb7c96781d593d836a3d38b6ac7230 (patch)
treedc0447f2f66e5963fbc93695bf3d5ef616eec9c0 /gcc
parentd9fa123367aeaf3cf316d4c0c3bcd8dea047dee8 (diff)
downloadgcc-0e4e8dab7bcb7c96781d593d836a3d38b6ac7230.zip
gcc-0e4e8dab7bcb7c96781d593d836a3d38b6ac7230.tar.gz
gcc-0e4e8dab7bcb7c96781d593d836a3d38b6ac7230.tar.bz2
* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): True.
From-SVN: r92722
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/sparc/sparc.c16
2 files changed, 17 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6e07150..17df25b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2003-12-29 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): True.
+
2004-12-29 Jeff Law <law@redhat.com>
* tree-outof-ssa.c (insert_backedge_copies): New function.
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index dd83f54..ccc8499 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -495,9 +495,19 @@ enum processor_type sparc_cpu;
#endif
/* The SPARC v9 architecture defines a relaxed memory ordering model (RMO)
- which requires this if enabled, though it is never used in userspace,
- and the Ultra3 processors don't implement it. */
-#define TARGET_RELAXED_ORDERING TARGET_V9
+ 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
struct gcc_target targetm = TARGET_INITIALIZER;