diff options
author | Jim Wilson <wilson@cygnus.com> | 1998-03-31 19:24:52 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1998-03-31 11:24:52 -0800 |
commit | 1a7cb241b30eace4ffa11d9254a442c830480050 (patch) | |
tree | c12913968eb1e8252b3df28cc04e032829d1d81c /gcc | |
parent | 221a9f65a1cf81b1987c151515f668b774c2e65f (diff) | |
download | gcc-1a7cb241b30eace4ffa11d9254a442c830480050.zip gcc-1a7cb241b30eace4ffa11d9254a442c830480050.tar.gz gcc-1a7cb241b30eace4ffa11d9254a442c830480050.tar.bz2 |
Fix alpha-vms packed-1 failure.
* alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
as dest of expand_binop call.
From-SVN: r18921
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.c | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9f8b341..6a0f856 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com> + * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr + as dest of expand_binop call. + * alpha.md (extzv): Correct check for valid operand[2] values. * profile.c (branch_prob): Add code to recognize HPPA tablejump entry diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 171b311..43aeab3 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -1337,7 +1337,10 @@ alpha_expand_unaligned_load (tgt, mem, size, ofs, sign) emit_insn (gen_extxl (extl, meml, GEN_INT (64), addr)); emit_insn (gen_extqh (exth, memh, addr)); - addr = expand_binop (DImode, ior_optab, extl, exth, addr, 1, OPTAB_WIDEN); + /* We must use tgt here for the target. Alpha-vms port fails if we use + addr for the target, because addr is marked as a pointer and combine + knows that pointers are always sign-extended 32 bit values. */ + addr = expand_binop (DImode, ior_optab, extl, exth, tgt, 1, OPTAB_WIDEN); addr = expand_binop (DImode, ashr_optab, addr, GEN_INT (48), addr, 1, OPTAB_WIDEN); } |