[webkit-dev] jit, unordered compare

Zoltan Herczeg zherczeg at inf.u-szeged.hu
Fri Oct 16 03:52:44 PDT 2009


Hi

fortunately, no, I don't need double branch here. "cmpvs reg0, reg0" is a
conditional instruction, which only executes if the v flag is set.

My proposal would be to add a new DoubleCondition called DoubleEqualOrNAN,
or something similar to clarify what we expect from the conditional
branch. Since I feel (and by IEEE as you mentioned) a comparison to NaN
should be false, not true as x86 actually does.

Zoltan

>> unfortunately cmf was used by the old fpa (floating point
>> accelerator),
>> which is replaced by vfp (vector floating point) for some time.
>> Perhaps I
>> can try a "cmpvs reg0, reg0" instruction, which sets zero flag if one
>> argument is NaN (since reg0 is always equal to reg0). Otherwise it
>> does
>> nothing (=nop).
>
> That should work, but it would require two branches instead of one
> (compare to 0, compare to self).
>
> I'm sure there must be a way to do an IEEE double comparison on ARM
> with only one branch.
>
> Geoff




More information about the webkit-dev mailing list