From: Jim Wilson Date: Thu, 29 Dec 1994 19:06:04 +0000 (-0800) Subject: (expand_mult_highpart): Use convert_modes instead of X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2f97afcb1e412636ef3f3c2ede8f4cf365e76d29;p=gcc.git (expand_mult_highpart): Use convert_modes instead of gen_lowpart to do conversions. From-SVN: r8704 --- diff --git a/gcc/expmed.c b/gcc/expmed.c index 2b9a29bf978..b2862b6de25 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -2487,7 +2487,7 @@ expand_mult_highpart (mode, op0, cnst1, target, unsignedp) tem = expand_mult (wider_mode, op0, wide_op1, NULL_RTX, unsignedp); tem = expand_shift (RSHIFT_EXPR, wider_mode, tem, build_int_2 (size, 0), NULL_RTX, 1); - return gen_lowpart (mode, tem); + return convert_modes (mode, wider_mode, tem, unsignedp); } if (target == 0) @@ -2532,7 +2532,7 @@ expand_mult_highpart (mode, op0, cnst1, target, unsignedp) /* Extract the high half of the just generated product. */ tem = expand_shift (RSHIFT_EXPR, wider_mode, tem, build_int_2 (size, 0), NULL_RTX, 1); - tem = gen_lowpart (mode, tem); + tem = convert_modes (mode, wider_mode, tem, unsignedp); /* We used the wrong signedness. Adjust the result. */ return expand_mult_highpart_adjust (mode, tem, op0, op1, target, unsignedp); @@ -2553,7 +2553,7 @@ expand_mult_highpart (mode, op0, cnst1, target, unsignedp) /* Extract the high half of the just generated product. */ tem = expand_shift (RSHIFT_EXPR, wider_mode, tem, build_int_2 (size, 0), NULL_RTX, 1); - return gen_lowpart (mode, tem); + return convert_modes (mode, wider_mode, tem, unsignedp); } /* Emit the code to divide OP0 by OP1, putting the result in TARGET