Dmitry Babokin edited this page May 29, 2015 · 12 revisions

Welcome to the ispc wiki! This wiki collects information related to the design and implementation of the ispc compiler for anyone working on the source code. For now, documentation about using the ispc compiler is collected in the user's guide (http://ispc.github.com/ispc.html); it's an open question whether that should be transitioned to a wiki format as well.

Table of Contents

Building the Compiler

These pages give an overview of the general process of building ispc from source.

ispc uses the LLVM libraries--here is a page that tracks bugs in LLVM that impact ispc.

Testing the Compiler

The compiler tests should always be run before any check in.

AVX-512 support

The compiler supports AVX-512 target (currently tuned for KNL subset of AVX-512). This support is currently implemented through both generating C++ code with AVX-512 intrinsics and as native target (works with LLVM 3.7+ only).

Design Notes / Plans

Here are some collected notes and possible ideas related to future changes and additions to the compiler. (Fully baked things that are definitely worth doing and have a clear implementation path are captured in the issues tracker (https://github.com/ispc/ispc/issues), while the things here are still in the process of being defined.