sparc.h (SPARC_RELAXED_ORDERING): Define to false.
* 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
This commit is contained in:
parent
0703dcebc3
commit
548a6c4f88
@ -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>
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user