aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2003-10-10 18:25:26 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2003-10-10 14:25:26 -0400
commit0dd62597267bbe5c10c19f871fc6ba47abbbfbe7 (patch)
tree1a83e0c31ef33caaa0f37025c1bf2281a5773281 /gcc
parentd0fd1347361f5ff670cf2d3ae1822358e48065cc (diff)
downloadgcc-0dd62597267bbe5c10c19f871fc6ba47abbbfbe7.zip
gcc-0dd62597267bbe5c10c19f871fc6ba47abbbfbe7.tar.gz
gcc-0dd62597267bbe5c10c19f871fc6ba47abbbfbe7.tar.bz2
alpha.c (alpha_expand_block_mode): Don't use gen_lowpart and company except for REG.
* config/alpha/alpha.c (alpha_expand_block_mode): Don't use gen_lowpart and company except for REG. From-SVN: r72309
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/alpha/alpha.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a9a8523..5908a42 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-10-10 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
+ gen_lowpart and company except for REG.
+
2003-10-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index f7998cc..2da9f2b 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -4452,7 +4452,8 @@ alpha_expand_block_move (rtx operands[])
is held in the register. Nor if there is not a mode that
handles the exact size. */
mode = mode_for_size (bytes * BITS_PER_UNIT, MODE_INT, 1);
- if (mode != BLKmode
+ if (GET_CODE (tmp) == REG
+ && mode != BLKmode
&& GET_MODE_SIZE (GET_MODE (tmp)) >= bytes)
{
if (mode == TImode)
@@ -4572,7 +4573,7 @@ alpha_expand_block_move (rtx operands[])
tmp = XEXP (XEXP (orig_dst, 0), 0);
mode = mode_for_size (orig_bytes * BITS_PER_UNIT, MODE_INT, 1);
- if (GET_MODE (tmp) == mode)
+ if (GET_CODE (tmp) == REG && GET_MODE (tmp) == mode)
{
if (nregs == 1)
{