This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/72827] [7 Regression] gnat bootstrap broken on powerpc64le-linux-gnu
- From: "wschmidt at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 30 Aug 2016 20:52:40 +0000
- Subject: [Bug target/72827] [7 Regression] gnat bootstrap broken on powerpc64le-linux-gnu
- Auto-submitted: auto-generated
- References: <bug-72827-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72827
--- Comment #21 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
I think for the purposes of this bug we should be able to work around it by
forcing the offset register to be modified instead of the base register. Going
to try testing this:
Index: gcc/config/rs6000/rs6000.c
===================================================================
--- gcc/config/rs6000/rs6000.c (revision 239871)
+++ gcc/config/rs6000/rs6000.c (working copy)
@@ -24506,7 +24506,9 @@ rs6000_split_multireg_move (rtx dst, rtx src)
&& REG_P (basereg)
&& REG_P (offsetreg)
&& REGNO (basereg) != REGNO (offsetreg));
- if (REGNO (basereg) == 0)
+ if (REGNO (basereg) == 0
+ || REGNO (basereg) == STACK_POINTER_REGNUM
+ || REGNO (basereg) == HARD_FRAME_POINTER_REGNUM)
{
rtx tmp = offsetreg;
offsetreg = basereg;