diff options
author | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-11 16:11:28 +0000 |
---|---|---|
committer | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-11 16:11:28 +0000 |
commit | b00f0d994fbf8c6a8eabf7ded1bccf1d2b63966d (patch) | |
tree | c7f52b707d3f9c206e1169f8eb194b6e9bfca2cc /gcc/config/bfin/bfin.opt | |
parent | 4fe5a2239c3b79e4c4d6d648b63ac42b733e6105 (diff) | |
download | gcc-b00f0d994fbf8c6a8eabf7ded1bccf1d2b63966d.tar.gz |
* config/bfin/bfin.md (define_attr "type"): Add "sync".
(define_insn_reservation "alu"): Likewise.
(csync, ssync): Now of type sync.
* config/bfin/bfin.h (TARGET_DEFAULT): Defaults to
-mcsync-anomaly -mspecld-anomaly.
* config/bfin/bfin.opt (mcsync): Remove.
(mcsync-anomaly, mspecld-anomaly): Add.
* config/bfin/bfin.c: Include "insn-codes.h".
(bfin_reorg): Extend to handle the CSYNC anomaly as well.
(TARGET_DEFAULT_TARGET_FLAGS): New.
* doc/invoke.texi: Document -mcsync-anomaly, -mspecld-anomaly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101880 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/bfin/bfin.opt')
-rw-r--r-- | gcc/config/bfin/bfin.opt | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/config/bfin/bfin.opt b/gcc/config/bfin/bfin.opt index da5fd59d08f..43f56c4d624 100644 --- a/gcc/config/bfin/bfin.opt +++ b/gcc/config/bfin/bfin.opt @@ -27,9 +27,14 @@ mlow64k Target Report Mask(LOW_64K) Program is entirely located in low 64k of memory -mcsync -Target Report Mask(CSYNC) -Avoid speculative loads by inserting CSYNC or equivalent +mcsync-anomaly +Target Report Mask(CSYNC_ANOMALY) +Work around a hardware anomaly by adding a number of NOPs before a +CSYNC or SSYNC instruction. + +mspecld-anomaly +Target Report Mask(SPECLD_ANOMALY) +Avoid speculative loads to work around a hardware anomaly. mid-shared-library Target Report Mask(ID_SHARED_LIBRARY) |