This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [cond-optab] Convert arm
>> -;; True for comparisons other than LTGT or UNEQ.
>> +;; True for integer comparisons and, if FP is active, for comparisons
>> +;; other than LTGT or UNEQ.
>> (define_special_predicate "arm_comparison_operator"
>> - (match_code "eq,ne,le,lt,ge,gt,geu,gtu,leu,ltu,unordered,ordered,unlt,unle,unge,ungt"))
>> + (ior (match_code "eq,ne,le,lt,ge,gt,geu,gtu,leu,ltu")
>> + (and (match_test "TARGET_32BIT && TARGET_HARD_FLOAT
>> + && (TARGET_FPA || TARGET_VFP)")
>> + (match_code "unordered,ordered,unlt,unle,unge,ungt"))))
>
> Shouldn't that test also include TARGET_MAVERICK?
I got it from:
(define_expand "bunordered"
[(set (pc)
(if_then_else (unordered (match_dup 1) (const_int 0))
(label_ref (match_operand 0 "" ""))
(pc)))]
"TARGET_32BIT && TARGET_HARD_FLOAT && (TARGET_FPA || TARGET_VFP)"
"operands[1] = arm_gen_compare_reg (UNORDERED, arm_compare_op0,
arm_compare_op1);"
)
But the comment "if FP is active" is inexact, I agree.
Paolo