Previous: MODE_CC Condition Codes, Up: Condition Code


17.16.3 Macros to control conditional execution

There is one macro that may need to be defined for targets supporting conditional execution, independent of how they represent conditional branches.

— Macro: REVERSE_CONDEXEC_PREDICATES_P (op1, op2)

A C expression that returns true if the conditional execution predicate op1, a comparison operation, is the inverse of op2 and vice versa. Define this to return 0 if the target has conditional execution predicates that cannot be reversed safely. There is no need to validate that the arguments of op1 and op2 are the same, this is done separately. If no expansion is specified, this macro is defined as follows:

          #define REVERSE_CONDEXEC_PREDICATES_P (x, y) \
             (GET_CODE ((x)) == reversed_comparison_code ((y), NULL))