diff options
| author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-30 00:42:16 +0000 |
|---|---|---|
| committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-30 00:42:16 +0000 |
| commit | b0b4db4a4e2ac2a831eb6cc27c22ce7aaee83a32 (patch) | |
| tree | dc0447f2f66e5963fbc93695bf3d5ef616eec9c0 | |
| parent | 416ce3443860d826721b565f772930729459fceb (diff) | |
| download | ppe42-gcc-b0b4db4a4e2ac2a831eb6cc27c22ce7aaee83a32.tar.gz ppe42-gcc-b0b4db4a4e2ac2a831eb6cc27c22ce7aaee83a32.zip | |
* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): True.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92722 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/config/sparc/sparc.c | 16 |
2 files changed, 17 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6e071508532..17df25bcdbc 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 dd83f544b4f..ccc84998e08 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; |

