ia64.c (ia64_expand_call): Force function address to DImode.

* config/ia64/ia64.c (ia64_expand_call): Force function address
	to DImode.
	* config/ia64/ia64.md (call_gp): Put DImode on operand 0.

From-SVN: r72489
This commit is contained in:
Steve Ellcey 2003-10-14 19:25:54 +00:00 committed by Steve Ellcey
parent 553e5ce9e1
commit c80831866f
3 changed files with 8 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2003-10-14 Steve Ellcey <sje@cup.hp.com>
* 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 <uweigand@de.ibm.com>
* config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",

View file

@ -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. */

View file

@ -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"))