[ARM][4/4] Simplify checks for CONST_INT_P and comparison against 1/0

* 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.

From-SVN: r236641
This commit is contained in:
Kyrylo Tkachov 2016-05-24 14:04:03 +00:00 committed by Kyrylo Tkachov
parent dec21bbc97
commit d1fb69400e
3 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,11 @@
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

View File

@ -1082,7 +1082,7 @@
}
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. */
@ -1184,7 +1184,7 @@
}
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. */

View File

@ -141,8 +141,7 @@
(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"