https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89112

--- Comment #5 from acsawdey at gcc dot gnu.org ---
This patch fixes the issue on trunk:

Index: gcc/config/rs6000/rs6000.md
===================================================================
--- gcc/config/rs6000/rs6000.md (revision 268403)
+++ gcc/config/rs6000/rs6000.md (working copy)
@@ -12639,8 +12639,8 @@
   else
     {
       static char seq[96];
-      char *bcs = output_cbranch (operands[3], "$+8", 1, insn);
-      sprintf(seq, "<bd_neg> $+12\;%s;b %%l0", bcs);
+      char *bcs = output_cbranch (operands[3], ".L%=", 1, insn);
+      sprintf(seq, "<bd_neg> .L%%=\;%s\;b %%l0\;.L%%=:", bcs);
       return seq;
     }
 }

I'm testing now, I will get this posted. Once approved for backport I'll apply
the same thing to gcc-8-branch for inclusion in the next 8 release.

Reply via email to