> It's the encoding of 1.0f (single precision).  The point is that we want
> something we can safely compare with 0.0f using floating-point instructions.
> "Safe" means "without generating any kind of exception", so a subnormal
> representation like 0x00000001 isn't acceptable.  1.0f seems as good a
> value as any.
>

> Yes, this is OK.  Your split looks good, but I don't see any reason
> for the !CANNOT_CHANGE_MODE_CLASS condition.
>
> Couple of minor suggestions:
>
>  - There is no need for the double quotes around the { ... }.
>    Plain { ... } is better.  (Support for plain { ... } was
>    added a few years ago, so you can still see some older code
>    that uses "{ ... }".  But { ... } is better for new code.)
>
>  - It's generally better to restrict match_dups to things
>    that depend on the operands of the original insn.
>    In the above, it'd be better to replace (match_dup 4)
>    with (const_int 0) and then not set operands[4] in the
>    C code.  (match_dup 3) is OK as an exception because
>    read-rtl.c doesn't support hex constants yet...

Thanks, learned a lot from your detailed explanation.

-- 
Best Regards.

Reply via email to