From: Richard Kenner Date: Wed, 6 Oct 1993 02:17:23 +0000 (-0400) Subject: (expand_call): Properly test if we need to promote operand; use X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=843fec55422d450549b2620949ea35c103e206ec;p=gcc.git (expand_call): Properly test if we need to promote operand; use convert_modes instead of convert_to_mode. From-SVN: r5622 --- diff --git a/gcc/calls.c b/gcc/calls.c index 9334d95bf51..22cdf5c3511 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -1540,10 +1540,11 @@ expand_call (exp, target, ignore) /* If we are to promote the function arg to a wider mode, do it now. */ - if (GET_MODE (args[i].value) != VOIDmode - && GET_MODE (args[i].value) != args[i].mode) - args[i].value = convert_to_mode (args[i].mode, args[i].value, - args[i].unsignedp); + if (args[i].mode != TYPE_MODE (TREE_TYPE (args[i].tree_value))) + args[i].value + = convert_modes (args[i].mode, + TYPE_MODE (TREE_TYPE (args[i].tree_value)), + args[i].value, args[i].unsignedp); } #if defined(ACCUMULATE_OUTGOING_ARGS) && defined(REG_PARM_STACK_SPACE)