This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[PATCH] nested functions on SPARC


Hi!

What was wrong with memory_operand for flush?
The new pattern leads into unrecognizable instruction (as gen_flush
is called with a MEM rtx and thus one ends up with a
(unspec_volatile [(mem (mem ()))] 4).
Alternatively, once can change all callers of gen_flush to do XEXP(,0)
first, but this seems to be far simpler.

1999-11-26  Jakub Jelinek  <jakub@redhat.com>

	* config/sparc/sparc.md (flush): Revert Oct, 14 change.

--- sparc.md.jj4	Thu Nov 25 17:36:34 1999
+++ sparc.md	Fri Nov 26 14:22:56 1999
@@ -8680,9 +8680,9 @@
 ;; Special pattern for the FLUSH instruction.
 
 (define_insn "flush"
-  [(unspec_volatile [(mem (match_operand 0 "address_operand" "p"))] 4)]
+  [(unspec_volatile [(match_operand 0 "memory_operand" "m")] 4)]
   ""
-  "* return TARGET_V9 ? \"flush\\t%a0\" : \"iflush\\t%a0\";"
+  "* return TARGET_V9 ? \"flush\\t%f0\" : \"iflush\\t%f0\";"
   [(set_attr "type" "misc")
    (set_attr "length" "1")])
 

Cheers,
    Jakub
___________________________________________________________________
Jakub Jelinek | jakub@redhat.com | http://sunsite.mff.cuni.cz/~jj
Linux version 2.3.18 on a sparc64 machine (1343.49 BogoMips)
___________________________________________________________________


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]