From 843fec55422d450549b2620949ea35c103e206ec Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Tue, 5 Oct 1993 22:17:23 -0400 Subject: [PATCH] (expand_call): Properly test if we need to promote operand; use convert_modes instead of convert_to_mode. From-SVN: r5622 --- gcc/calls.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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) -- 2.30.2