From: Jim Wilson Date: Tue, 31 Mar 1998 19:24:52 +0000 (+0000) Subject: Fix alpha-vms packed-1 failure. X-Git-Tag: prereleases/egcs-1.1-prerelease~1870 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1a7cb241b30eace4ffa11d9254a442c830480050;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9f8b341257af..6a0f85658071 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Tue Mar 31 16:57:33 1998 Jim Wilson + * 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 171b311e201c..43aeab37161f 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); }