I made _IsSimdObject an assembly intrinsic, at least for fullcodegen.
https://codereview.chromium.org/1250733005/diff/230001/src/macros.py
File src/macros.py (right):
https://codereview.chromium.org/1250733005/diff/230001/src/macros.py#newcode101
src/macros.py:101: macro IS_SIMD_VALUE(arg) =
(%_IsSimdValue(arg));
On 2015/07/30 15:34:58, adamk wrote:
On 2015/07/30 15:12:24, rossberg wrote:
> I'm surprised this actually works! See above, you should have
written
> %IsSimdValue here.
Drive-by explanation of why this works: since a recent refactor (by
Sven I think
it was), the "%_" form works for all runtime calls, and the backends
fall back
to the runtime if they don't have an implementation of a given
intrinsic.
Added the intrinsic, at least for fullcodegen. I tried adding it to
hydrogen but hit this DCHECK:
https://code.google.com/p/chromium/codesearch#chromium/src/v8/src/hydrogen-instructions.h&l=4645
which leads me to believe it's not possible.
https://codereview.chromium.org/1250733005/diff/230001/src/runtime/runtime-simd.cc
File src/runtime/runtime-simd.cc (right):
https://codereview.chromium.org/1250733005/diff/230001/src/runtime/runtime-simd.cc#newcode167
src/runtime/runtime-simd.cc:167: return Smi::FromInt(result ? EQUAL :
NOT_EQUAL);
On 2015/07/30 15:12:24, rossberg wrote:
It is a bit strange to return an int here and Booleans for the other
functions.
It's driven by the call site, in EQUALS (runtime.js) where we need to
return an int. It matches %NumberEquals and it's relatives. This way I
don't have to do the %SimdEquals ? 0 : 1 in JS.
https://codereview.chromium.org/1250733005/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.