summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-09 12:26:57 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-09 12:26:57 +0000
commitdbd8525d9eaeb9319e670d602202e89694e821f7 (patch)
tree12440dc89b9e1de4bda2fdbf9fa3d3df9e47b7d5
parent357637609b4089c5857ee0b5a43986d8e94285b3 (diff)
downloadppe42-gcc-dbd8525d9eaeb9319e670d602202e89694e821f7.tar.gz
ppe42-gcc-dbd8525d9eaeb9319e670d602202e89694e821f7.zip
* combine.c (make_extraction): Don't make extension of CONST_INT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50491 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/combine.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 68eeab47a78..897ff2e1d35 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * combine.c (make_extraction): Don't make extension of CONST_INT.
+
2002-03-09 Alexandre Oliva <aoliva@redhat.com>
* config/mips/mips.c (function_arg_pass_by_reference): Force to 0
diff --git a/gcc/combine.c b/gcc/combine.c
index b734231480b..fb344ca1043 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -6032,6 +6032,9 @@ make_extraction (mode, inner, pos, pos_rtx, len,
if (mode == tmode)
return new;
+ if (GET_CODE (new) == CONST_INT)
+ return trunc_int_for_mode (INTVAL (new), mode);
+
/* If we know that no extraneous bits are set, and that the high
bit is not set, convert the extraction to the cheaper of
sign and zero extension, that are equivalent in these cases. */
OpenPOWER on IntegriCloud