aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-08-19 17:20:06 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-08-19 17:20:06 -0400
commite89f9d8a2f40707dea86d73dbfc22a76173a3d74 (patch)
tree93fd0ea53e8972f0d16c5af2abc07e39500f3b27 /gcc/config
parentef7a142481ce34ebd533e9f9f9c8da4e5ec01fcf (diff)
downloadgcc-e89f9d8a2f40707dea86d73dbfc22a76173a3d74.zip
gcc-e89f9d8a2f40707dea86d73dbfc22a76173a3d74.tar.gz
gcc-e89f9d8a2f40707dea86d73dbfc22a76173a3d74.tar.bz2
(sync_isync): Renamed from sync...
(sync_isync): Renamed from sync; added an isync insn after the sync to properly deal with PowerPC's with split I/D caches. From-SVN: r10253
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/rs6000/rs6000.md9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index cda871b..f8e52db 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -5553,11 +5553,12 @@
""
"")
-;; Sync instruction used for V.4 trampolines
-(define_insn "sync"
- [(unspec [(match_operand 0 "" "")] 1)]
+;; Synchronize instruction/data caches for V.4 trampolines
+(define_insn "sync_isync"
+ [(unspec [(match_operand 0 "memory_operand" "=m")] 1)]
""
- "sync")
+ "{dcs|sync}\;{ics|isync}"
+ [(set_attr "length" "8")])
;; Compare insns are next. Note that the RS/6000 has two types of compares,