This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] nested functions on SPARC
- To: Richard Henderson <rth at cygnus dot com>
- Subject: [PATCH] nested functions on SPARC
- From: Jakub Jelinek <jakub at redhat dot com>
- Date: Fri, 26 Nov 1999 15:00:58 +0100
- Cc: gcc-patches at egcs dot cygnus dot com
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)
___________________________________________________________________