From: Jim Wilson Date: Tue, 31 Mar 1998 19:24:52 +0000 (+0000) Subject: Fix alpha-vms packed-1 failure. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1a7cb241b30eace4ffa11d9254a442c830480050;p=platform%2Fupstream%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 9f8b341..6a0f856 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 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); }