From 4cce9dd84a4d942ad6a443038aa80f301aa3784a Mon Sep 17 00:00:00 2001
From: Roger Sayle <roger@eyesopen.com>
Date: Wed, 28 Jan 2004 01:37:28 +0000
Subject: [PATCH] pa.c (emit_move_sequence): Check that operand1 is a CONST_INT
 before using INTVAL.

	* config/pa/pa.c (emit_move_sequence): Check that operand1 is a
	CONST_INT before using INTVAL.

From-SVN: r76776
---
 gcc/ChangeLog      | 5 +++++
 gcc/config/pa/pa.c | 5 ++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9b739909a8da..0b6819244b74 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-27  Roger Sayle  <roger@eyesopen.com>
+
+	* config/pa/pa.c (emit_move_sequence): Check that operand1 is a
+	CONST_INT before using INTVAL.
+
 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
 
 	* config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 9328531447e9..31883cee0474 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -1990,10 +1990,13 @@ emit_move_sequence (rtx *operands, enum machine_mode mode, rtx scratch_reg)
 	{
 	  rtx insn, temp;
 	  rtx op1 = operand1;
-	  HOST_WIDE_INT value = INTVAL (operand1);
+	  HOST_WIDE_INT value = 0;
 	  HOST_WIDE_INT insv = 0;
 	  int insert = 0;
 
+	  if (GET_CODE (operand1) == CONST_INT)
+	    value = INTVAL (operand1);
+
 	  if (TARGET_64BIT
 	      && GET_CODE (operand1) == CONST_INT
 	      && HOST_BITS_PER_WIDE_INT > 32
-- 
GitLab