+2016-05-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/neon.md (ashldi3_neon): Replace comparison of INTVAL of
+ operands[2] against 1 with comparison against CONST1_RTX.
+ (<shift>di3_neon): Likewise.
+ * config/arm/predicates.md (const0_operand): Replace with comparison
+ against CONST0_RTX.
+
2016-05-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.md (ashldi3): Replace comparison of INTVAL of
}
else
{
- if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 1
+ if (operands[2] == CONST1_RTX (SImode)
&& (!reg_overlap_mentioned_p (operands[0], operands[1])
|| REGNO (operands[0]) == REGNO (operands[1])))
/* This clobbers CC. */
}
else
{
- if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 1
+ if (operands[2] == CONST1_RTX (SImode)
&& (!reg_overlap_mentioned_p (operands[0], operands[1])
|| REGNO (operands[0]) == REGNO (operands[1])))
/* This clobbers CC. */
(match_test "const_ok_for_arm (~INTVAL (op))")))
(define_predicate "const0_operand"
- (and (match_code "const_int")
- (match_test "INTVAL (op) == 0")))
+ (match_test "op == CONST0_RTX (mode)"))
;; Something valid on the RHS of an ARM data-processing instruction
(define_predicate "arm_rhs_operand"