On 2011/01/11 08:56:17, Søren Gjesse wrote:
Rodolph, please explain if we ever need to clear any FPSCR flags when using
vcmpe - from the change introducing the clearing I assumed that they where
"sticky".

The invalid exception flag is sticky, NZCV are not.

http://codereview.chromium.org/6117003/diff/6/src/arm/code-stubs-arm.cc
File src/arm/code-stubs-arm.cc (right):


http://codereview.chromium.org/6117003/diff/6/src/arm/code-stubs-arm.cc#newcode977
src/arm/code-stubs-arm.cc:977: __ VFPCompareAndSetFlags(d7, d6, r0);
On 2011/01/10 14:59:36, Rodolph Perfetta wrote:
> No need to clear the flags, if the result is unordered the overflow flag
will
be
> set (the vs condition).

OK, then I am a bit in the dark regarding the clearing of the IOC bit just
before calling vcmp in http://codereview.chromium.org/6142004/ - could you
please explain when to clear this bit before vcmp and when not to. Having
re-read the ARM ARM I actually don't see any need to clear it when using the
vcmpe instruction (which is what we do).

In ARM terminology IOC is a cumulative flag, when set to 1 indicates an invalid operation occurred since 0 was last written to it. You can find the description
in the ARM ARM page A2-30.

NZCV (from FPSCR) are different and get overwritten at every vcmp.

http://codereview.chromium.org/6117003/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to