From 5d51f8c7a7380a7ea868dcd4bd31c6a7a3bd44ec Mon Sep 17 00:00:00 2001 From: Dmitry Babokin Date: Thu, 19 Dec 2013 21:05:47 +0400 Subject: [PATCH 1/3] Adding release notes for 1.6.0 --- docs/ReleaseNotes.txt | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/docs/ReleaseNotes.txt b/docs/ReleaseNotes.txt index a8575ea0..b7d0bb17 100644 --- a/docs/ReleaseNotes.txt +++ b/docs/ReleaseNotes.txt @@ -1,3 +1,47 @@ +=== v1.6.0 === (19 December 2013) + +A major new version of ISPC with major improvements in performance and +stability. Linux and MacOS binaries are based on patched version of LLVM 3.3, +while Windows version is based on LLVM 3.4rc3. LLVM 3.4 significantly improves +stability on Win32 platform, so we've decided not to wait for official LLVM 3.4 +release. + +The list of the most significant changes is: + +* New avx1-i32x4 target was added. It may play well for you, if you are focused + on integer computations or FP unit in your hardware is 128 bit wide. + +* Support for calculations in double precision was extended with two new + targets avx1.1-i64x4 and avx2-i64x4. + +* Language support for overloaded operators was added. + +* New library shift() function was added, which is similar to rotate(), but is + non-circular. + +* The language was extended to accept 3 dimensional tasking - a syntactic sugar, + which may facilitate programming of some tasks. + +* Regression, which broke --opt=force-aligned-memory is fixed. + +If you are not using pre-built binaries, you may notice the following changes: + +* VS2012/VS2013 are supported. + +* alloy.py (with -b switch) can build LLVM for you on any platform now + (except MacOS 10.9, but we know about the problem and working on it). + This is a preferred way to build LLVM for ISPC, as all required patches for + better performance and stability will automatically apply. + +* LLVM 3.5 (current trunk) is supported. + +There are also multiple fixes for better performance and stability, most +notable are: + +* Fixed performance problem for x2 targets. + +* Fixed a problem with incorrect vzeroupper insertion on AVX target on Win32. + === v1.5.0 === (27 September 2013) A major new version of ISPC with several new targets and important bug fixes. From f936269a1e3898c0436b1589a093b956a26222af Mon Sep 17 00:00:00 2001 From: Dmitry Babokin Date: Thu, 19 Dec 2013 21:14:22 +0400 Subject: [PATCH 2/3] News update for 1.6.0 --- docs/news.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/news.rst b/docs/news.rst index 7d78a662..6a805e48 100644 --- a/docs/news.rst +++ b/docs/news.rst @@ -2,6 +2,16 @@ ispc News ========= +ispc 1.6.0 is Released +---------------------- + +A major update of ``ispc`` has been released. The main focus is on improved +performance and stability. Several new targets were added. There are also +a number of language and library extensions. Released binaries are based on +patched LLVM 3.3 on Linux and MacOS and LLVM 3.4rc3 on Windows. Please refer +to Release Notes for complete set of changes. + + ispc 1.5.0 is Released ---------------------- From 040605a83c3b92b0a3016c5185d86a37c0d0b35b Mon Sep 17 00:00:00 2001 From: Dmitry Babokin Date: Thu, 19 Dec 2013 21:17:42 +0400 Subject: [PATCH 3/3] Bumping up ispc version to 1.6.0 --- doxygen.cfg | 2 +- ispc.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doxygen.cfg b/doxygen.cfg index a0ad3176..a1a0b91b 100644 --- a/doxygen.cfg +++ b/doxygen.cfg @@ -31,7 +31,7 @@ PROJECT_NAME = "Intel SPMD Program Compiler" # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.5.1dev +PROJECT_NUMBER = 1.6.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/ispc.h b/ispc.h index 4b333861..b9b7db17 100644 --- a/ispc.h +++ b/ispc.h @@ -38,7 +38,7 @@ #ifndef ISPC_H #define ISPC_H -#define ISPC_VERSION "1.5.1dev" +#define ISPC_VERSION "1.6.0" #if !defined(LLVM_3_1) && !defined(LLVM_3_2) && !defined(LLVM_3_3) && !defined(LLVM_3_4) && !defined(LLVM_3_5) #error "Only LLVM 3.1, 3.2, 3.3, 3.4 and the 3.5 development branch are supported"