emit-rtl.c (gen_lowpart): Don't attempt to load a part of a complex or vector type...
authorRoger Sayle <roger@eyesopen.com>
Sat, 8 Mar 2003 19:24:02 +0000 (19:24 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Sat, 8 Mar 2003 19:24:02 +0000 (19:24 +0000)
* emit-rtl.c (gen_lowpart): Don't attempt to load a part of
a complex or vector type, using a load in the original mode.

From-SVN: r64000

gcc/ChangeLog
gcc/emit-rtl.c

index 0d7daa027d845685cfcf50e2bc6ec78ec2e1d89a..f8cacb773103ced1a8b2002df907b0a688992183 100644 (file)
@@ -1,3 +1,8 @@
+2003-03-08  Roger Sayle  <roger@eyesopen.com>
+
+       * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
+       a complex or vector type, using a load in the original mode.
+
 Sat Mar  8 19:22:30 CET 2003  Jan Hubicka  <jh@suse.cz>
 
        * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
index c96bc4e200e79bfab6a51f1f40e0f08cf17b7b30..9ba853969014b023a1c97e026fab659b48e6dede 100644 (file)
@@ -1374,6 +1374,7 @@ gen_lowpart (mode, x)
 
       /* The following exposes the use of "x" to CSE.  */
       if (GET_MODE_SIZE (GET_MODE (x)) <= UNITS_PER_WORD
+         && SCALAR_INT_MODE_P (GET_MODE (x))
          && ! no_new_pseudos)
        return gen_lowpart (mode, force_reg (GET_MODE (x), x));