Documentation updates for new preprocessor support.
This commit is contained in:
@@ -1,5 +1,16 @@
|
|||||||
=== v1.0.3 === (not yet released)
|
=== v1.0.3 === (not yet released)
|
||||||
|
|
||||||
|
ispc now has a bulit-in pre-processor (from LLVM's clang compiler).
|
||||||
|
(Thanks to Pete Couperus!) It is therefore no longer necessary to use
|
||||||
|
cl.exe for preprocessing before on Windows; the MSVC proejct files for the
|
||||||
|
examples have been updated accordingly.
|
||||||
|
|
||||||
|
There is another variant of the shuffle() function int the standard
|
||||||
|
library: "<type> shuffle(<type> v0, <type> v1, int permute)", where the
|
||||||
|
permutation vector indexes over the concatenation of the two vectors
|
||||||
|
(e.g. the value 0 corresponds to the first element of v0, the value
|
||||||
|
2*programCount-1 corresponds to the last element of v1, etc.)
|
||||||
|
|
||||||
There are now both 'signed' and 'unsigned' variants of the standard library
|
There are now both 'signed' and 'unsigned' variants of the standard library
|
||||||
functions like packed_load_active() that that references to arrays of
|
functions like packed_load_active() that that references to arrays of
|
||||||
signed int32s and unsigned int32s respectively. (The
|
signed int32s and unsigned int32s respectively. (The
|
||||||
@@ -12,12 +23,6 @@ initialize their members; they now must be initialized with initializer
|
|||||||
lists in braces (or initialized after of the initializer with a loop over
|
lists in braces (or initialized after of the initializer with a loop over
|
||||||
array elements, etc.)
|
array elements, etc.)
|
||||||
|
|
||||||
Added another shuffle() function to the standard library:
|
|
||||||
"<type> shuffle(<type> v0, <type> v1, int permute)", where the permutation
|
|
||||||
vector indexes over the concatenation of the two vectors (e.g. the value
|
|
||||||
0 corresponds to the first element of v0, the value 2*programCount-1
|
|
||||||
corresponds to the last element of v1, etc.)
|
|
||||||
|
|
||||||
=== v1.0.2 === (1 July 2011)
|
=== v1.0.2 === (1 July 2011)
|
||||||
|
|
||||||
Floating-point hexidecimal constants are now parsed correctly on Windows
|
Floating-point hexidecimal constants are now parsed correctly on Windows
|
||||||
|
|||||||
@@ -104,27 +104,8 @@ Contents:
|
|||||||
Recent Changes to ISPC
|
Recent Changes to ISPC
|
||||||
======================
|
======================
|
||||||
|
|
||||||
This section summarizes recent changes and bugfixes.
|
See the file ``ReleaseNotes.txt`` in the ``ispc`` distribution for a list
|
||||||
|
of recent changes to the compiler.
|
||||||
* 17 May: Fixed a number of bugs related to error handling in Windows*. In
|
|
||||||
particular, if you use the ``/E`` command line flag to ``cl.exe`` (rather
|
|
||||||
than ``/EP``) when using it as a preprocessor, then ``ispc`` will
|
|
||||||
correctly report the source file position with warnings and errors.
|
|
||||||
|
|
||||||
* 15 May: Improved error messages and warnings in many cases. For example,
|
|
||||||
the column number is reported along with the line number and
|
|
||||||
the source line with the error is printed as part of the message.
|
|
||||||
|
|
||||||
* 8 May: ``ispc``'s typechecker has been substantially improved in how it
|
|
||||||
handles ``const``-qualified types. Some programs that previously
|
|
||||||
compiled may now fail with errors related to ``const``. For example,
|
|
||||||
``ispc`` issues an error message if you try to assign a member of a const
|
|
||||||
structure.
|
|
||||||
|
|
||||||
* 2 May: "uniform" short-vector types are now stored across the lanes of
|
|
||||||
the SIMD registers. This enables you to also write classic 'explicit
|
|
||||||
vector' computation in ``ispc`` as well. This change does change how
|
|
||||||
these types are laid out in memory; see `Data Layout`_ for more details.)
|
|
||||||
|
|
||||||
Getting Started with ISPC
|
Getting Started with ISPC
|
||||||
=========================
|
=========================
|
||||||
@@ -282,19 +263,9 @@ with application code, enter the following command
|
|||||||
|
|
||||||
ispc foo.ispc -o foo.o
|
ispc foo.ispc -o foo.o
|
||||||
|
|
||||||
On Linux\* and Mac OS\*, ``ispc`` automatically runs the C preprocessor on
|
``ispc`` automatically runs the C preprocessor on your input program before
|
||||||
your input program; under Windows\*, this must be done manually. With
|
compiling it. (This functionality can be disabled with the ``--nocpp``
|
||||||
Microsoft Visual C++ 2010\*, the following custom build step for
|
command-line argument.)
|
||||||
``ispc`` source files takes care of this job:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
cl /E /TP %(Filename).ispc | ispc - -o %(Filename).obj -h %(Filename).h
|
|
||||||
|
|
||||||
The ``cl`` call runs the C preprocessor on the ``ispc`` file; the result is
|
|
||||||
piped to ``ispc`` to generate an object file and a header. As an example,
|
|
||||||
see the file ``simple.vcxproj`` in the ``examples/simple`` directory of the
|
|
||||||
``ispc`` distribution.
|
|
||||||
|
|
||||||
Command-line Options
|
Command-line Options
|
||||||
--------------------
|
--------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user