]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/6561 (sparc-sun-solaris2.7 C testsuite failure w/-mcpu=ultrasparc in...
authorJakub Jelinek <jakub@redhat.com>
Sun, 5 May 2002 21:45:02 +0000 (23:45 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sun, 5 May 2002 21:45:02 +0000 (23:45 +0200)
PR target/6561
* config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.

From-SVN: r53193

gcc/ChangeLog
gcc/config/sparc/sparc.md

index 42a05ef918e6ea493edf5aa449a40088d3b4c039..08ff8dc33f98b1fbeb2886e2b8e49ab68398ad47 100644 (file)
@@ -1,3 +1,8 @@
+2002-05-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/6561
+       * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
+
 2002-05-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
        * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
index 727f680b1e3b4ccc50a609c8ab4942fe62994519..ebb6768ef88bd3128a36c743a42a74c12102caec 100644 (file)
       else
        return \"sllx\\t%H1, 32, %3\\n\\tor\\t%L1, %3, %3\\n\\tmulx\\t%3, %2, %3\\n\\tsrlx\\t%3, 32, %H0\\n\\tmov\\t%3, %L0\";
     }
+  else if (rtx_equal_p (operands[1], operands[2]))
+    {
+      if (which_alternative == 1)
+       return \"or\\t%L1, %H1, %H1\\n\\tmulx\\t%H1, %H1, %L0\;srlx\\t%L0, 32, %H0\";
+      else
+       return \"sllx\\t%H1, 32, %3\\n\\tor\\t%L1, %3, %3\\n\\tmulx\\t%3, %3, %3\\n\\tsrlx\\t%3, 32, %H0\\n\\tmov\\t%3, %L0\";
+    }
   if (sparc_check_64 (operands[2], insn) <= 0)
     output_asm_insn (\"srl\\t%L2, 0, %L2\", operands);
   if (which_alternative == 1)