From 0a7ec76355b0e53a3f48727f7ae8e3c5f812458b Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 9 Mar 2002 12:26:57 +0000 Subject: [PATCH] * combine.c (make_extraction): Don't make extension of CONST_INT. From-SVN: r50491 --- gcc/ChangeLog | 4 ++++ gcc/combine.c | 3 +++ 2 files changed, 7 insertions(+) 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 + + * combine.c (make_extraction): Don't make extension of CONST_INT. + 2002-03-09 Alexandre Oliva * 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. */