Download page: http://ispc.github.io/downloads.html
=== v1.12.0 === (15 August 2019)
This ISPC update includes experimental cross OS compilation support, ARM and AARCH64 support and a bunch of language features and stability fixes.
Here are the details:
- ISPC is now a cross OS compiler - You can build ISPC programs for Windows, Linux, macOS, iOS, Android and PS4 targets from Windows, Linux and macOS hosts.
- ARM and AARCH64 support has been enabled for ISPC. ARM support currently exists for neon-i32x4, neon-i8x16 and neon-i16x8 targets. AARCH64 is supported for neon-i32x4 as well as for a new "double-pumped" 8-wide target: neon-i32x8.
- A new 128-bit AVX2 target (avx2-i32x4) was added.
- Added a CPU definition for Ice Lake client CPUs (--cpu=icl). Note that there is no special target for new instructions in Ice Lake flavor of AVX512 yet. For now, You can use SKX targets (avx512skx-i32x8 and avx512skx-i32x16) with --cpu=icl.
- Removed the generic targets for KNC and KNL, so ISPC does not have KNC support anymore. KNL is still supported through native target (avx512knl-i32x16).
- Removed AVX1.1 (IvyBridge) targets (use AVX1 targets instead).
- Introduced new language features:
- 'noinline' function qualifier.
- 'rsqrt_fast()' and 'rcp_fast()' functions.
- Static initialization for varying.
- A new command line option '--emit-llvm-text' was added to dump LLVM IR in text format.
An ISPC top-of-trunk build is now available in the Compiler Explorer (https://godbolt.org)
The release is based on a patched LLVM 8.0.0 backend.