OSDN Git Service

* combine.c (make_extraction): Don't make extension of CONST_INT.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 9 Mar 2002 12:26:57 +0000 (12:26 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 9 Mar 2002 12:26:57 +0000 (12:26 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50491 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/combine.c

index 68eeab4..897ff2e 100644 (file)
@@ -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
index b734231..fb344ca 100644 (file)
@@ -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.  */