This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]