From: sje Date: Tue, 14 Oct 2003 19:25:54 +0000 (+0000) Subject: * config/ia64/ia64.c (ia64_expand_call): Force function address X-Git-Tag: upstream/4.9.2~76038 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e569ee689ab9b22bb2b0d11063bbb0a79e005f3f;p=platform%2Fupstream%2Flinaro-gcc.git * config/ia64/ia64.c (ia64_expand_call): Force function address to DImode. * config/ia64/ia64.md (call_gp): Put DImode on operand 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72489 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b16d5b0..76be7d17 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-10-14 Steve Ellcey + + * config/ia64/ia64.c (ia64_expand_call): Force function address + to DImode. + * config/ia64/ia64.md (call_gp): Put DImode on operand 0. + 2003-10-14 Ulrich Weigand * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm", diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index b9a4537..1c94533e 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -1500,6 +1500,7 @@ ia64_expand_call (rtx retval, rtx addr, rtx nextarg ATTRIBUTE_UNUSED, rtx insn, b0; addr = XEXP (addr, 0); + addr = convert_memory_address (DImode, addr); b0 = gen_rtx_REG (DImode, R_BR (0)); /* ??? Should do this for functions known to bind local too. */ diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md index 9ead086..da7bff4 100644 --- a/gcc/config/ia64/ia64.md +++ b/gcc/config/ia64/ia64.md @@ -4731,7 +4731,7 @@ [(set_attr "itanium_class" "br,scall")]) (define_insn "call_gp" - [(call (mem:DI (match_operand 0 "call_operand" "?r,i")) + [(call (mem:DI (match_operand:DI 0 "call_operand" "?r,i")) (const_int 1)) (clobber (match_operand:DI 1 "register_operand" "=b,b")) (clobber (match_scratch:DI 2 "=&r,X"))