From patchwork Fri Jun 18 00:37:35 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [committed] Fix interchanged base/index on PA hpux Date: Thu, 17 Jun 2010 14:37:35 -0000 From: John David Anglin X-Patchwork-Id: 56098 Message-Id: <20100618003735.E50864FA3@hiauly1.hia.nrc.ca> To: gcc-patches@gcc.gnu.org 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 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