Expose none() in the ISPC standard library.

On KNC: all(), any() and none() do not generate a redundant movmsk instruction.
This commit is contained in:
Jean-Luc Duprat
2012-11-27 13:38:28 -08:00
parent 6827001c1d
commit 24087ff3cc
3 changed files with 25 additions and 11 deletions

View File

@@ -3701,15 +3701,18 @@ where the ``i`` th element of ``x`` has been replaced with the value ``v``
Reductions
----------
A number routines are available to evaluate conditions across the running
program instances. For example, ``any()`` returns ``true`` if the given
value ``v`` is ``true`` for any of the SPMD program instances currently
running, and ``all()`` returns ``true`` if it true for all of them.
A number routines are available to evaluate conditions across the
running program instances. For example, ``any()`` returns ``true`` if
the given value ``v`` is ``true`` for any of the SPMD program
instances currently running, ``all()`` returns ``true`` if it true
for all of them, and ``none()`` returns ``true`` if ``v`` is always
``false``.
::
uniform bool any(bool v)
uniform bool all(bool v)
uniform bool none(bool v)
You can also compute a variety of reductions across the program instances.
For example, the values of the given value in each of the active program