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]
Other format: [Raw text]

[committed] Fix interchanged base/index on PA hpux


The enclosed patch fixes a problem with base and index registers
being interchanged.  This affects hppa hpux targets.  Tested on
hppa2.0w-hp-hpux11.11 and hppa64-hp-hpux11.11 with no observed
regressions.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

2010-06-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR target/43740
	config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag for
	SET source operand from SET destination operand.

Index: config/pa/pa.c
===================================================================
--- config/pa/pa.c	(revision 160864)
+++ config/pa/pa.c	(working copy)
@@ -1699,10 +1699,6 @@
 		  && !REG_POINTER (operand0)
 		  && !HARD_REGISTER_P (operand0))
 		copy_reg_pointer (operand0, operand1);
-	      else if (REG_POINTER (operand0)
-		       && !REG_POINTER (operand1)
-		       && !HARD_REGISTER_P (operand1))
-		copy_reg_pointer (operand1, operand0);
 	    }
 	  
 	  /* When MEMs are broken out, the REG_POINTER flag doesn't


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