Get Link
|
Sync TOC
Intel(R) C++ Compiler XE 12.0 User and Reference Guides
Title Page
Legal Information
Getting Help and Support
Introduction
Introducing the Intel(R) C++ Compiler
Notational Conventions
Related Information
Building Applications
Overview: Building Applications
Introduction to the Compiler
Compilation Phases
Default Output Files
Using Compiler Options
Saving Compiler Information in your Executable
Redistributing Libraries When Deploying Applications
Building Applications with Eclipse*
Overview: Eclipse Integration
Multi-version Compiler Support
Starting Eclipse
Adding the Compiler and Debugger to Eclipse*
Using Cheat Sheets
Creating a Simple Project
Creating a New Project
Adding a C Source File
Building a Project
Running a Project
Intel Error Parser
Setting Options for a Project or File
Setting Properties
Excluding Source Files from a Build
Updating a Project
Updating an Existing Intel® C++ Compiler Project
Updating a GCC* Project to Use the Intel® C++ Compiler
Make Files
Project Types and Makefiles
Exporting Makefiles
Using Intel® Performance Libraries
Using Guided Auto Parallelism in the Eclipse* IDE
Reusing Guided Auto Parallelism Configurations
Building Applications from the Command Line
Invoking the Compiler from the Command Line
Invoking the Compiler from the Command Line with make
Passing Options to the Linker
Compiler Input Files
Output Files
Specifying Compilation Output
Specifying Executable Files
Specifying Object Files
Specifying Assembly Files
Specifying Alternate Tools and Paths
Using Precompiled Header Files
Compiler Option Mapping Tool
Open Source Tools
Using Preprocessor Options
About Preprocessor Options
Using Options for Preprocessing
Using Options to Define Macros
Modifying the Compilation Environment
About Modifying the Compilation Environment
Setting Environment Variables
Using Configuration Files
Specifying Include Files
Using Response Files
Debugging
Using the Debugger
Preparing for Debugging
Symbolic Debugging and Optimizations
Using Options for Debug Information
Creating and Using Libraries
Overview: Using Libraries
Supplied Libraries
Managing Libraries
Creating Libraries
Using Intel Shared Libraries
Compiling for Non-shared Libraries
Overview: Compiling for Non-shared Libraries
Global Symbols and Visibility Attributes
Symbol Preemption
Specifying Symbol Visibility Explicitly
Other Visibility-related Command-line Options
gcc* Compatibility
gcc Compatibility
gcc* Interoperability
gcc Interoperability
Compiler Options for Interoperability
Predefined Macros for Interoperability
gcc Built-in Functions
Thread-local Storage
Language Conformance
Conformance to the C Standard
Conformance to the C++ Standard
Exported Templates
Template Instantiation
Improving Application Security and Correctness
Static Security Analysis Overview
Using Static Security Analysis
Creating and Using Build Specification Files
Porting Applications
Overview: Porting Applications
Modifying Your makefile
Equivalent Macros
Equivalent Environment Variables
Other Considerations
Porting from GNU gcc* to Microsoft Visual C++*
Error Handling
Remarks, Warnings, and Errors
Reference
C/C++ Calling Conventions
ANSI Standard Predefined Macros
Additional Predefined Macros
Compiler Options
Overview
Overview
New Options
Deprecated and Removed Options
Alphabetical Compiler Options
Compiler Option Descriptions and General Rules
A
A
A-
alias-const
align
ansi
ansi-alias
ansi-alias-check
arch
auto-ilp32
auto-p32
ax
B
B
Bdynamic
bigobj
Bstatic
Bsymbolic
Bsymbolic-functions
C
C
c
c99
check-uninit
cilk-serialize
complex-limited-range
cxxlib
D
D
dD
debug (Linux* OS and Mac OS* X)
debug (Windows* OS)
diag
diag-dump
diag-enable sc
diag-enable sc-include
diag-error-limit
diag-file
diag-file-append
diag-id-numbers
diag-once
diag-sc-dir
dM
dN
dryrun
dumpmachine
dumpversion
dynamic-linker
dynamiclib
E
E
early-template-check
EH
EP
export
export-dir
F
F (Mac OS* X)
F (Windows*)
Fa
FA
fabi-version
falias
falign-functions
falign-stack
fargument-alias
fargument-noalias-global
fasm-blocks
fast
fast-transcendentals
fbuiltin
FC
fcode-asm
fcommon
Fd
FD
Fe
fexceptions
ffnalias
ffreestanding
ffriend-injection
ffunction-sections
FI
fimf-absolute-error
fimf-accuracy-bits
fimf-arch-consistency
fimf-max-error
fimf-precision
finline
finline-functions
finline-limit
finstrument-functions
fixed
fjump-tables
fkeep-static-consts
Fm
fmath-errno
fminshared
fms-dialect
fmudflap
fno-gnu-keywords
fno-implicit-inline-templates
fno-implicit-templates
fno-operator-names
fno-rtti
fnon-call-exceptions
fnon-lvalue-assign
Fo
fomit-frame-pointer
fp (Linux* OS and Mac OS* X)
fp (Windows* OS)
Fp
fp-model
fp-port
fp-speculation
fp-stack-check
fp-trap
fp-trap-all
fpack-struct
fpascal-strings
fpermissive
fpic
fpie
Fr
FR
freg-struct-return
fshort-enums
fsource-asm
fstack-protector
fstack-security-check
fstrict-aliasing
fsyntax-only
ftemplate-depth
ftls-model
ftrapuv
ftz
funroll-all-loops
funroll-loops
funsigned-bitfields
funsigned-char
fvar-tracking
fvar-tracking-assignments
fverbose-asm
fvisibility
fvisibity-inlines-hidden
fzero-initialized-in-bss
G
g
g0
GA
gcc
gcc-name
gcc-sys
gcc-version
Gd
gdwarf-2
Ge
Gf
GF
Gh
GH
global-hoist
Gm
Gr
GR
Gs
GS
GT
guide
guide-data-trans
guide-file
guide-file-append
guide-opts
guide-par
guide-vec
GX
gxx-name
Gy
Gz
GZ
H
H (Linux* OS and Mac OS* X)
H (Windows* OS)
help
help-pragma
homeparams
hotpatch
I
I
i-dynamic
i-static
icc
idirafter
imacros
inline-calloc
inline-debug-info
inline-factor
inline-forceinline
inline-level
inline-max-per-compile
inline-max-per-routine
inline-max-size
inline-max-total-size
inline-min-size
intel-extensions
ip
ip-no-inlining
ip-no-pinlining
ipo
ipo-c
ipo-jobs
ipo-S
ipo-separate
ipp
iprefix
iquote
isystem
iwithprefix
iwithprefixbefore
J
J
K
Kc++
L
l
L
LD
link
M
m
M
m32, m64
malign-double
malign-mac68k
malign-natural
malign-power
map-opts
march
mcmodel
mcpu
MD (Linux* OS)
MD (Windows* OS)
mdynamic-no-pic
MF
MG
minstruction
mkl
ML
MM
MMD
mp
MP (Linux* OS)
MP (Windows* OS)
mp1
MQ
mregparm
MT (Linux* OS)
MT (Windows* OS)
mtune
multibyte-chars
multiple-processes
N
no-bss-init
no-libgcc
noBool
nodefaultlibs
nolib-inline
nologo
nostartfiles
nostdinc++
nostdlib
O
o
O
Oa
Ob
Od
Oi
Op
openmp
openmp-lib
openmp-link
openmp-profile
openmp-report
openmp-stubs
openmp-task
openmp-threadprivate
opt-args-in-regs
opt-block-factor
opt-calloc
opt-class-analysis
opt-jump-tables
opt-malloc-options
opt-matmul
opt-multi-version-aggressive
opt-prefetch
opt-ra-region-strategy
opt-report
opt-report-file
opt-report-help
opt-report-phase
opt-report-routine
opt-streaming-stores
opt-subscript-in-range
Os
Ot
Ow
Ox
Oy
P
p
P
par-affinity
par-num-threads
par-report
par-runtime-control
par-schedule
par-threshold
parallel
parallel-source-info
pc
pch
pch-create
pch-dir
pch-use
pie
pragma-optimization-level
prec-div
prec-sqrt
print-multi-lib
prof-data-order
prof-dir
prof-file
prof-func-groups
prof-func-order
prof-gen
prof-genx
prof-hotness-threshold
prof-src-dir
prof-src-root
prof-src-root-cwd
prof-use
prof-value-profiling
profile-functions
profile-loops
profile-loops-report
pthread
Q
QA
QA-
Qalias-args
Qalias-const
Qansi-alias
Qansi-alias-check
Qauto-ilp32
Qax
Qc99
Qcilk-serialize
Qcomplex-limited-range
Qcontext-limit
Qcov-dir
Qcov-file
Qcov-gen
Qcxx-features
QdD
Qdiag
Qdiag-dump
Qdiag-enable:sc
Qdiag-enable:sc-include
Qdiag-error-limit
Qdiag-id-numbers
Qdiag-once
Qdiag-sc-dir
QdM
QdN
Qeffc++
Qfast-transcendentals
Qfnalign
Qfnsplit
Qfp-port
Qfp-speculation
Qfp-stack-check
Qfp-trap
Qfp-trap-all
Qfreestanding
Qftz
Qglobal-hoist
Qguide
Qguide-data-trans
Qguide-file
Qguide-file-append
Qguide-opts
Qguide-par
Qguide-vec
QH
Qhelp-pragma
QIfist
Qimf-absolute-error
Qimf-accuracy-bits
Qimf-arch-consistency
Qimf-max-error
Qimf-precision
Qinline-calloc
Qinline-debug-info
Qinline-dllimport
Qinline-factor
Qinline-forceinline
Qinline-max-per-compile
Qinline-max-per-routine
Qinline-max-size
Qinline-max-total-size
Qinline-min-size
Qinstall
Qinstruction
Qinstrument-functions
Qintel-extensions
Qip
Qip-no-inlining
Qip-no-pinlining
Qipo
Qipo-c
Qipo-jobs
Qipo-S
Qipo-separate
Qipp
Qkeep-static-consts
Qlocation
Qlong-double
QM
Qmap-opts
QMD
QMF
QMG
Qmkl
QMM
QMMD
Qms
QMT
Qmultibyte-chars
Qnobss-init
Qopenmp
Qopenmp-lib
Qopenmp-link
Qopenmp-profile
Qopenmp-report
Qopenmp-stubs
Qopenmp-task
Qopenmp-threadprivate
Qopt-args-in-regs
Qopt-block-factor
Qopt-class-analysis
Qopt-jump-tables
Qopt-matmul
Qopt-multi-version-aggressive
Qopt-prefetch
Qopt-ra-region-strategy
Qopt-report
Qopt-report-file
Qopt-report-help
Qopt-report-phase
Qopt-report-routine
Qopt-streaming-stores
Qopt-subscript-in-range
Qoption
qp
Qpar-adjust-stack
Qpar-affinity
Qpar-num-threads
Qpar-report
Qpar-runtime-control
Qpar-schedule
Qpar-threshold
Qparallel
Qparallel-source-info
Qpatchable-addresses
Qpc
Qpchi
Qprec
Qprec-div
Qprec-sqrt
Qprof-data-order
Qprof-dir
Qprof-file
Qprof-func-order
Qprof-gen
Qprof-genx
Qprof-hotness-threshold
Qprof-src-dir
Qprof-src-root
Qprof-src-root-cwd
Qprof-use
Qprof-value-profiling
Qprofile-functions
Qprofile-loops
Qprofile-loops-report
Qrcd
Qregcall
Qrestrict
Qsafeseh
Qsave-temps
Qscalar-rep
Qsfalign
Qsimd
Qsox
Qstd
Qtbb
Qtcheck
Qtcollect
Qtcollect-filter
Qtemplate-depth
Qtprofile
Qtrapuv
Qunroll
Qunroll-aggressive
Quse-asm
Quse-intel-optimized-headers
Quse-msasm-symbols
QV
Qvc
Qvec
Qvec-guard-write
Qvec-report
Qvec-threshold
Qwd
Qwe
Qwn
Qwo
Qwr
Qww
Qx
QxHost
Qzero-initialized-in-bss
R
rcd
regcall
restrict
RTC
S
S
save-temps
scalar-rep
shared
shared-intel
shared-libgcc
showIncludes
simd
sox
static
static-intel
static-libgcc
staticlib
std
strict-ansi
T
T
tbb
Tc
TC
tcheck
tcollect
tcollect-filter
Tp
TP
tprofile
traceback
U
u (Linux* OS)
u (Windows* OS)
U
undef
unroll
unroll-aggressive
use-asm
use-intel-optimized-headers
use-msasm
V
v
V (Linux* OS and Mac OS* X)
V (Windows*) OS
vd
vec
vec-guard-write
vec-report
vec-threshold
version
vmb
vmg
vmm
vms
vmv
W
w
w0, w1, w2, w3, w4, w5
W0, W1, W2, W3, W4, W5
Wa
Wabi
Wall
Wbrief
Wcheck
Wcomment
Wcontext-limit
wd
Wdeprecated
we
Weffc++
Werror
Werror-all
Wextra-tokens
Wformat
Wformat-security
Winline
Wl
WL
Wmain
Wmissing-declarations
Wmissing-prototypes
wn
Wnon-virtual-dtor
wo
Wp
Wp64
Wpointer-arith
Wport
Wpragma-once
wr
Wreorder
Wremarks
Wreturn-type
Wshadow
Wsign-compare
Wstrict-aliasing
Wstrict-prototypes
Wtrigraphs
Wuninitialized
Wunknown-pragmas
Wunused-function
Wunused-variable
ww
Wwrite-strings
WX
X
x (type option)
x
X
xHost
Xlinker
Y
Y-
Yc
Yd
Yu
Z
Z7
Za
Zc
Zd
Ze
Zg
Zi
ZI
Zl
Zp
Zs
Related Options
Related Options
Linking Tools and Options
Portability Options
Optimizing Applications
Using Interprocedural Optimization (IPO)
Interprocedural Optimization (IPO) Overview
Interprocedural Optimization (IPO) Quick Reference
Using IPO
IPO-Related Performance Issues
IPO for Large Programs
Understanding Code Layout and Multi-Object IPO
Creating a Library from IPO Objects
Requesting Compiler Reports with the xi* Tools
Inline Expansion of Functions
Inline Function Expansion
Compiler Directed Inline Expansion of Functions
Developer Directed Inline Expansion of User Functions
Using Profile-Guided Optimization (PGO)
Profile-Guided Optimizations Overview
Profile-Guided Optimization (PGO) Quick Reference
Profile an Application
Profile Function or Loop Execution Time
PGO Tools
PGO Tools Overview
code coverage Tool
test prioritization Tool
profmerge and proforder Tools
Using Function Order Lists, Function Grouping, Function Ordering, and Data Ordering Optimizations
Comparison of Function Order Lists and IPO Code Layout
PGO API Support
API Support Overview
PGO Environment Variables
Dumping Profile Information
Interval Profile Dumping
Resetting the Dynamic Profile Counters
Dumping and Resetting Profile Information
Using High-Level Optimization (HLO)
High-Level Optimizations (HLO) Overview
Creating Parallel Applications
Using Intel(R) Cilk(TM) Plus
Introduction
Introduction
Getting Started
Summary of Intel(R) Cilk(TM) Plus Language Features
Convert a C++ Program
Build, Run and Debug an Intel(R) Cilk(TM) Plus Program
Set Worker Count
Serialization
Debugging Strategies
Intel(R) Cilk(TM) Plus Keywords
Introduction to Keywords
cilk_spawn
cilk_sync
cilk_for
Intel(R) Cilk(TM) Plus Execution Model
Key Concepts
Strands
Work and Span
Mapping Strands to Workers
Exception Handling
Reducers
Introduction to Reducers
Using Reducers - A Simple Example
How Reducers Work
Safety and Performance Considerations
Reducer Library
Using Reducers - More Examples
Advanced Topic: How to Write a New Reducer
Operating System Considerations
Using Other Tools with Intel(R) Cilk(TM) Plus Programs
General Interaction with OS Threads
Microsoft Foundation Classes and Intel(R) Cilk(TM) Plus Programs
Intel(R) Cilk(TM) Plus Run Time System API
Introduction to the Run Time System API
__cilkrts_set_param
__cilkrts_get_nworkers
__cilkrts_get_worker_number
__cilkrts_get_total_workers
Understanding Race Conditions
Data Races
Resolving Data Races
Introduction to Using Locks
Considerations for Using Locks
Locks Cause Determinancy Races
Deadlocks
Lock Contention
Holding a Lock Across a Strand Boundary
Performance Considerations for Intel(R) Cilk(TM) Plus Programs
Performance Considerations for Intel(R) Cilk(TM) Plus Programs
Granularity
Optimize the Serial Program
Timing Programs and Program Segments
Common Performance Pitfalls
Cache Efficiency and Bandwidth
False Sharing
Memory Allocation Bottlenecks
Extensions for Array Notation
C/C++ Extensions for Array Notations Overview
C/C++ Extensions for Array Notations Programming Model
Elemental Functions
Glossary
Automatic Parallelization
Auto-Parallelization Overview
Auto-Parallelization Options Quick Reference
Auto-parallelization: Enabling, Options, Directives, and Environment Variables
Programming with Auto-parallelization
Language Support for Auto-parallelization
Automatic Vectorization
Automatic Vectorization Overview
Automatic Vectorization Options Quick Reference
Programming Guidelines for Vectorization
Using Automatic Vectorization
Vectorization and Loops
Loop Constructs
User-mandated or SIMD Vectorization
Function Annotations and the SIMD Directive for Vectorization
Guided Auto Parallelization
Guided Auto-Parallelization Overview
Using Guided Auto-Parallelization
Guided Auto-Parallelization Messages
Guided Auto-Parallelization Messages Overview
GAP Message (Diagnostic ID 30506)
GAP Message (Diagnostic ID 30513)
GAP Message (Diagnostic ID 30515)
GAP Message (Diagnostic ID 30519)
GAP Message (Diagnostic ID 30521)
GAP Message (Diagnostic ID 30522)
GAP Message (Diagnostic ID 30523)
GAP Message (Diagnostic ID 30525)
GAP Message (Diagnostic ID 30526)
GAP Message (Diagnostic ID 30528)
GAP Message (Diagnostic ID 30531)
GAP Message (Diagnostic ID 30532)
GAP Message (Diagnostic ID 30533)
GAP Message (Diagnostic ID 30534)
GAP Message (Diagnostic ID 30535)
GAP Message (Diagnostic ID 30536)
GAP Message (Diagnostic ID 30537)
GAP Message (Diagnostic ID 30538)
GAP Message (Diagnostic ID 30753)
GAP Message (Diagnostic ID 30754)
GAP Message (Diagnostic ID 30755)
GAP Message (Diagnostic ID 30756)
GAP Message (Diagnostic ID 30757)
GAP Message (Diagnostic ID 30758)
GAP Message (Diagnostic ID 30759)
GAP Message (Diagnostic ID 30760)
OpenMP* Support
OpenMP* Support Overview
OpenMP* Options Quick Reference
OpenMP* Source Compatibility and Interoperability with Other Compilers
Using OpenMP*
Parallel Processing Model
Worksharing Using OpenMP*
OpenMP* Directives
threadprivate Directive
OpenMP* Advanced Issues
OpenMP* Examples
Libraries, Directives, Clauses, and Environmental Variables
OpenMP* Environment Variables
OpenMP* Directives and Clauses Summary
OpenMP* Library Support
OpenMP* Run-time Library Routines
Intel Extension Routines to OpenMP*
OpenMP* Support Libraries
Using the OpenMP* Libraries
Thread Affinity Interface (Linux* and Windows*)
Intel(R) Workqueing Model
Intel® Workqueuing Model Overview
Workqueuing Constructs
Workqueuing Example Function
Some Parallel Construct Considerations
Parallel Construct Considerations Overview
Parallelizing Loops for Multicore Platforms
Thread Pooling
Floating-point Operations
Overview
Overview: Floating-point Operations
Floating-point Options Quick Reference
Understanding Floating-point Operations
Programming Tradeoffs in Floating-point Applications
Floating-point Optimizations
Using the -fp-model (/fp) Option
Denormal Numbers
Floating-point Environment
Setting the FTZ and DAZ Flags
Checking the Floating-point Stack State
Tuning Performance
Overview: Tuning Performance
Handling Floating-point Array Operations in a Loop Body
Reducing the Impact of Denormal Exceptions
Avoiding Mixed Data Type Arithmetic Expressions
Using Efficient Data Types
Understanding IEEE Floating-point Operations
Overview: Understanding IEEE Floating-point Standard
Floating-point Formats
Special Values
Intrinsics Reference
Overview: Intrinsics Reference
Overview: Intrinsics Reference
Details about Intrinsics
Naming and Usage Syntax
Links and Bibliography
Intrinsics for All Intel Architectures
Overview: Intrinsics across Intel Architectures
Integer Arithmetic Intrinsics
Floating-point Intrinsics
String and Block Copy Intrinsics
Miscellaneous Intrinsics
Data Alignment, Memory Allocation Intrinsics, and Inline Assembly
Overview
Alignment Support
Allocating and Freeing Aligned Memory Blocks
Inline Assembly
MMX(TM) Technology Intrinsics
Overview
Details about MMX(TM) Technology Intrinsics
The EMMS Instruction: Why You Need It
EMMS Usage Guidelines
General Support Intrinsics
Packed Arithmetic Intrinsics
Shift Intrinsics
Logical Intrinsics
Compare Intrinsics
Set Intrinsics
Intrinsics for Intel(R) Streaming SIMD Extensions
Overview
Details about Intel(R) Streaming SIMD Extension Intrinsics
Writing Programs with Intel(R) Streaming SIMD Extensions Intrinsics
Arithmetic Intrinsics
Logical Intrinsics
Compare Intrinsics
Conversion Intrinsics
Load Intrinsics
Set Intrinsics
Store Intrinsics
Cacheability Support Intrinsics
Integer Intrinsics
Intrinsics to Read and Write Registers
Miscellaneous Intrinsics
Macro Functions
Macro Function for Shuffle Operations
Macro Functions to Read and Write Control Registers
Macro Function for Matrix Transposition
Intrinsics for Intel(R) Streaming SIMD Extensions 2
Overview
Floating-point Intrinsics
Arithmetic Intrinsics
Logical Intrinsics
Compare Intrinsics
Conversion Intrinsics
Load Intrinsics
Set Intrinsics
Store Intrinsics
Integer Intrinsics
Arithmetic Intrinsics
Logical Intrinsics
Shift Intrinsics
Compare Intrinsics
Conversion Intrinsics
Move Intrinsics
Load Intrinsics
Set Intrinsics
Store Intrinsics
Miscellaneous Functions and Intrinsics
Cacheability Support Intrinsics
Miscellaneous Intrinsics
Casting Support Intrinsics
Pause Intrinsic
Macro Function for Shuffle
Intrinsics Returning Vectors of Undefined Values
Intrinsics for Intel(R) Streaming SIMD Extensions 3
Overview
Integer Vector Intrinsics
Single-precision Floating-point Vector Intrinsics
Double-precision Floating-point Vector Intrinsics
Miscellaneous Intrinsics
Macro Functions
Intrinsics for Intel(R) Supplemental Streaming SIMD Extensions 3
Overview
Addition Intrinsics
Subtraction Intrinsics
Multiplication Intrinsics
Absolute Value Intrinsics
Shuffle Intrinsics
Concatenate Intrinsics
Negation Intrinsics
Intrinsics for Intel(R) Streaming SIMD Extensions 4
Overview
Vectorizing Compiler and Media AcceleratorsStreaming SIMD Extensions 4
Overview: Vectorizing Compiler and Media Accelerators
Packed Blending Intrinsincs
Floating Point Dot Product Intrinsincs
Packed Format Conversion Intrinsics
Packed Integer Min/Max Intrinsics
Floating Point Rounding Intrinsics
DWORD Multiply Intrinsics
Register Insertion/Extraction Intrinsics
Test Intrinsics
Packed DWORD to Unsigned WORD Intrinsic
Packed Compare for Equal Intrinsic
Cacheability Support Intrinsic
Efficient Accelerated String and Text ProcessingStreaming SIMD Extensions 4
Overview
Packed Compare Intrinsics
Application Targeted Accelerators Intrinsics
Intrinsics for Advanced Encryption Standard Implementation
Overview
Intrinsics for Carry-less Multiplication Instruction and Advanced Encryption Standard Instructions
Intrinsics for Intel(R) Advanced Vector Extensions
Overview
Details of Intel(R) AVX Intrinsics and FMA Intrinsics
Intrinsics for Arithmetic Operations
_mm256_add_pd
_mm256_add_ps
_mm256_addsub_pd
_mm256_addsub_ps
_mm256_hadd_pd
_mm256_hadd_ps
_mm256_sub_pd
_mm256_sub_ps
_mm256_hsub_pd
_mm256_hsub_ps
_mm256_mul_pd
_mm256_mul_ps
_mm256_div_pd
_mm256_div_ps
_mm256_dp_ps
_mm256_sqrt_pd
_mm256_sqrt_ps
_mm256_rsqrt_ps
_mm256_rcp_ps
Intrinsics for Bitwise Operations
_mm256_and_pd
_mm256_and_ps
_mm256_andnot_pd
_mm256_andnot_ps
_mm256_or_pd
_mm256_or_ps
_mm256_xor_pd
_mm256_xor_ps
Intrinsics for Blend and Conditional Merge Operations
_mm256_blend_pd
_mm256_blend_ps
_mm256_blendv_pd
_mm256_blendv_ps
Intrinsics for Compare Operations
_mm_cmp_pd, _m256_cpm_pd
_mm_cmp_ps, _m256_cmp_ps
_mm_cmp_sd
_mm_cmp_ss
Intrinsics for Conversion Operations
_mm256_cvtepi32_pd
_mm256_cvtepi32_ps
_mm256_cvtpd_epi32
_m256_cvtps_epi32
_mm256_cvtpd_ps
_m256_cvtps_pd
_mm256_cvttp_epi32
_mm256_cvttps_epi32
Intrinsics to Determine Maximum and Minimum Values
_mm256_max_pd
_mm256_max_ps
_mm256_min_pd
_mm256_min_ps
Intrinsics for Load Operations
_mm256_broadcast_pd
_mm256_broadcast_ps
_mm256_broadcast_sd
_mm256_broadcast_ss, _mm_broadcast_ss
_mm256_load_pd
_mm256_load_ps
_mm256_load_si256
_mm256_loadu_pd
_mm256_loadu_ps
_mm256_loadu_si256
_mm256_maskload_pd, _mm_maskload_pd
_mm256_maskload_ps, _mm_maskload_ps
_mm256_store_pd
_mm256_store_ps
_mm256_store_si256
_mm256_storeu_pd
_mm256_storeu_ps
_mm256_storeu_si256
_mm256_stream_pd
_mm256_stream_ps
_mm256_stream_si256
_mm256_maskstore_pd, _mm_maskstore_pd
_mm256_maskstore_ps, _mm_maskstore_ps
Intrinsics for Miscellaneous Operations
_mm256_extractf128_pd
_mm256_extractf128_ps
_mm256_extractf128_si256
_mm256_insertf128_pd
_mm256_insertf128_ps
_mm256_insertf128_si256
_mm256_lddqu_si256
_mm256_movedup_pd
_mm256_movehdup_ps
_mm256_moveldup_ps
_mm256_movemask_pd
_mm256_movemask_ps
_mm256_round_pd
_mm256_round_ps
_mm256_set_pd
_mm256_set_ps
_mm256_set_epi32
_mm256_set1_pd
_mm256_set1_ps
_mm256_set1_epi32
_mm256_setzero_pd
_mm256_setzero_ps
_mm256_setzero_si256
_mm256_zeroall
_mm256_zeroupper
Intrinsics for Packed Test Operations
_mm256_testz_si256
_mm256_testc_si256
_mm256_testnzc_si256
_mm256_testz_pd, _mm_testz_pd
_mm256_testz_ps, _mm_testz_ps
_mm256_testc_pd, _mm_testc_pd
_mm256_testc_ps, _mm_testc_ps
_mm256_testnzc_pd, _mm_testnzc_pd
_mm256_testnzc_ps, _mm_testnzc_ps
Intrinsics for Permute Operations
_mm256_permute_pd, _mm_permute_pd
_mm256_permute_ps
_mm256_permutevar_pd, _mm_permutevar_pd
_mm256_permutevar_ps
_mm256_permute2f128_pd
_mm256_permute2f128_ps
_mm256_permute2f128_si256
Intrinsics for Shuffle Operations
_mm256_shuffle_pd
_mm256_shuffle_ps
Intrinsics for Unpack and Interleave Operations
_mm256_unpackhi_pd
_mm256_unpackhi_ps
_mm256_unpacklo_pd
_mm256_unpacklo_ps
Support Intrinsics for Vector Typecasting Operations
_mm256_castpd_ps
_mm256_castps_pd
_mm256_castpd_si256
_mm256_castps_si256
_mm256_castsi256_pd
_mm256_castsi256_ps
_mm256_castpd128_pd256
_mm256_castpd256_pd128
_mm256_castps128_ps256
_mm256_castps256_ps128
_mm256_castsi128_si256
_mm256_castsi256_si128
Intrinsics for Fused Multiply Add Operations
_mm_fmadd_pd, _mm256_fmadd_pd
_mm_fmadd_ps, _mm256_fmadd_ps
_mm_fmadd_sd
_mm_fmadd_ss
_mm_fmaddsub_pd, _mm256_fmaddsub_pd
_mm_fmaddsub_ps, _mm256_fmaddsub_ps
_mm_fmsubadd_pd, _mm256_fmsubadd_pd
_mm_fmsubadd_ps, _mm256_fmsubadd_ps
_mm_fmsub_pd, _mm256_fmsub_pd
_mm_fmsub_ps, _mm256_fmsub_ps
_mm_fmsub_sd
_mm_fmsub_ss
_mm_fnmadd_pd, _mm256_fnmadd_pd
_mm_fnmadd_ps, _mm256_fnmadd_ps
_mm_fnmadd_sd
_mm_fnmadd_ss
_mm_fnmsub_pd, _mm256_fnmsub_pd
_mm_fnmsub_ps, _mm256_fnmsub_ps
_mm_fnmsub_sd
_mm_fnmsub_ss
Intrinsics Generating Vectors of Undefined Values
_mm256_undefined_ps()
_mm256_undefined_pd()
_mm256_undefined_si128()
Intrinsics for Intel(R) Post-32nm Processor Instruction Extensions
Overview
Intrinsics for Converting Half Floats that Map to Intel(R) Post-32nm Processor Instructions
_mm_cvtph_ps()
_mm256_cvtph_ps()
_mm_cvtps_ph()
_mm256_cvtps_ph()
Intrinsics that Generate Random Numbers of 16/32/64 Bit Wide Random Integers
_rdrand_u16(), _rdrand_u32(), _rdrand_u64()
Intrinsics that Allow Reading from and Writing to the FS Base and GS Base Registers
_readfsbase_u32(), _readfsbase_u64()
_readgsbase_u32(), _readgsbase_u64()
_writefsbase_u32(), _writefsbase_u64()
_writegsbase_u32(), _writegsbase_u64()
Intrinsics for Managing Extended Processor States and Registers
Overview
Intrinsics for Reading and Writing the Content of Extended Control Registers
_xgetbv()
_xsetbv()
Intrinsics for Saving and Restoring the Extended Processor States
_fxsave()
_fxsave64()
_fxrstor()
_fxrstor64()
_xsave()
_xsave64()
_xsaveopt()
_xsaveopt64()
_xrstor()
_xrstor64()
Intrinsics for Converting Half Floats
Overview
Intrinsics for Converting Half Floats
Intrinsics for Short Vector Math Library Operations
Overview
Intrinsics for Error Function Operations
_mm_erf_pd, _mm256_erf_pd
_mm_erf_ps, _mm256_erf_ps
_mm_erfc_pd, _mm256_erfc_pd
_mm_erfc_ps, _mm256_erfc_ps
Intrinsics for Exponential Operations
_mm_exp2_pd, _mm256_exp2_pd
_mm_exp2_ps, _mm256_exp2_ps
_mm_exp_pd, _mm256_exp_pd
_mm_exp_ps, _mm256_exp_ps
_mm_cexp_ps, _mm256_cexp_ps
_mm_pow_pd, _mm256_pow_pd
_mm_pow_ps, _mm256_pow_ps
_mm_cpow_ps, _mm256_cpow_ps
Intrinsics for Logrithmic Operations
_mm_log2_pd, _mm256_log2_pd
_mm_log2_ps, _mm256_log2_ps
_mm_log10_pd, _mm256_log10_pd
_mm_log10_ps, _mm256_log10_ps
_mm_log_pd, _mm256_log_pd
_mm_log_ps, _mm256_log_ps
_mm_clog2_ps, _mm256_clog2_ps
_mm_clog10_ps, _mm256_clog10_ps
_mm_clog_ps, _mm256_clog_ps
Intrinsics for Square Root and Cube Root Operations
_mm_sqrt_pd, _mm256_sqrt_pd
_mm_sqrt_ps, _mm256_sqrt_ps
_mm_invsqrt_pd, _mm256_invsqrt_pd
_mm_invsqrt_ps, _mm256_invsqrt_ps
_mm_cbrt_pd, _mm256_cbrt_pd
_mm_cbrt_ps, _mm256_cbrt_ps
_mm_invcbrt_pd, _mm256_invcbrt_pd
_mm_invcbrt_ps, _mm256_invcbrt_ps
_mm_csqrt_ps, _mm256_csqrt_ps
Intrinsics for Trignometric Operations
_mm_acos_pd, _mm256_acos_pd
_mm_acos_ps, _mm256_acos_ps
_mm_acosh_pd, _mm256_acosh_pd
_mm_acosh_ps, _mm256_acosh_ps
_mm_asin_pd, _mm256_asin_pd
_mm_asin_ps, _mm256_asin_ps
_mm_asinh_pd, _mm256_asinh_pd
_mm_asinh_ps, _mm256_asinh_ps
_mm_atan_pd, _mm256_atan_pd
_mm_atan_ps, _mm256_atan_ps
_mm_atan2_pd, _mm256_atan2_pd
_mm_atan2_ps, _mm256_atan2_ps
_mm_atanh_pd, _mm256_atanh_pd
_mm_atanh_ps, _mm256_atanh_ps
_mm_cos_pd, _mm256_cos_pd
_mm_cos_ps, _mm256_cos_ps
_mm_cosh_pd, _mm256_cosh_pd
_mm_cosh_ps, _mm256_cosh_ps
_mm_sin_pd, _mm256_sin_pd
_mm_sin_ps, _mm256_sin_ps
_mm_sinh_pd, _mm256_sinh_pd
_mm_sinh_ps, _mm256_sinh_ps
_mm_tan_pd, _mm256_tan_pd
_mm_tan_ps, _mm256_tan_ps
_mm_tanh_pd, _mm256_tanh_pd
_mm_tanh_ps, _mm256_tanh_ps
_mm_sincos_pd, _mm256_sincos_pd
_mm_sincos_ps, _mm256_sincos_ps
Intrinsics for Trignometric Operations with Complex Numbers
_mm_cacos_ps, _mm256_cacos_ps
_mm_cacosh_ps, _mm256_cacosh_ps
_mm_casin_ps, _mm256_casin_ps
_mm_casinh_ps, _mm256_casinh_ps
_mm_catan_ps, _mm256_catan_ps
_mm_catanh_ps, _mm256_catanh_ps
_mm_csin_ps, _mm256_csin_ps
_mm_csinh_ps, _mm256_csinh_ps
_mm_ccos_ps, _mm256_ccos_ps
_mm_ccosh_ps, _mm256_ccosh_ps
_mm_ctan_ps, _mm256_ctan_ps
_mm_ctanh_ps, _mm256_ctanh_ps
Compiler Reference
Intel C++ Compiler Pragmas
Overview: Intel® C++ Compiler Pragmas
Intel-Specific Pragmas
Intel-specific Pragma Reference
alloc_section
distribute_point
inline, noinline, and forceinline
intel_omp_task
intel_omp_taskq
ivdep
loop_count
memref_control
novector
optimize
optimization_level
parallel/noparallel
prefetch/noprefetch
simd
swp/noswp
unroll/nounroll
unroll_and_jam/nounroll_and_jam
unused
vector
Intel Supported Pragmas
Intel Math Library
Overview: Intel(R) Math Library
Using the Intel Math Library
Math Functions
Function List
Trigonometric Functions
Hyperbolic Functions
Exponential Functions
Special Functions
Nearest Integer Functions
Remainder Functions
Miscellaneous Functions
Complex Functions
C99 Macros
Intel C++ Class Libraries
Introduction to the Class Libraries
Overview: Intel C++ Class Libraries
Hardware and Software Requirements
About the Classes
Details About the Libraries
C++ Classes and SIMD Operations
Capabilities of C++ SIMD Classes
Integer Vector Classes
Overview: Integer Vector Classes
Terms, Conventions, and Syntax Defined
Rules for Operators
Assignment Operator
Logical Operators
Addition and Subtraction Operators
Multiplication Operators
Shift Operators
Comparison Operators
Conditional Select Operators
Debug Operations
Unpack Operators
Pack Operators
Clear MMX(TM) State Operator
Integer Functions for Streaming SIMD Extensions
Conversions between Fvec and Ivec
Floating-point Vector Classes
Overview: Floating-point Vector Classes
Fvec Notation Conventions
Data Alignment
Conversions
Constructors and Initialization
Arithmetic Operators
Minimum and Maximum Operators
Logical Operations
Compare Operators
Conditional Select Operators for Fvec Classes
Cacheability Support Operators
Debug Operations
Load and Store Operators
Unpack Operators
Move Mask Operators
Classes Quick Reference
Programming Example
C++ Librarcommon/y Extensions
Introduction
Intel's valarray implementation
Introduction to Intel's valarray Implementation
Using Intel's valarray Implementation
Intel's C/C++ Language Extensions
Introduction
Intel's C++ lambda extensions
Introduction
Details on Using C++ Lambda Expressions
Understanding Lambda-Capture
Lambda Function Object