summaryrefslogtreecommitdiff
path: root/gcc/config/tilegx/sync.md
diff options
context:
space:
mode:
authorwalt <walt@138bc75d-0d04-0410-961f-82ee72b054a4>2012-08-27 17:27:04 +0000
committerwalt <walt@138bc75d-0d04-0410-961f-82ee72b054a4>2012-08-27 17:27:04 +0000
commitd789d72be457df9811328179702cab8ac5830465 (patch)
tree3dc6ee6adb05e3e6c1085bc2753027848a296a2c /gcc/config/tilegx/sync.md
parentb41251d41eb883118767f29000b60f540e0a3401 (diff)
downloadgcc-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.md6
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>"