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]

Re: [patches] Re: convert jump.c, ifcvt.c, cse.c and simplify-rtx.c to new fp conditionals


> > The ARM can implement all FP conditions (including unordered) in a single 
> > instruction except for LTGT and UNEQ.  IIRC these two form a reversed 
> Good.
> Does it have instruction for ordered compares (such as LT, GT etc.), that
> never trap?

That's controlled by the comparison instruction.  If traps are required we 
use cmfe, if not, we use cmf.  So to get this right, the mode of the 
compare has to be correct.

> > pair, so we can safely use reverse_condition on any other comparison.  The 
> > unhandled comparisons are handled with special branch instructions in the 
> > md file which use two conditional branch instructions.  The unhandled 
> > cases are never allowed to be used in conditional execution.
> I would rather see this moved to generic code - in exapnd_branch we can
> easilly break these beasts into primitive ones - this is important bit
> for me, since I would like to make fold-const to construct such compares
> and thus all backends handle this properly.

I'm not sure how you could do this, the restriction is specific to the 
arm.  Anyway, see arm_comparison_operator() in arm.c -- it just calls 
comparison_operator and rejects the unhandled cases.

R.



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