Commit b747c183 by Richard Earnshaw Committed by Richard Earnshaw

[arm] make arm_carry_operation and arm_borrow_operation duals

Arm_carry_operation and arm_borrow_operation are duals: given that we
have a comparison that returns a result that relies solely in the
carry flag one is the inverse of the other.  So there's no reason for
one to have a CC mode that the other does not have.  This patch
restores that equivalence.

	* config/arm/predicates.md (arm_borrow_operation): Handle CC_ADCmode.

From-SVN: r277289
parent 6c7b0df8
2019-10-22 Richard Earnshaw <rearnsha@arm.com>
* config/arm/predicates.md (arm_borrow_operation): Handle CC_ADCmode.
2019-10-22 Richard Biener <rguenther@suse.de>
PR tree-optimization/92173
......@@ -398,7 +398,7 @@
machine_mode ccmode = GET_MODE (op0);
if (ccmode == CC_Cmode)
return GET_CODE (op) == GEU;
else if (ccmode == CCmode || ccmode == CC_RSBmode)
else if (ccmode == CCmode || ccmode == CC_RSBmode || ccmode == CC_ADCmode)
return GET_CODE (op) == LTU;
return false;
}
......
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