From b746b8cb0a67a45e05da62c250a778033a1a9195 Mon Sep 17 00:00:00 2001
From: Alexander Kabaev <kan@FreeBSD.ORG>
Date: Thu, 24 Apr 2003 19:15:29 +0000
Subject: [PATCH] sparc.md (umulsidi3, mulsidi3): Avoid using
 const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets where...

2003-04-24  Alexander Kabaev <kan@FreeBSD.ORG>

	* config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
	const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
	where they might be not present. Use their _sp64 equivalent
	instead.

From-SVN: r66047
---
 gcc/ChangeLog             |  7 +++++++
 gcc/config/sparc/sparc.md | 10 ++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9b3a1fa3021e..1ae16b22ae76 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2003-04-24  Alexander Kabaev <kan@FreeBSD.ORG>
+
+	* config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
+	const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets 
+	where they might be not present. Use their _sp64 equivalent
+	instead.
+
 Thu Apr 24 20:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
 
 	* i386.md (cvtsi2sdq): Fix typo in previous patch.
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index bc8c634ac18d..36b213d63d94 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -5289,9 +5289,12 @@
       if (TARGET_V8PLUS)
 	emit_insn (gen_const_mulsidi3_v8plus (operands[0], operands[1],
 					      operands[2]));
-      else
+      else if (TARGET_ARCH32)
 	emit_insn (gen_const_mulsidi3_sp32 (operands[0], operands[1],
 					    operands[2]));
+      else 
+	emit_insn (gen_const_mulsidi3_sp64 (operands[0], operands[1],
+					    operands[2]));
       DONE;
     }
   if (TARGET_V8PLUS)
@@ -5495,9 +5498,12 @@
       if (TARGET_V8PLUS)
 	emit_insn (gen_const_umulsidi3_v8plus (operands[0], operands[1],
 					       operands[2]));
-      else
+      else if (TARGET_ARCH32)
 	emit_insn (gen_const_umulsidi3_sp32 (operands[0], operands[1],
 					     operands[2]));
+      else 
+	emit_insn (gen_const_umulsidi3_sp64 (operands[0], operands[1],
+					     operands[2]));
       DONE;
     }
   if (TARGET_V8PLUS)
-- 
GitLab