/* Check that

(define_expand "incscc"
  [(set (match_operand:SI 0 "s_register_operand" "=r,r")
        (plus:SI (match_operator:SI 2 "arm_comparison_operator"
                    [(match_operand:CC 3 "cc_register" "") (const_int 0)])
                 (match_operand:SI 1 "s_register_operand" "0,?r")))]
  "TARGET_32BIT"
  ""
)

(define_insn "*arm_incscc"
  [(set (match_operand:SI 0 "s_register_operand" "=r,r")
        (plus:SI (match_operator:SI 2 "arm_comparison_operator"
                    [(match_operand:CC 3 "cc_register" "") (const_int 0)])
                 (match_operand:SI 1 "s_register_operand" "0,?r")))]
  "TARGET_ARM"
  "@
  add%d2\\t%0, %1, #1
  mov%D2\\t%0, %1\;add%d2\\t%0, %1, #1"
  [(set_attr "conds" "use")
   (set_attr "length" "4,8")]
)

works when the condition code is the result of a maverick comparison.

Before removing ltgt and uneq from maverick_comparison_operators this would
generate an ICE at all optimization levels:
	incscc.c:38: error: unrecognizable insn:
	(insn 18 17 19 3 incscc.c:36 (set (reg:SI 146)
		(uneq:SI (reg:CCMAV 24 cc)
		    (const_int 0 [0x0]))) -1 (nil))
because define_cond_exec with maverick_comparison_operator would generate
these two conditions that then do not match arm_comparison_operator in the
incscc rules.
*/

foo(int i, double a, double b, double c)
{
	if (__builtin_isunordered(a,b)) i++;
	if (!__builtin_isunordered(b,c)) i++;
	return(i);
}
