public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [ob] Fix an RTL sharing bug in the ARM backend
@ 2009-04-23 15:18 Daniel Jacobowitz
  0 siblings, 0 replies; only message in thread
From: Daniel Jacobowitz @ 2009-04-23 15:18 UTC (permalink / raw)
  To: gcc-patches

This patch fixes several ICEs when running the testsuite with -mthumb
and -funroll-loops.

I read through the insv pattern several times looking for other
potential sharing problems.  I didn't spot any, but I don't have total
confidence in that either; I don't think this pattern was expecting to
be called after expansion.  But it is (via emit_move_insn for a
complex mode).

Tested on arm-none-eabi, committed as obvious.

-- 
Daniel Jacobowitz
CodeSourcery

2009-04-23  Daniel Jacobowitz  <dan@codesourcery.com>

	* config/arm/arm.md (insv): Do not share operands[0].

Index: config/arm/arm.md
===================================================================
--- config/arm/arm.md	(revision 145603)
+++ config/arm/arm.md	(working copy)
@@ -2280,7 +2280,7 @@
 	  }
       }
 
-    target = operands[0];
+    target = copy_rtx (operands[0]);
     /* Avoid using a subreg as a subtarget, and avoid writing a paradoxical 
        subreg as the final target.  */
     if (GET_CODE (target) == SUBREG)

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-04-23 15:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-23 15:18 [ob] Fix an RTL sharing bug in the ARM backend Daniel Jacobowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).