diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2002-03-09 12:26:57 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2002-03-09 07:26:57 -0500 |
commit | 0a7ec76355b0e53a3f48727f7ae8e3c5f812458b (patch) | |
tree | 12440dc89b9e1de4bda2fdbf9fa3d3df9e47b7d5 | |
parent | abfabb9850c06baa1514ea9306f0ae95c2a71783 (diff) | |
download | gcc-0a7ec76355b0e53a3f48727f7ae8e3c5f812458b.zip gcc-0a7ec76355b0e53a3f48727f7ae8e3c5f812458b.tar.gz gcc-0a7ec76355b0e53a3f48727f7ae8e3c5f812458b.tar.bz2 |
* combine.c (make_extraction): Don't make extension of CONST_INT.
From-SVN: r50491
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/combine.c | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 68eeab4..897ff2e 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 b734231..fb344ca 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. */ |