aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/optabs.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 8d89f08..3b116d3 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -949,7 +949,7 @@ expand_doubleword_mult (machine_mode mode, rtx op0, rtx op1, rtx target,
static rtx
expand_doubleword_mod (machine_mode mode, rtx op0, rtx op1, bool unsignedp)
{
- if (INTVAL (op1) <= 1)
+ if (INTVAL (op1) <= 1 || (INTVAL (op1) & 1) == 0)
return NULL_RTX;
rtx_insn *last = get_last_insn ();
@@ -2004,7 +2004,6 @@ expand_binop (machine_mode mode, optab binoptab, rtx op0, rtx op1,
&& CONST_INT_P (op1)
&& is_int_mode (mode, &int_mode)
&& GET_MODE_SIZE (int_mode) == 2 * UNITS_PER_WORD
- && optab_handler (lshr_optab, int_mode) != CODE_FOR_nothing
&& optab_handler (and_optab, word_mode) != CODE_FOR_nothing
&& optab_handler (add_optab, word_mode) != CODE_FOR_nothing
&& optimize_insn_for_speed_p ())