diff options
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index 205dc78f9d8..e2063c1950f 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -5624,7 +5624,7 @@ force_operand (rtx value, rtx target) return target; } - if (GET_RTX_CLASS (code) == '2' || GET_RTX_CLASS (code) == 'c') + if (ARITHMETIC_P (value)) { op2 = XEXP (value, 1); if (!CONSTANT_P (op2) && !(GET_CODE (op2) == REG && op2 != subtarget)) @@ -5693,7 +5693,7 @@ force_operand (rtx value, rtx target) target, 1, OPTAB_LIB_WIDEN); } } - if (GET_RTX_CLASS (code) == '1') + if (UNARY_P (value)) { op1 = force_operand (XEXP (value, 0), NULL_RTX); return expand_simple_unop (GET_MODE (value), code, op1, target, 0); |