github ispc/ispc v1.12.0
v1.12.0 (15 August 2019)

latest releases: v1.23.0, v1.22.0, v1.21.1...
4 years ago

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

The release is based on a patched LLVM 8.0.0 backend.

Don't miss a new ispc release

NewReleases is sending notifications on new releases.