Commit d1fb6940 by Kyrylo Tkachov Committed by Kyrylo Tkachov

[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
parent dec21bbc
2016-05-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 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 * config/arm/arm.md (ashldi3): Replace comparison of INTVAL of
operands[2] against 1 with comparison against CONST1_RTX. operands[2] against 1 with comparison against CONST1_RTX.
(ashrdi3): Likewise. (ashrdi3): Likewise.
......
...@@ -1082,7 +1082,7 @@ ...@@ -1082,7 +1082,7 @@
} }
else 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]) && (!reg_overlap_mentioned_p (operands[0], operands[1])
|| REGNO (operands[0]) == REGNO (operands[1]))) || REGNO (operands[0]) == REGNO (operands[1])))
/* This clobbers CC. */ /* This clobbers CC. */
...@@ -1184,7 +1184,7 @@ ...@@ -1184,7 +1184,7 @@
} }
else 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]) && (!reg_overlap_mentioned_p (operands[0], operands[1])
|| REGNO (operands[0]) == REGNO (operands[1]))) || REGNO (operands[0]) == REGNO (operands[1])))
/* This clobbers CC. */ /* This clobbers CC. */
......
...@@ -141,8 +141,7 @@ ...@@ -141,8 +141,7 @@
(match_test "const_ok_for_arm (~INTVAL (op))"))) (match_test "const_ok_for_arm (~INTVAL (op))")))
(define_predicate "const0_operand" (define_predicate "const0_operand"
(and (match_code "const_int") (match_test "op == CONST0_RTX (mode)"))
(match_test "INTVAL (op) == 0")))
;; Something valid on the RHS of an ARM data-processing instruction ;; Something valid on the RHS of an ARM data-processing instruction
(define_predicate "arm_rhs_operand" (define_predicate "arm_rhs_operand"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment