diff options
author | walt <walt@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-08-27 17:27:04 +0000 |
---|---|---|
committer | walt <walt@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-08-27 17:27:04 +0000 |
commit | d789d72be457df9811328179702cab8ac5830465 (patch) | |
tree | 3dc6ee6adb05e3e6c1085bc2753027848a296a2c /gcc/config/tilegx/sync.md | |
parent | b41251d41eb883118767f29000b60f540e0a3401 (diff) | |
download | gcc-d789d72be457df9811328179702cab8ac5830465.tar.gz |
Properly set the latency of atomic ops to the approximate latency of a
remote memory operation.
* config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
atomic_exchange_bare<mode>,
atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
* config/tilegx/tilegx-generic.md (X1_remote): New
insn_reservation.
* config/tilegx/tilegx.md (type): Add X1_remove.
(insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
X1_remote.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190722 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/tilegx/sync.md')
-rw-r--r-- | gcc/config/tilegx/sync.md | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/tilegx/sync.md b/gcc/config/tilegx/sync.md index e4d1e074f1a..9bf61d17dbe 100644 --- a/gcc/config/tilegx/sync.md +++ b/gcc/config/tilegx/sync.md @@ -72,7 +72,7 @@ UNSPEC_CMPXCHG))] "" "cmpexch<four_if_si>\t%0, %1, %r2" - [(set_attr "type" "X1_L2")]) + [(set_attr "type" "X1_remote")]) (define_expand "atomic_exchange<mode>" @@ -101,7 +101,7 @@ UNSPEC_XCHG))] "" "exch<four_if_si>\t%0, %1, %r2" - [(set_attr "type" "X1_2cycle")]) + [(set_attr "type" "X1_remote")]) (define_expand "atomic_fetch_<fetchop_name><mode>" @@ -137,7 +137,7 @@ UNSPEC_ATOMIC))] "" "fetch<fetchop_name><four_if_si>\t%0, %1, %r2" - [(set_attr "type" "X1_2cycle")]) + [(set_attr "type" "X1_remote")]) (define_expand "atomic_fetch_sub<mode>" |