re PR target/89112 (Incorrect code generated by rs6000 memcmp expansion)
authorAaron Sawdey <acsawdey@linux.ibm.com>
Tue, 5 Feb 2019 16:30:45 +0000 (16:30 +0000)
committerAaron Sawdey <acsawdey@gcc.gnu.org>
Tue, 5 Feb 2019 16:30:45 +0000 (10:30 -0600)
2019-02-05  Aaron Sawdey  <acsawdey@linux.ibm.com>

PR target/89112
* config/rs6000/rs6000.md (<bd>tf_<mode>): Generate a local label
for the long branch case.

From-SVN: r268546

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 700e3fc1b34eb6140187d3012f3d7a7b5b5d2529..cbc8b3b242e2485eba407a3be1a99c9b0fdaabef 100644 (file)
@@ -1,3 +1,9 @@
+2019-02-05  Aaron Sawdey  <acsawdey@linux.ibm.com>
+
+       PR target/89112
+       * config/rs6000/rs6000.md (<bd>tf_<mode>): Generate a local label
+       for the long branch case.
+
 2019-02-05  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/89188
index 70a4900b067d43b3a2cf86b15ce51f8f7e13bf23..d246c30d13686b12b8f8968953a8813a552e784d 100644 (file)
   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], ".Lshort%=", 1, insn);
+      sprintf(seq, "<bd_neg> .Lshort%%=\;%s\;b %%l0\;.Lshort%%=:", bcs);
       return seq;
     }
 }