From 3b3015162f085c09f1f731d207522a56c63952dd Mon Sep 17 00:00:00 2001 From: Matt Pharr Date: Mon, 4 Jul 2011 14:55:55 +0100 Subject: [PATCH] Documentation updates for new preprocessor support. --- docs/ReleaseNotes.txt | 17 +++++++++++------ docs/ispc.txt | 39 +++++---------------------------------- 2 files changed, 16 insertions(+), 40 deletions(-) diff --git a/docs/ReleaseNotes.txt b/docs/ReleaseNotes.txt index f89fa4f8..a8159e1a 100644 --- a/docs/ReleaseNotes.txt +++ b/docs/ReleaseNotes.txt @@ -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: " shuffle( v0, 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: -" shuffle( v0, 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 diff --git a/docs/ispc.txt b/docs/ispc.txt index eb2dc50e..d99661aa 100644 --- a/docs/ispc.txt +++ b/docs/ispc.txt @@ -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 --------------------