This is the mail archive of the gcc-bugs@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]

[Bug target/72827] [7 Regression] gnat bootstrap broken on powerpc64le-linux-gnu


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;

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