aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/emit-rtl.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0d7daa02..f8cacb7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index c96bc4e..9ba8539 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -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));