diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1994-12-29 11:06:04 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1994-12-29 11:06:04 -0800 |
commit | 2f97afcb1e412636ef3f3c2ede8f4cf365e76d29 (patch) | |
tree | bc814dcd42418a0c79d03370a0d9e70592c6d1a2 | |
parent | 7b3ba71bda2c9e29a82d11397091147317064906 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/expmed.c | 6 |
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 |