From bdaa01817bea122897d3baedfdeb7ada4517727c Mon Sep 17 00:00:00 2001
From: Geoffrey Keating <geoffk@redhat.com>
Date: Tue, 7 Nov 2000 18:51:05 +0000
Subject: [PATCH] rs6000.md (movdi_internal32+1): Use operand_subreg_force
 rather than gen_rtx_SUBREG.

	* config/rs6000/rs6000.md (movdi_internal32+1): Use
	operand_subreg_force rather than gen_rtx_SUBREG.
	(movdi_internal32+2): Likewise.

From-SVN: r37295
---
 gcc/ChangeLog               |  6 ++++++
 gcc/config/rs6000/rs6000.md | 12 ++++++++----
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4e63544d081d..fc173f2393e0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2000-11-07  Geoff Keating  <geoffk@redhat.com>
+
+	* config/rs6000/rs6000.md (movdi_internal32+1): Use
+	operand_subreg_force rather than gen_rtx_SUBREG.
+	(movdi_internal32+2): Likewise.
+
 2000-11-07  Philip Blundell  <philb@gnu.org>
 
 	* configure.in (arm*-*-linuxaout*): Obsolete, deleted.
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 43e74683bcf8..b324e3f2f396 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -7929,8 +7929,10 @@
   "
 {
   HOST_WIDE_INT value = INTVAL (operands[1]);
-  operands[2] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN == 0);
-  operands[3] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN != 0);
+  operands[2] = operand_subword_force (operands[0], WORDS_BIG_ENDIAN == 0,
+				       DImode);
+  operands[3] = operand_subword_force (operands[0], WORDS_BIG_ENDIAN != 0,
+				       DImode);
 #if HOST_BITS_PER_WIDE_INT == 32
   operands[4] = (value & 0x80000000) ? constm1_rtx : const0_rtx;
 #else
@@ -7947,8 +7949,10 @@
    (set (match_dup 3) (match_dup 5))]
   "
 {
-  operands[2] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN == 0);
-  operands[3] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN != 0);
+  operands[2] = operand_subword_force (operands[0], WORDS_BIG_ENDIAN == 0,
+				       DImode);
+  operands[3] = operand_subword_force (operands[0], WORDS_BIG_ENDIAN != 0,
+				       DImode);
   operands[4] = GEN_INT (CONST_DOUBLE_HIGH (operands[1]));
   operands[5] = GEN_INT (CONST_DOUBLE_LOW  (operands[1]));
 }")
-- 
GitLab