# Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference

This document is for version 2021.4 of the compilers.

This document contains information about the Intel® oneAPI DPC++/C++ Compiler (`icx/icpx/spcpp/dpcpp-cl`) compiler and runtime environment. The Intel® oneAPI DPC++/C++ Compiler can be found in the Intel® oneAPI Base Toolkit, Intel® oneAPI HPC Toolkit, Intel® oneAPI IoT Toolkit, or as a stand-alone compiler. More information and specifications can be found on the Intel® oneAPI DPC++/C++ Compiler main page.

### Note

In this document, you may see features labeled as experimental. An experimental feature is one that requires further testing and possible refinement. Depending on testing results, such features may be fully defined and implemented or they may be removed in a future release.

### Note

To use Microsoft C++ (MSVC) compatible options, use `dpcpp-cl`.

The following are some important aspects of the compiler:

Compiler Setup | Compiler Setup explains how to invoke the compiler on the command line or from within an IDE. ### Note macOS* is not supported for the `icx/icpx` or `dpcpp` compilers. For macOS or Xcode* support, visit the `icc` compiler: Intel® C++ Compiler Classic Developer Guide and Reference
OpenMP* Support | The compiler supports OpenMP* 5.0 Version TR4 features, and some OpenMP* Version 5.1 features.
Compiler Options | Compiler Options provides information about options you can use to affect optimization, code generation, and more. This document provides an Alphabetical List of Compiler Options for your reference. Clang compiler options are supported for this compiler. For more information about Clang options, see the Clang documentation. The Clang website is https://clang.llvm.org/.
Intrinsics | Intrinsics let you generate more readable code, simplify instruction scheduling, reduce debugging, access the instructions that cannot be generated using the standard constructs of the C and C++ languages, and more. For details about available intrinsics, see the interactive Intel® Intrinsics Guide at https://software.intel.com/sites/landingpage/IntrinsicsGuide/.
Pragmas | Pragmas provide the compiler with instructions for specific tasks, including splitting large loops into smaller ones, enabling or disabling optimization for code, or offloading computation to the target.
Context Sensitive/F1 Help | To use the Context Sensitive/F1 Help feature, visit the Download Documentation: Intel® Compiler (Current and Previous) page and follow the instructions provided there.
Download Previous Versions of the Developer Guide and Reference | Visit the Download Documentation: Intel® Compiler (Current and Previous) page to download PDF or FAR HTML versions of previous compiler documentation. ### Note For the best search experience, use a Google Chrome* or Internet Explorer* browser to view your downloaded copy of the Intel oneAPI DPC++/C++ Compiler Developer Guide and Reference. If you use Mozilla Firefox*, you may encounter an issue where the Search tab does not work. As a workaround, you can use the Contents and Index tabs or a third-party search tool to find your content.