There was a new effective-target predicate (thanks, Richard S),
but the droplet that broke the camel's back or something, wasn't
added to its target-list. Committed after brief testing
(checking that tests fail before, checking that tests pass after
patch).
Other observations:
- LOGICAL_OP_NON_SHORT_CIRCUIT should move into defaults.h
instead of the identical copies in fold-const.c and
tree-ssa-ifcombine.c (both default to BRANCH_COST >= 2).
- There seem to be more targets to add to that list (requires
grep and test) and more tests that should use the predicate
(requires at least brief analysis).
gcc/testsuite:
PR testsuite/60173
* lib/target-supports.exp
(check_effective_target_logical_op_short_circuit): Add cris-*-*
and crisv32-*-* to list.
Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp (revision 208041)
+++ gcc/testsuite/lib/target-supports.exp (working copy)
@@ -5696,6 +5696,7 @@ proc check_effective_target_logical_op_s
if { [istarget mips*-*-*]
|| [istarget arc*-*-*]
|| [istarget avr*-*-*]
+ || [istarget crisv32-*-*] || [istarget cris-*-*]
|| [check_effective_target_arm_cortex_m] } {
return 1
}
brgds, H-P