Documentation updates for new preprocessor support.

This commit is contained in:
Matt Pharr
2011-07-04 14:55:55 +01:00
parent b0658549c5
commit 3b3015162f
2 changed files with 16 additions and 40 deletions

View File

@@ -1,5 +1,16 @@
=== 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
functions like packed_load_active() that that references to arrays of
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
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)
Floating-point hexidecimal constants are now parsed correctly on Windows

View File

@@ -104,27 +104,8 @@ Contents:
Recent Changes to ISPC
======================
This section summarizes recent changes and bugfixes.
* 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.)
See the file ``ReleaseNotes.txt`` in the ``ispc`` distribution for a list
of recent changes to the compiler.
Getting Started with ISPC
=========================
@@ -282,19 +263,9 @@ with application code, enter the following command
ispc foo.ispc -o foo.o
On Linux\* and Mac OS\*, ``ispc`` automatically runs the C preprocessor on
your input program; under Windows\*, this must be done manually. With
Microsoft Visual C++ 2010\*, the following custom build step for
``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.
``ispc`` automatically runs the C preprocessor on your input program before
compiling it. (This functionality can be disabled with the ``--nocpp``
command-line argument.)
Command-line Options
--------------------