From: Jeff Law Date: Sat, 27 Mar 1993 18:40:27 +0000 (-0700) Subject: * pa.md (cacheflush): New pattern. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0002b1a854d38d9ea0e663ca5ca82c9908e5bb8b;p=gcc.git * pa.md (cacheflush): New pattern. From-SVN: r3893 --- diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index ed528b41580..97a82f3aecb 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -2897,3 +2897,14 @@ else return \"fmpysub,sgl %1,%2,%0,%5,%3\"; }") + +;; Flush the I and D cache line found at the address in operand 0. +;; This is used by the trampoline code for nested functions. +;; So long as the trampoline itself is less than 32 bytes this +;; is sufficient. +(define_insn "cacheflush" + [(unspec_volatile [(const_int 1)] 0) + (use (match_operand:SI 0 "" ""))] + "" + "fdc %0\;sync\;fic %0\;sync\;nop\;nop\;nop\;nop\;nop\;nop\;nop" + [(set_attr "length" "11")])