aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1994-12-29 11:06:04 -0800
committerJim Wilson <wilson@gcc.gnu.org>1994-12-29 11:06:04 -0800
commit2f97afcb1e412636ef3f3c2ede8f4cf365e76d29 (patch)
treebc814dcd42418a0c79d03370a0d9e70592c6d1a2 /gcc
parent7b3ba71bda2c9e29a82d11397091147317064906 (diff)
downloadgcc-2f97afcb1e412636ef3f3c2ede8f4cf365e76d29.zip
gcc-2f97afcb1e412636ef3f3c2ede8f4cf365e76d29.tar.gz
gcc-2f97afcb1e412636ef3f3c2ede8f4cf365e76d29.tar.bz2
(expand_mult_highpart): Use convert_modes instead of
gen_lowpart to do conversions. From-SVN: r8704
Diffstat (limited to 'gcc')
-rw-r--r--gcc/expmed.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 2b9a29b..b2862b6 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