[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
This commit is contained in:
Richard Earnshaw 2019-10-22 13:16:42 +00:00 committed by Richard Earnshaw
parent 6c7b0df802
commit b747c18371
2 changed files with 5 additions and 1 deletions

View File

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

View File

@ -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;
}