From: Jakub Jelinek Date: Sun, 5 May 2002 21:45:02 +0000 (+0200) Subject: re PR target/6561 (sparc-sun-solaris2.7 C testsuite failure w/-mcpu=ultrasparc in... X-Git-Tag: releases/gcc-3.1.0~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3ddba7b9ce7426e7456c2d2b3fab69b932511f40;p=thirdparty%2Fgcc.git re PR target/6561 (sparc-sun-solaris2.7 C testsuite failure w/-mcpu=ultrasparc in execute/950511-1.c) PR target/6561 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2. From-SVN: r53193 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 42a05ef918e6..08ff8dc33f98 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-05-05 Jakub Jelinek + + PR target/6561 + * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2. + 2002-05-05 Franz Sirl * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements. diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index 727f680b1e3b..ebb6768ef88b 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -5803,6 +5803,13 @@ 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)