diff options
author | Andreas Krebbel <Andreas.Krebbel@de.ibm.com> | 2011-10-05 10:20:04 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2011-10-05 10:20:04 +0000 |
commit | 4d8752f06ca9fa584fc2e659ac0c06918af1089a (patch) | |
tree | 9da6d71a17c95dd413830a728a5bab8b63866e89 /gcc/expmed.c | |
parent | eb8f1123d9a6e25c288cac5a34e050c5292fd5b6 (diff) | |
download | gcc-4d8752f06ca9fa584fc2e659ac0c06918af1089a.zip gcc-4d8752f06ca9fa584fc2e659ac0c06918af1089a.tar.gz gcc-4d8752f06ca9fa584fc2e659ac0c06918af1089a.tar.bz2 |
expmed.c (expand_mult_highpart_optab): Replace optab_handler with the new widening_optab_handler.
2011-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* expmed.c (expand_mult_highpart_optab): Replace optab_handler
with the new widening_optab_handler.
From-SVN: r179541
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r-- | gcc/expmed.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c index 1528fbb..b3e6d6d 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -3467,7 +3467,7 @@ expand_mult_highpart_optab (enum machine_mode mode, rtx op0, rtx op1, /* Try widening multiplication. */ moptab = unsignedp ? umul_widen_optab : smul_widen_optab; - if (optab_handler (moptab, wider_mode) != CODE_FOR_nothing + if (widening_optab_handler (moptab, wider_mode, mode) != CODE_FOR_nothing && mul_widen_cost[speed][wider_mode] < max_cost) { tem = expand_binop (wider_mode, moptab, op0, narrow_op1, 0, @@ -3504,7 +3504,7 @@ expand_mult_highpart_optab (enum machine_mode mode, rtx op0, rtx op1, /* Try widening multiplication of opposite signedness, and adjust. */ moptab = unsignedp ? smul_widen_optab : umul_widen_optab; - if (optab_handler (moptab, wider_mode) != CODE_FOR_nothing + if (widening_optab_handler (moptab, wider_mode, mode) != CODE_FOR_nothing && size - 1 < BITS_PER_WORD && (mul_widen_cost[speed][wider_mode] + 2 * shift_cost[speed][mode][size-1] + 4 * add_cost[speed][mode] < max_cost)) |