Intel® C++ Compiler 19.1 DeveloperGuide and Reference
Disclaimer and Legal Information
ContentsNotices and Disclaimers..................................................................... 33Intel® C++ Compiler 19.1 Developer Guide and Reference................. 34
Part I: Introducing the Intel®C++ CompilerFeature Requirements .............................................................................. 35Getting Help and Support ......................................................................... 36Related Information................................................................................. 37Notational Conventions ............................................................................ 38
Part II: Compiler SetupUsing the Command Line.......................................................................... 41
Specifying the Location of Compiler Components with compilervars........ 41Invoking the Intel®C++ Compiler ...................................................... 43Using the Command Line on Windows* .............................................. 45Understanding File Extensions........................................................... 45Using Makefiles to Compile Your Application........................................ 47Using Compiler Options.................................................................... 48Specifying Include Files.................................................................... 50Specifying Object Files ..................................................................... 51Specifying Assembly Files................................................................. 51Converting Projects to Use a Selected Compiler from the Command
Line........................................................................................... 52Using Eclipse* (Linux*) ........................................................................... 52
Adding the Compiler to Eclipse* ........................................................ 53Multi-Version Compiler Support ......................................................... 53Using Cheat Sheets ......................................................................... 53Creating a Simple Project ................................................................. 54
Creating a New Project ............................................................ 54Adding a C Source File............................................................. 55Setting Options for a Project or File ........................................... 55Excluding Source Files from a Build ........................................... 56Building a Project.................................................................... 56Running a Project ................................................................... 56Intel® C/C++ Error Parser ........................................................ 56
Make Files...................................................................................... 57Project Types and Makefiles...................................................... 57Exporting Makefiles ................................................................. 57
Using Intel® Performance Libraries with Eclipse*.................................. 58Using Microsoft Visual Studio* (Windows*) ................................................ 59
Creating a New Project .................................................................... 60Using the Intel® C++ Compiler.......................................................... 60Build a Project ................................................................................ 61Selecting the Compiler Version.......................................................... 62Switching Back to the Visual C++* Compiler....................................... 62Selecting a Configuration ................................................................. 62Specifying a Target Platform ............................................................. 63Specifying Directory Paths................................................................ 63Specifying a Base Platform Toolset with the Intel® C++ Compiler ........... 63Using Property Pages....................................................................... 64
Intel® C++ Compiler 19.1 Developer Guide and Reference
2
Using Intel® Performance Libraries with Microsoft Visual Studio*............ 64Changing the Selected Intel® Performance Libraries ............................. 66Including MPI Support ..................................................................... 66Using Guided Auto Parallelism in Microsoft Visual Studio* ..................... 66Using Code Coverage in Microsoft Visual Studio* ................................. 67Using Profile Guided Optimization in Microsoft Visual Studio* ................ 68Performing Parallel Project Builds ...................................................... 68Optimization Reports: Enabling in Microsoft Visual Studio*.................... 68Optimization Reports: Viewing .......................................................... 69Dialog Box Help .............................................................................. 71
Options: Compilers dialog box .................................................. 72Options: Intel® Performance Libraries dialog box ......................... 72Use Intel® C++ dialog box........................................................ 72Options: Guided Auto Parallelism dialog box ............................... 73Profile Guided Optimization dialog box ....................................... 73Options: Profile Guided Optimization (PGO) dialog box................. 76Configure Analysis dialog box ................................................... 76Options: Converter dialog box .................................................. 77Code Coverage dialog box ........................................................ 77Options: Code Coverage dialog box ........................................... 77Code Coverage Settings dialog box............................................ 78Options: Optimization Reports dialog box ................................... 79
Using Xcode* (macOS*) .......................................................................... 79Creating an Xcode* Project............................................................... 79Selecting the Intel® Compiler ............................................................ 80Building the Target .......................................................................... 80Setting Compiler Options.................................................................. 81Running the Executable ................................................................... 82Using Intel® Performance Libraries with Xcode* ................................... 83
Part III: Compiler ReferenceC/C++ Calling Conventions....................................................................... 85Compiler Options..................................................................................... 89
New Options................................................................................... 89Alphabetical List of Compiler Options ................................................. 91Deprecated and Removed Compiler Options...................................... 111Ways to Display Certain Option Information ...................................... 120
Displaying General Option Information From the Command Line.. 120Compiler Option Details ................................................................. 120
General Rules for Compiler Options ......................................... 120What Appears in the Compiler Option Descriptions .................... 121Offload Options..................................................................... 122
qoffload....................................................................... 122Optimization Options ............................................................. 124
falias, Oa..................................................................... 124fast............................................................................. 124fbuiltin, Oi ................................................................... 126fdefer-pop ................................................................... 127ffnalias, Ow ................................................................. 127ffunction-sections ......................................................... 128foptimize-sibling-calls.................................................... 129fprotect-parens, Qprotect-parens .................................... 129GF .............................................................................. 131nolib-inline .................................................................. 131O................................................................................ 132
Contents
3
Od.............................................................................. 134Ofast .......................................................................... 135Os .............................................................................. 136Ot .............................................................................. 137Ox.............................................................................. 138
Code Generation Options ....................................................... 138arch............................................................................ 138ax, Qax ....................................................................... 141EH.............................................................................. 144fasynchronous-unwind-tables ......................................... 145fexceptions .................................................................. 146fomit-frame-pointer, Oy................................................. 147Gd.............................................................................. 148Gr .............................................................................. 149GR.............................................................................. 149guard.......................................................................... 150Gv .............................................................................. 151Gz .............................................................................. 152hotpatch...................................................................... 153m ............................................................................... 153m32, m64, Q32, Q64 .................................................... 155m80387 ...................................................................... 156march ......................................................................... 157masm ......................................................................... 159mauto-arch, Qauto-arch ................................................ 160mbranches-within-32B-boundaries, Qbranches-within-32B-
boundaries .............................................................. 161mconditional-branch, Qconditional-branch........................ 162minstruction, Qinstruction.............................................. 163momit-leaf-frame-pointer .............................................. 164mregparm ................................................................... 165mregparm-version ........................................................ 166mstringop-inline-threshold, Qstringop-inline-threshold....... 167mstringop-strategy, Qstringop-strategy ........................... 168mtune, tune................................................................. 169qcf-protection, Qcf-protection......................................... 171Qcxx-features .............................................................. 173Qpatchable-addresses ................................................... 173Qsafeseh ..................................................................... 174regcall, Qregcall ........................................................... 175x, Qx .......................................................................... 176xHost, QxHost.............................................................. 180
Interprocedural Optimization (IPO) Options .............................. 183ffat-lto-objects ............................................................. 183ip, Qip......................................................................... 184ip-no-inlining, Qip-no-inlining ......................................... 185ip-no-pinlining, Qip-no-pinlining ..................................... 185ipo, Qipo ..................................................................... 186ipo-c, Qipo-c ................................................................ 187ipo-jobs, Qipo-jobs ....................................................... 188ipo-S, Qipo-S ............................................................... 189ipo-separate, Qipo-separate ........................................... 189
Advanced Optimization Options............................................... 190alias-const, Qalias-const ................................................ 190ansi-alias, Qansi-alias ................................................... 191
Intel® C++ Compiler 19.1 Developer Guide and Reference
4
ansi-alias-check, Qansi-alias-check ................................. 192complex-limited-range, Qcomplex-limited-range ............... 193daal, Qdaal .................................................................. 194fargument-alias, Qalias-args .......................................... 195fargument-noalias-global ............................................... 196ffreestanding, Qfreestanding .......................................... 197fjump-tables ................................................................ 197ftls-model.................................................................... 198funroll-all-loops ............................................................ 199guide, Qguide .............................................................. 200guide-data-trans, Qguide-data-trans ............................... 201guide-file, Qguide-file.................................................... 202guide-file-append, Qguide-file-append ............................. 204guide-opts, Qguide-opts ................................................ 205guide-par, Qguide-par ................................................... 207guide-vec, Qguide-vec................................................... 208ipp, Qipp ..................................................................... 209ipp-link, Qipp-link ......................................................... 210mkl, Qmkl ................................................................... 211qopt-args-in-regs, Qopt-args-in-regs............................... 213qopt-assume-safe-padding, Qopt-assume-safe-padding ..... 214qopt-block-factor, Qopt-block-factor ................................ 215qopt-calloc, Qopt-calloc ................................................. 215qopt-class-analysis, Qopt-class-analysis........................... 216qopt-dynamic-align, Qopt-dynamic-align.......................... 217qopt-jump-tables, Qopt-jump-tables ............................... 218qopt-malloc-options ...................................................... 219qopt-matmul, Qopt-matmul ........................................... 220qopt-mem-layout-trans, Qopt-mem-layout-trans............... 221qopt-multi-version-aggressive, Qopt-multi-version-
aggressive ............................................................... 222qopt-multiple-gather-scatter-by-shuffles, Qopt-multiple-
gather-scatter-by-shuffles.......................................... 223qopt-prefetch, Qopt-prefetch.......................................... 224qopt-prefetch-distance, Qopt-prefetch-distance ................ 225qopt-prefetch-issue-excl-hint, Qopt-prefetch-issue-excl-hint227qopt-ra-region-strategy, Qopt-ra-region-strategy .............. 227qopt-streaming-stores, Qopt-streaming-stores ................. 228qopt-subscript-in-range, Qopt-subscript-in-range .............. 230qopt-zmm-usage, Qopt-zmm-usage ................................ 231qoverride-limits, Qoverride-limits.................................... 232Qvla ........................................................................... 232scalar-rep, Qscalar-rep .................................................. 233simd, Qsimd ................................................................ 234simd-function-pointers, Qsimd-function-pointers............... 235tbb, Qtbb..................................................................... 236unroll, Qunroll .............................................................. 236unroll-aggressive, Qunroll-aggressive .............................. 237use-intel-optimized-headers, Quse-intel-optimized-headers 238vec, Qvec .................................................................... 239vec-guard-write, Qvec-guard-write.................................. 240vec-threshold, Qvec-threshold ........................................ 241vecabi, Qvecabi ............................................................ 242
Profile Guided Optimization (PGO) Options ............................... 244finstrument-functions, Qinstrument-functions ................... 244
Contents
5
fnsplit, Qfnsplit............................................................. 245Gh.............................................................................. 246GH ............................................................................. 247p ................................................................................ 247prof-data-order, Qprof-data-order ................................... 248prof-dir, Qprof-dir ......................................................... 249prof-file, Qprof-file ........................................................ 250prof-func-groups .......................................................... 250prof-func-order, Qprof-func-order.................................... 251prof-gen, Qprof-gen ...................................................... 253prof-gen-sampling ........................................................ 254prof-hotness-threshold, Qprof-hotness-threshold .............. 255prof-src-dir, Qprof-src-dir............................................... 256prof-src-root, Qprof-src-root .......................................... 257prof-src-root-cwd, Qprof-src-root-cwd ............................. 258prof-use, Qprof-use....................................................... 259prof-use-sampling ........................................................ 261prof-value-profiling, Qprof-value-profiling......................... 261Qcov-dir ...................................................................... 262Qcov-file ..................................................................... 263Qcov-gen..................................................................... 264
Optimization Report Options................................................... 265qopt-report, Qopt-report................................................ 265qopt-report-annotate, Qopt-report-annotate..................... 266qopt-report-annotate-position, Qopt-report-annotate-
position ................................................................... 268qopt-report-embed, Qopt-report-embed .......................... 268qopt-report-file, Qopt-report-file ..................................... 269qopt-report-filter, Qopt-report-filter ................................. 270qopt-report-format, Qopt-report-format........................... 272qopt-report-help, Qopt-report-help.................................. 273qopt-report-per-object, Qopt-report-per-object................. 273qopt-report-phase, Qopt-report-phase............................. 274qopt-report-routine, Qopt-report-routine.......................... 278qopt-report-names, Qopt-report-names ........................... 279tcollect, Qtcollect .......................................................... 280tcollect-filter, Qtcollect-filter ........................................... 281
OpenMP* Options and Parallel Processing Options ..................... 282fmpc-privatize .............................................................. 282par-affinity, Qpar-affinity ............................................... 283par-loops, Qpar-loops.................................................... 284par-num-threads, Qpar-num-threads .............................. 285par-runtime-control, Qpar-runtime-control ....................... 286par-schedule, Qpar-schedule.......................................... 287par-threshold, Qpar-threshold ........................................ 290parallel, Qparallel ......................................................... 291parallel-source-info, Qparallel-source-info ........................ 292qopenmp, Qopenmp...................................................... 293qopenmp-lib, Qopenmp-lib............................................. 294qopenmp-link, Qopenmp-link ......................................... 296qopenmp-offload, Qopenmp-offload ................................ 297qopenmp-simd, Qopenmp-simd...................................... 298qopenmp-stubs, Qopenmp-stubs .................................... 299qopenmp-threadprivate, Qopenmp-threadprivate.............. 300Qpar-adjust-stack......................................................... 301
Intel® C++ Compiler 19.1 Developer Guide and Reference
6
Floating-Point Options ........................................................... 302fast-transcendentals, Qfast-transcendentals ..................... 302fimf-absolute-error, Qimf-absolute-error .......................... 304fimf-accuracy-bits, Qimf-accuracy-bits ............................. 306fimf-arch-consistency, Qimf-arch-consistency ................... 308fimf-domain-exclusion, Qimf-domain-exclusion ................. 310fimf-force-dynamic-target, Qimf-force-dynamic-target ....... 313fimf-max-error, Qimf-max-error ...................................... 315fimf-precision, Qimf-precision......................................... 317fimf-use-svml, Qimf-use-svml ........................................ 319fma, Qfma ................................................................... 321fp-model, fp................................................................. 322fp-port, Qfp-port .......................................................... 327fp-speculation, Qfp-speculation ...................................... 328fp-stack-check, Qfp-stack-check ..................................... 329fp-trap, Qfp-trap........................................................... 330fp-trap-all, Qfp-trap-all.................................................. 332ftz, Qftz....................................................................... 333Ge.............................................................................. 334mp1, Qprec ................................................................. 335pc, Qpc ....................................................................... 336prec-div, Qprec-div ....................................................... 337prec-sqrt, Qprec-sqrt .................................................... 338qsimd-honor-fp-model, Qsimd-honor-fp-model ................. 338qsimd-serialize-fp-reduction, Qsimd-serialize-fp-reduction.. 339rcd, Qrcd ..................................................................... 340
Inlining Options .................................................................... 341fgnu89-inline ............................................................... 341finline ......................................................................... 342finline-functions............................................................ 343finline-limit .................................................................. 343inline-calloc, Qinline-calloc ............................................. 344inline-factor, Qinline-factor............................................. 345inline-forceinline, Qinline-forceinline................................ 346inline-level, Ob............................................................. 347inline-max-per-compile, Qinline-max-per-compile ............. 348inline-max-per-routine, Qinline-max-per-routine ............... 349inline-max-size, Qinline-max-size.................................... 350inline-max-total-size, Qinline-max-total-size..................... 351inline-min-caller-growth, Qinline-min-caller-growth ........... 352inline-min-size, Qinline-min-size ..................................... 353Qinline-dllimport........................................................... 354
Output, Debug, and Precompiled Header (PCH) Options ............. 355c ................................................................................ 355debug (Linux* OS and macOS*) ..................................... 355debug (Windows* OS)................................................... 358Fa............................................................................... 360FA .............................................................................. 360fasm-blocks ................................................................. 362FC .............................................................................. 362fcode-asm ................................................................... 363Fd .............................................................................. 364FD .............................................................................. 364Fe............................................................................... 365
Contents
7
feliminate-unused-debug-types, Qeliminate-unused-debug-types ............................................................ 366
femit-class-debug-always .............................................. 367fmerge-constants ......................................................... 368fmerge-debug-strings.................................................... 368Fo .............................................................................. 369Fp .............................................................................. 370FR .............................................................................. 371fsource-asm................................................................. 371ftrapuv, Qtrapuv........................................................... 372fverbose-asm............................................................... 373g ................................................................................ 374gdwarf ........................................................................ 375Gm............................................................................. 376grecord-gcc-switches .................................................... 377gsplit-dwarf ................................................................. 378map-opts, Qmap-opts ................................................... 378o ................................................................................ 380pch............................................................................. 380pch-create ................................................................... 381pch-dir ........................................................................ 382pch-use....................................................................... 383pdbfile ........................................................................ 384print-multi-lib............................................................... 385Qpchi .......................................................................... 386Quse-msasm-symbols ................................................... 386RTC ............................................................................ 387S................................................................................ 388use-asm, Quse-asm ...................................................... 389use-msasm.................................................................. 389V................................................................................ 390Y- ............................................................................... 391Yc............................................................................... 391Yd .............................................................................. 393Yu .............................................................................. 393Zi, Z7, ZI .................................................................... 395Zo .............................................................................. 396
Preprocessor Options............................................................. 397A, QA.......................................................................... 397B................................................................................ 398C................................................................................ 399D................................................................................ 399dD, QdD ...................................................................... 401dM, QdM ..................................................................... 401dN, QdN ...................................................................... 402E ................................................................................ 402EP .............................................................................. 403FI ............................................................................... 404gcc, gcc-sys................................................................. 405gcc-include-dir ............................................................. 406H, QH ......................................................................... 407I................................................................................. 407I- ............................................................................... 408icc, Qicl ....................................................................... 409idirafter....................................................................... 409
Intel® C++ Compiler 19.1 Developer Guide and Reference
8
imacros ....................................................................... 410iprefix ......................................................................... 411iquote ......................................................................... 411isystem ....................................................................... 412iwithprefix ................................................................... 413iwithprefixbefore .......................................................... 413Kc++, TP..................................................................... 414M, QM......................................................................... 415MD, QMD..................................................................... 415MF, QMF ...................................................................... 416MG, QMG..................................................................... 417MM, QMM .................................................................... 417MMD, QMMD ................................................................ 418MP (Linux* OS) ............................................................ 419MQ ............................................................................. 419MT, QMT...................................................................... 420nostdinc++.................................................................. 420P ................................................................................ 421pragma-optimization-level ............................................. 422u (Windows* OS) ......................................................... 423U................................................................................ 423undef .......................................................................... 424X................................................................................ 425
Component Control Options.................................................... 426Qinstall ....................................................................... 426Qlocation..................................................................... 426Qoption ....................................................................... 428
Language Options ................................................................. 429ansi ............................................................................ 429check.......................................................................... 429early-template-check .................................................... 431fblocks ........................................................................ 432ffriend-injection............................................................ 432fno-gnu-keywords......................................................... 433fno-implicit-inline-templates........................................... 433fno-implicit-templates ................................................... 434fno-operator-names ...................................................... 435fno-rtti ........................................................................ 435fnon-lvalue-assign ........................................................ 436fpermissive .................................................................. 437fshort-enums ............................................................... 437fsyntax-only................................................................. 438ftemplate-depth, Qtemplate-depth.................................. 438funsigned-bitfields ........................................................ 439funsigned-char ............................................................. 440GZ.............................................................................. 440H (Windows* OS) ......................................................... 441help-pragma, Qhelp-pragma .......................................... 442intel-extensions, Qintel-extensions.................................. 442J ................................................................................ 443restrict, Qrestrict .......................................................... 444std, Qstd ..................................................................... 445strict-ansi .................................................................... 447vd .............................................................................. 448vmb............................................................................ 449
Contents
9
vmg............................................................................ 449vmm........................................................................... 450vms ............................................................................ 451x (type option) ............................................................. 451Za .............................................................................. 452Zc .............................................................................. 453Ze .............................................................................. 454Zg .............................................................................. 455Zp .............................................................................. 455Zs .............................................................................. 456
Data Options ........................................................................ 457align ........................................................................... 457auto-ilp32, Qauto-ilp32 ................................................. 458auto-p32 ..................................................................... 459check-pointers, Qcheck-pointers ..................................... 460check-pointers-dangling, Qcheck-pointers-dangling ........... 461check-pointers-mpx, Qcheck-pointers-mpx....................... 462check-pointers-narrowing, Qcheck-pointers-narrowing ....... 463check-pointers-undimensioned, Qcheck-pointers-
undimensioned......................................................... 464falign-functions, Qfnalign............................................... 465falign-loops, Qalign-loops .............................................. 466falign-stack.................................................................. 467fcommon..................................................................... 468fextend-arguments, Qextend-arguments.......................... 469fkeep-static-consts, Qkeep-static-consts .......................... 470fmath-errno ................................................................. 471fminshared .................................................................. 471fmudflap...................................................................... 472fpack-struct ................................................................. 473fpascal-strings.............................................................. 474fpic............................................................................. 474fpie............................................................................. 475freg-struct-return ......................................................... 476fstack-protector............................................................ 477fstack-security-check .................................................... 478fvisibility ..................................................................... 479fvisibity-inlines-hidden .................................................. 481fzero-initialized-in-bss, Qzero-initialized-in-bss ................. 481GA.............................................................................. 482Gs .............................................................................. 483GS.............................................................................. 484GT.............................................................................. 485homeparams................................................................ 485malign-double .............................................................. 486malign-mac68k ............................................................ 487malign-natural ............................................................. 487malign-power............................................................... 488mcmodel ..................................................................... 488mdynamic-no-pic.......................................................... 490mlong-double............................................................... 491no-bss-init, Qnobss-init ................................................. 492noBool ........................................................................ 493Qlong-double ............................................................... 493Qsfalign....................................................................... 494
Intel® C++ Compiler 19.1 Developer Guide and Reference
10
Compiler Diagnostic Options................................................... 495diag, Qdiag.................................................................. 495diag-dump, Qdiag-dump................................................ 498diag-enable=power, Qdiag-enable:power ........................ 499diag-error-limit, Qdiag-error-limit ................................... 499diag-file, Qdiag-file ....................................................... 500diag-file-append, Qdiag-file-append ................................ 501diag-id-numbers, Qdiag-id-numbers................................ 502diag-once, Qdiag-once .................................................. 503fnon-call-exceptions...................................................... 504traceback .................................................................... 504w ............................................................................... 505w0...w5, W0...W5......................................................... 506Wabi ........................................................................... 507Wall ............................................................................ 508Wbrief......................................................................... 509Wcheck ....................................................................... 509Wcomment .................................................................. 510Wcontext-limit, Qcontext-limit ........................................ 511wd, Qwd...................................................................... 511Wdeprecated................................................................ 512we, Qwe...................................................................... 513Weffc++, Qeffc++ ........................................................ 513Werror, WX .................................................................. 514Werror-all .................................................................... 515Wextra-tokens.............................................................. 516Wformat...................................................................... 517Wformat-security.......................................................... 517Wic-pointer.................................................................. 518Winline........................................................................ 519WL ............................................................................. 519Wmain ........................................................................ 520Wmissing-declarations................................................... 521Wmissing-prototypes .................................................... 521wn, Qwn...................................................................... 522Wnon-virtual-dtor ......................................................... 523wo, Qwo...................................................................... 523Wp64.......................................................................... 524Wpch-messages ........................................................... 524Wpointer-arith.............................................................. 525Wport ......................................................................... 526wr, Qwr ....................................................................... 526Wremarks.................................................................... 527Wreorder ..................................................................... 528Wreturn-type ............................................................... 528Wshadow..................................................................... 529Wsign-compare ............................................................ 530Wstrict-aliasing ............................................................ 530Wstrict-prototypes ........................................................ 531Wtrigraphs................................................................... 532Wuninitialized............................................................... 533Wunknown-pragmas ..................................................... 533Wunused-function......................................................... 534Wunused-variable ......................................................... 535ww, Qww..................................................................... 535
Contents
11
Wwrite-strings ............................................................. 536Compatibility Options ............................................................ 537
clang-name ................................................................. 537clangxx-name .............................................................. 538fabi-version ................................................................. 539fms-dialect .................................................................. 540gcc-name .................................................................... 541gnu-prefix ................................................................... 542gxx-name.................................................................... 544Qgcc-dialect................................................................. 545Qms ........................................................................... 546Qvc ............................................................................ 547stdlib .......................................................................... 547vmv............................................................................ 548
Linking or Linker Options ....................................................... 549Bdynamic .................................................................... 549Bstatic ........................................................................ 550Bsymbolic.................................................................... 550Bsymbolic-functions ...................................................... 551cxxlib.......................................................................... 552dynamic-linker ............................................................. 553dynamiclib ................................................................... 554F (Windows*)............................................................... 554F (macOS*) ................................................................. 555fixed ........................................................................... 556Fm ............................................................................. 556fuse-ld ........................................................................ 557l ................................................................................. 558L ................................................................................ 558LD .............................................................................. 559link............................................................................. 560MD ............................................................................. 560MT.............................................................................. 561no-libgcc ..................................................................... 562nodefaultlibs ................................................................ 563nostartfiles .................................................................. 563nostdlib....................................................................... 564pie.............................................................................. 565pthread ....................................................................... 565shared ........................................................................ 566shared-intel ................................................................. 567shared-libgcc ............................................................... 568static .......................................................................... 568static-intel ................................................................... 569static-libgcc ................................................................. 570static-libstdc++............................................................ 571staticlib ....................................................................... 572T ................................................................................ 573u (Linux* OS) .............................................................. 573v ................................................................................ 574Wa ............................................................................. 574Wl .............................................................................. 575Wp ............................................................................. 576Xlinker ........................................................................ 577Zl ............................................................................... 577
Intel® C++ Compiler 19.1 Developer Guide and Reference
12
Miscellaneous Options ........................................................... 578bigobj ......................................................................... 578dryrun......................................................................... 579dumpmachine .............................................................. 579dumpversion................................................................ 580global-hoist, Qglobal-hoist ............................................. 581Gy .............................................................................. 582help............................................................................ 582intel-freestanding ......................................................... 584intel-freestanding-target-os ........................................... 585MP-force...................................................................... 586multibyte-chars, Qmultibyte-chars .................................. 587multiple-processes, MP.................................................. 587nologo ........................................................................ 588print-sysroot ................................................................ 589save-temps, Qsave-temps ............................................. 590showIncludes ............................................................... 591sox ............................................................................. 592sysroot........................................................................ 593Tc............................................................................... 594TC .............................................................................. 594Tp .............................................................................. 595V, QV .......................................................................... 596version........................................................................ 597watch.......................................................................... 597
Alternate Compiler Options............................................................. 598Related Options ............................................................................ 599
Portability Options................................................................. 599GCC-Compatible Warning Options ........................................... 607
Floating-Point Operations ....................................................................... 607Understanding Floating-Point Operations .......................................... 607
Programming Tradeoffs in Floating-point Applications................. 607Floating-point Optimizations ................................................... 610Using the -fp-model (/fp) Option............................................. 611Denormal Numbers ............................................................... 615Floating-Point Environment .................................................... 615Setting the FTZ and DAZ Flags ............................................... 616Checking the Floating-point Stack State................................... 617
Tuning Performance....................................................................... 617Overview: Tuning Performance ............................................... 617Handling Floating-point Array Operations in a Loop Body............ 618Reducing the Impact of Denormal Exceptions ........................... 618Avoiding Mixed Data Type Arithmetic Expressions...................... 619Using Efficient Data Types ...................................................... 619
Understanding IEEE Floating-Point Operations................................... 620Floating-Point Formats........................................................... 620Special Values ...................................................................... 621
Attributes............................................................................................. 622align............................................................................................ 623align_value .................................................................................. 623avoid_false_share ......................................................................... 624code_align ................................................................................... 624concurrency_safe .......................................................................... 625const........................................................................................... 626cpu_dispatch ................................................................................ 626
Contents
13
cpu_specific ................................................................................. 627mpx ............................................................................................ 629target.......................................................................................... 629vector.......................................................................................... 630vector_variant .............................................................................. 631
Intrinsics.............................................................................................. 632Details about Intrinsics .................................................................. 633Naming and Usage Syntax.............................................................. 637References ................................................................................... 638Intrinsics for All Intel® Architectures ................................................ 638
Overview: Intrinsics across Intel® Architectures......................... 638Integer Arithmetic Intrinsics ................................................... 638Floating-point Intrinsics ......................................................... 639String and Block Copy Intrinsics.............................................. 641Miscellaneous Intrinsics ......................................................... 642_may_i_use_cpu_feature ....................................................... 645_allow_cpu_features ............................................................ 647
Data Alignment, Memory Allocation Intrinsics, and Inline Assembly...... 650Overview ............................................................................. 650Alignment Support ................................................................ 651Allocating and Freeing Aligned Memory Blocks .......................... 651Inline Assembly .................................................................... 652
Intrinsics for Managing Extended Processor States and Registers ......... 656Overview ............................................................................. 656Intrinsics for Reading and Writing the Content of Extended
Control Registers .............................................................. 656_xgetbv() .................................................................... 657_xsetbv() .................................................................... 657
Intrinsics for Saving and Restoring the Extended Processor States658_fxsave()..................................................................... 660_fxsave64() ................................................................. 661_fxrstor() .................................................................... 661_fxrstor64()................................................................. 661_xsave()/_xsavec()/_xsaves()........................................ 662_xsave64()/ _xsavec64()/ _xsaves64() ........................... 662_xsaveopt() ................................................................. 663_xsaveopt64().............................................................. 663_xrstor()/xrstors() ........................................................ 663_xrstor64()/xrstors64() ................................................. 664
Intrinsics for the Short Vector Random Number Generator Library ....... 664Data Types and Calling Conventions ........................................ 665Usage Model ........................................................................ 667Engine Initialization and Finalization ........................................ 670
svrng_new_rand0_engine/svrng_new_rand0_ex............... 671svrng_new_rand_engine/svrng_new_rand_ex .................. 672svrng_new_mcg31m1_engine/svrng_new_mcg31m1_ex ... 673svrng_new_mcg59_engine/svrng_new_mcg59_ex ............ 674svrng_new_mt19937_engine/svrng_new_mt19937_ex...... 674svrng_delete_engine..................................................... 675
Distribution Initialization and Finalization ................................. 676svrng_new_uniform_distribution_[int|float|double]/
svrng_update_uniform_distribution_[int|float|double] ... 676svrng_new_normal_distribution_[float|double]/
svrng_update_normal_distribution_[float|double] ......... 677svrng_delete_distribution .............................................. 678
Intel® C++ Compiler 19.1 Developer Guide and Reference
14
Random Values Generation..................................................... 678svrng_generate[1|2|4|8|16|32]_[uint|ulong] ................... 679svrng_generate[1|2|4|8|16|32]_[int|float|double]............ 680
Service Routines ................................................................... 681Parallel Computation Support ......................................... 681Error Handling.............................................................. 685
Intrinsics for Intel® Advanced Vector Extensions 512 (Intel® AVX-512)4VNNIW Instructions ................................................................. 686
Intrinsics for Intel® Advanced Vector Extensions 512 (Intel® AVX-512)4FMAPS Instructions.................................................................. 688
Intrinsics for Intel® Advanced Vector Extensions 512 (Intel® AVX-512)VPOPCNTDQ Instructions............................................................ 691
Intrinsics for Intel® Advanced Vector Extensions 512 (Intel® AVX-512)Additional Instructions ............................................................... 693
Intrinsics for Arithmetic Operations ......................................... 694Intrinsics for Bit Manipulation Operations ................................. 777Intrinsics for Comparison Operations ....................................... 781Intrinsics for Conversion Operations ........................................ 842Intrinsics for Load Operations ................................................. 922Intrinsics for Logical Operations .............................................. 937Intrinsics for Miscellaneous Operations..................................... 955Intrinsics for Move Operations ...............................................1059Intrinsics for Set Operations ..................................................1066Intrinsics for Shift Operations ................................................1070Intrinsics for Store Operations ...............................................1105
Intrinsics for Intel® Advanced Vector Extensions 512 (Intel® AVX-512)Instructions.............................................................................1117
Overview: Intrinsics for Intel® Advanced Vector Extensions 512(Intel® AVX-512) Instructions ............................................1117
Intrinsics for Arithmetic Operations ........................................1120Intrinsics for Addition Operations ...................................1120Intrinsics for Determining Minimum and Maximum Values .1125Intrinsics for FP Fused Multiply-Add (FMA) Operations.......1139Intrinsics for Multiplication Operations ............................1164Intrinsics for Subtraction Operations ..............................1170Intrinsics for Short Vector Math Library (SVML) Operations1175Intrinsics for Other Mathematics Operations ....................1215
Intrinsics for Blend Operations...............................................1227Intrinsics for Bit Manipulation Operations ................................1229
Intrinsics for Integer Bit Manipulation and ConflictDetection Operations................................................1229
Intrinsics for Bitwise Logical Operations ..........................1232Intrinsics for Integer Bit Rotation Operations ...................1235Intrinsics for Integer Bit Shift Operations ........................1239
Intrinsics for Broadcast Operations.........................................1248Intrinsics for FP Broadcast Operations ............................1248Intrinsics for Integer Broadcast Operations......................1250
Intrinsics for Comparison Operations ......................................1253Intrinsics for FP Comparison Operations..........................1253Intrinsics for Integer Comparison Operations...................1262
Intrinsics for Compression Operations.....................................1272Intrinsics for Conversion Operations .......................................1274
Intrinsics for FP Conversion Operations...........................1274Intrinsics for Integer Conversion Operations ....................1291
Contents
15
Intrinsics for Expand and Load Operations...............................1319Intrinsics for FP Expand and Load Operations ..................1319Intrinsics for Integer Expand and Load Operations ...........1321
Intrinsics for Gather and Scatter Operations ............................1322Intrinsics for FP Gather and Scatter Operations................1323Intrinsics for Integer Gather and Scatter Operations.........1330
Intrinsics for Insert and Extract Operations..............................1333Intrinsics for FP Insert and Extract Operations .................1333Intrinsics for Integer Insert and Extract Operations ..........1341
Intrinsics for Load and Store Operations..................................1343Intrinsics for FP Loads and Store Operations....................1343Intrinsics for Integer Load and Store Operations ..............1348
Intrinsics for Miscellaneous Operations....................................1352Intrinsics for Miscellaneous FP Operations .......................1352Intrinsics for Miscellaneous Integer Operations ................1361
Intrinsics for Move Operations ...............................................1362Intrinsics for FP Move Operations ...................................1362Intrinsics for Integer Move Operations ............................1365
Intrinsics for Pack and Unpack Operations ...............................1366Intrinsics for FP Pack and Unpack Operations...................1366Intrinsics for Integer Pack and Unpack Operations............1368
Intrinsics for Permutation Operations......................................1370Intrinsics for FP Permutation Operations .........................1370Intrinsics for Integer Permutation Operations ..................1375
Intrinsics for Reduction Operations .........................................1378Intrinsics for FP Reduction Operations ............................1379Intrinsics for Integer Reduction Operations......................1381
Intrinsics for Set Operations ..................................................1387Intrinsics for Shuffle Operations.............................................1393
Intrinsics for FP Shuffle Operations ................................1393Intrinsics for Integer Shuffle Operations..........................1396
Intrinsics for Test Operations .................................................1397Intrinsics for Typecast Operations...........................................1400Intrinsics for Vector Mask Operations......................................1404
Intrinsics for Later Generation Intel® Core™ Processor InstructionExtensions ..............................................................................1406
Overview: Intrinsics for 3rd Generation Intel® Core™ ProcessorInstruction Extensions ......................................................1406
Overview: Intrinsics for 4th Generation Intel® Core™ ProcessorInstruction Extensions ......................................................1406
Intrinsics for Converting Half Floats that Map to 3rd GenerationIntel® Core™ Processor Instructions.....................................1407
_mm_cvtph_ps().........................................................1407_mm256_cvtph_ps()....................................................1407_mm_cvtps_ph().........................................................1408_mm256_cvtps_ph()....................................................1408
Intrinsics that Generate Random Numbers of 16/32/64 Bit WideRandom Integers .............................................................1409
_rdrand16_step(), _rdrand32_step(), _rdrand64_step() ...1409_rdseed16_step/ _rdseed32_step/ _rdseed64_step..........1409
Intrinsics for Multi-Precision Arithmetic ...................................1410_addcarry_u32(), _addcarry_u64() ................................1410_addcarryx_u32(), _addcarryx_u64().............................1411_subborrow_u32(), _subborrow_u64() ...........................1412
Intel® C++ Compiler 19.1 Developer Guide and Reference
16
Intrinsics that Allow Reading from and Writing to the FS Baseand GS Base Registers......................................................1412
_readfsbase_u32(), _readfsbase_u64() ..........................1413_readgsbase_u32(), _readgsbase_u64().........................1413_writefsbase_u32(), _writefsbase_u64().........................1413_writegsbase_u32(), _writegsbase_u64() .......................1413
Intrinsics for Intel® Advanced Vector Extensions 2 ............................1414Overview: Intrinsics for Intel® Advanced Vector Extensions 2
(Intel® AVX2) Instructions .................................................1414Intrinsics for Arithmetic Operations ........................................1415
_mm256_abs_epi8/16/32 ............................................1415_mm256_add_epi8/16/32/64 .......................................1415_mm256_adds_epi8/16 ...............................................1416_mm256_adds_epu8/16 ..............................................1416_mm256_sub_epi8/16/32/64 .......................................1417_mm256_subs_epi8/16 ...............................................1417_mm256_subs_epu8/16 ..............................................1418_mm256_avg_epu8/16 ...............................................1418_mm256_hadd_epi16/32 .............................................1419_mm256_hadds_epi16 ................................................1419_mm256_hsub_epi16/32 .............................................1420_mm256_hsubs_epi16 ................................................1420_mm256_madd_epi16 .................................................1421_mm256_maddubs_epi16 ............................................1421_mm256_mul_epi32 ....................................................1422_mm256_mul_epu32 ...................................................1422_mm256_mulhi_epi16..................................................1423_mm256_mulhi_epu16 ................................................1423_mm256_mullo_epi16/32 ............................................1423_mm256_mulhrs_epi16................................................1424_mm256_sign_epi8/16/32............................................1424_mm256_mpsadbw_epu8.............................................1425_mm256_sad_epu8 .....................................................1426
Intrinsics for Arithmetic Shift Operations .................................1426_mm256_sra_epi16/32 ...............................................1426_mm256_srai_epi16/32................................................1427_mm256_srav_epi32 ..................................................1427_mm_srav_epi32 ........................................................1428
Intrinsics for Blend Operations...............................................1428_mm_blend_epi32, _mm256_blend_epi16/32 ................1428_mm256_blendv_epi8 .................................................1429
Intrinsics for Bitwise Operations.............................................1429_mm256_and_si256 ....................................................1429_mm256_andnot_si256................................................1430_mm256_or_si256.......................................................1430_mm256_xor_si256 .....................................................1431
Intrinsics for Broadcast Operations.........................................1431_mm_broadcastss_ps, _mm256_broadcastss_ps .............1431_mm256_broadcastsd_pd.............................................1432_mm_broadcastb_epi8, _mm256_broadcastb_epi8 ..........1432_mm_broadcastw_epi16, _mm256_broadcastw_epi16......1433_mm_broadcastd_epi32, _mm256_broadcastd_epi32.......1433_mm_broadcastq_epi64, _mm256_broadcastq_epi64.......1434_mm256_broadcastsi128_si256 ....................................1434
Intrinsics for Compare Operations ..........................................1434
Contents
17
_mm256_cmpeq_epi8/16/32/64....................................1434_mm256_cmpgt_epi8/16/32/64 ....................................1435_mm256_max_epi8/16/32............................................1436_mm256_max_epu8/16/32...........................................1436_mm256_min_epi8/16/32 ............................................1437_mm256_min_epu8/16/32 ...........................................1437
Intrinsics for Fused Multiply Add Operations ............................1438_mm_fmadd_pd, _mm256_fmadd_pd ............................1438_mm_fmadd_ps, _mm256_fmadd_ps.............................1438_mm_fmadd_sd .........................................................1439_mm_fmadd_ss ..........................................................1440_mm_fmaddsub_pd, _mm256_fmaddsub_pd ..................1440_mm_fmaddsub_ps, _mm256_fmaddsub_ps...................1441_mm_fmsub_pd, _mm256_fmsub_pd ............................1442_mm_fmsub_ps, _mm256_fmsub_ps .............................1442_mm_fmsub_sd .........................................................1443_mm_fmsub_ss ..........................................................1443_mm_fmsubadd_pd, _mm256_fmsubadd_pd ..................1444_mm_fmsubadd_ps, _mm256_fmsubadd_ps...................1445_mm_fnmadd_pd, _mm256_fnmadd_pd.........................1445_mm_fnmadd_ps, _mm256_fnmadd_ps .........................1446_mm_fnmadd_sd ........................................................1447_mm_fnmadd_ss.........................................................1447_mm_fnmsub_pd, _mm256_fnmsub_pd.........................1448_mm_fnmsub_ps, _mm256_fnmsub_ps .........................1449_mm_fnmsub_sd.........................................................1449_mm_fnmsub_ss .........................................................1450
Intrinsics for GATHER Operations ...........................................1450_mm_mask_i32gather_pd, _mm256_mask_i32gather_pd 1451_mm_i32gather_pd, _mm256_i32gather_pd ..................1452_mm_mask_i64gather_pd, _mm256_mask_i64gather_pd 1452_mm_i64gather_pd, _mm256_i64gather_pd ..................1453_mm_mask_i32gather_ps, _mm256_mask_i32gather_ps 1454_mm_i32gather_ps, _mm256_i32gather_ps....................1455_mm_mask_i64gather_ps, _mm256_mask_i64gather_ps .1456_mm_i64gather_ps, _mm256_i64gather_ps....................1457_mm_mask_i32gather_epi32,
_mm256_mask_i32gather_epi32 ...............................1458_mm_i32gather_epi32, _mm256_i32gather_epi32...........1459_mm_mask_i32gather_epi64,_mm256_mask_i32gather_e
pi64.......................................................................1460_mm_i32gather_epi64,_mm256_i32gather_epi64............1461_mm_mask_i64gather_epi32,_mm256_mask_i64gather_e
pi32.......................................................................1462_mm_i64gather_epi32,_mm256_i64gather_epi32............1463_mm_mask_i64gather_epi64,_mm256_mask_i64gather_e
pi64.......................................................................1464_mm_i64gather_epi64,_mm256_i64gather_epi64............1465
Intrinsics for Logical Shift Operations......................................1465_mm256_sll_epi16/32/64 ............................................1465_mm256_slli_epi16/32/64 ...........................................1466_mm256_sllv_epi32/64 ...............................................1467_mm_sllv_epi32/64 ....................................................1467_mm256_slli_si256 .....................................................1468_mm256_srli_si256 .....................................................1468
Intel® C++ Compiler 19.1 Developer Guide and Reference
18
_mm256_srl_epi16/32/64 ...........................................1469_mm256_srli_epi16/32/64 ...........................................1469_mm256_srlv_epi32/64 ...............................................1470_mm_srlv_epi32/64 ....................................................1470
Intrinsics for Insert/Extract Operations ...................................1471_mm256_inserti128_si256 ...........................................1471_mm256_extracti128_si256 .........................................1471_mm256_insert_epi8/16/32/64 ....................................1472_mm256_extract_epi8/16/32/64 ..................................1472
Intrinsics for Masked Load/Store Operations ............................1473_mm_maskload_epi32/64, _mm256_maskload_epi32/64 .1473_mm_maskstore_epi32/64, _mm256_maskstore_epi32/641473
Intrinsics for Miscellaneous Operations....................................1474_mm256_alignr_epi8 ...................................................1474_mm256_movemask_epi8 ............................................1475_mm256_stream_load_si256 ........................................1475
Intrinsics for Operations to Manipulate Integer Data at Bit-Granularity......................................................................1475
_bextr_u32/64 ...........................................................1475_blsi_u32/64 ..............................................................1476_blsmsk_u32/64 .........................................................1476_blsr_u32/64 .............................................................1477_bzhi_u32/64 .............................................................1477_pext_u32/64 ............................................................1478_pdep_u32/64 ...........................................................1478_lzcnt_u32/64 ............................................................1479_tzcnt_u32/64 ...........................................................1479
Intrinsics for Pack/Unpack Operations.....................................1480_mm256_packs_epi16/32.............................................1480_mm256_packus_epi16/32...........................................1480_mm256_unpackhi_epi8/16/32/64 ................................1481_mm256_unpacklo_epi8/16/32/64 ................................1481
Intrinsics for Packed Move with Extend Operations ...................1482_mm256_cvtepi8_epi16/32/64......................................1482_mm256_cvtepi16_epi32/64.........................................1482_mm256_cvtepi32_epi64..............................................1483_mm256_cvtepu8_epi16/32/64.....................................1483_mm256_cvtepu16_epi32/64........................................1484_mm256_cvtepu32_epi64.............................................1484
Intrinsics for Permute Operations ...........................................1484_mm256_permutevar8x32_epi32 .................................1484_mm256_permutevar8x32_ps ......................................1485_mm256_permute4x64_epi64 ......................................1486_mm256_permute4x64_pd ..........................................1486_mm256_permute2x128_si256 ....................................1487
Intrinsics for Shuffle Operations.............................................1488_mm256_shuffle_epi8..................................................1488_mm256_shuffle_epi32 ................................................1489_mm256_shufflehi_epi16 .............................................1489_mm256_shufflelo_epi16 .............................................1490
Intrinsics for Intel® Transactional Synchronization Extensions(Intel® TSX) ....................................................................1490
Intel® Transactional Synchronization Extensions (Intel®TSX) Overview ........................................................1490
Contents
19
Intel® Transactional Synchronization Extensions (Intel®TSX) Programming Considerations .............................1491
Restricted Transactional Memory Intrinsics ......................1494Hardware Lock Elision Intrinsics (Windows*) ...................1498Function Prototype and Macro Definitions........................1501
Intrinsics for Intel® Advanced Vector Extensions ...............................1502Overview ............................................................................1503Details of Intel® AVX Intrinsics and FMA Intrinsics.....................1503Intrinsics for Arithmetic Operations ........................................1506
_mm256_add_pd ........................................................1506_mm256_add_ps.........................................................1507_mm256_addsub_pd ...................................................1507_mm256_addsub_ps....................................................1508_mm256_hadd_pd.......................................................1508_mm256_hadd_ps.......................................................1508_mm256_sub_pd.........................................................1509_mm256_sub_ps.........................................................1509_mm256_hsub_pd.......................................................1510_mm256_hsub_ps .......................................................1510_mm256_mul_pd ........................................................1511_mm256_mul_ps.........................................................1511_mm256_div_pd .........................................................1511_mm256_div_ps..........................................................1512_mm256_dp_ps ..........................................................1512_mm256_sqrt_pd ........................................................1513_mm256_sqrt_ps ........................................................1513_mm256_rsqrt_ps .......................................................1514_mm256_rcp_ps .........................................................1514
Intrinsics for Bitwise Operations.............................................1514_mm256_and_pd ........................................................1514_mm256_and_ps.........................................................1515_mm256_andnot_pd....................................................1515_mm256_andnot_ps ....................................................1516_mm256_or_pd...........................................................1516_mm256_or_ps...........................................................1516_mm256_xor_pd .........................................................1517_mm256_xor_ps .........................................................1517
Intrinsics for Blend and Conditional Merge Operations ...............1518_mm256_blend_pd......................................................1518_mm256_blend_ps ......................................................1518_mm256_blendv_pd ....................................................1519_mm256_blendv_ps.....................................................1519
Intrinsics for Compare Operations ..........................................1520_mm_cmp_pd, _mm256_cmp_pd..................................1520_mm_cmp_ps, _mm256_cmp_ps ..................................1521_mm_cmp_sd .............................................................1521_mm_cmp_ss .............................................................1522
Intrinsics for Conversion Operations .......................................1522_mm256_cvtepi32_pd..................................................1523_mm256_cvtepi32_ps ..................................................1523_mm256_cvtpd_epi32..................................................1523_mm256_cvtps_epi32 ..................................................1524_mm256_cvtpd_ps ......................................................1524_mm256_cvtps_pd ......................................................1524_mm256_cvttp_epi32 ..................................................1525
Intel® C++ Compiler 19.1 Developer Guide and Reference
20
_mm256_cvttps_epi32.................................................1525_mm256_cvtsi256_si32................................................1526_mm256_cvtsd_f64 .....................................................1526_mm256_cvtss_f32 .....................................................1526
Intrinsics to Determine Minimum and Maximum Values .............1527_mm256_max_pd .......................................................1527_mm256_max_ps........................................................1527_mm256_min_pd ........................................................1528_mm256_min_ps.........................................................1528
Intrinsics for Load and Store Operations..................................1528_mm256_broadcast_pd................................................1528_mm256_broadcast_ps ................................................1529_mm256_broadcast_sd ................................................1529_mm256_broadcast_ss, _mm_broadcast_ss....................1530_mm256_load_pd........................................................1530_mm256_load_ps ........................................................1531_mm256_load_si256....................................................1531_mm256_loadu_pd......................................................1531_mm256_loadu_ps ......................................................1532_mm256_loadu_si256..................................................1532_mm256_maskload_pd, _mm_maskload_pd ...................1533_mm256_maskload_ps, _mm_maskload_ps....................1533_mm256_store_pd ......................................................1534_mm256_store_ps.......................................................1534_mm256_store_si256 ..................................................1535_mm256_storeu_pd.....................................................1535_mm256_storeu_ps .....................................................1535_mm256_storeu_si256.................................................1536_mm256_stream_pd....................................................1536_mm256_stream_ps ....................................................1537_mm256_stream_si256................................................1537_mm256_maskstore_pd, _mm_maskstore_pd.................1538_mm256_maskstore_ps, _mm_maskstore_ps .................1538
Intrinsics for Miscellaneous Operations....................................1539_mm256_extractf128_pd..............................................1539_mm256_extractf128_ps..............................................1540_mm256_extractf128_si256..........................................1540_mm256_insertf128_pd ...............................................1540_mm256_insertf128_ps................................................1541_mm256_insertf128_si256 ...........................................1541_mm256_lddqu_si256..................................................1542_mm256_movedup_pd.................................................1542_mm256_movehdup_ps ...............................................1543_mm256_moveldup_ps ................................................1543_mm256_movemask_pd ..............................................1543_mm256_movemask_ps...............................................1544_mm256_round_pd .....................................................1544_mm256_round_ps......................................................1545_mm256_set_pd .........................................................1546_mm256_set_ps..........................................................1546_mm256_set_epi8/16/32/64x .......................................1547_mm256_setr_pd ........................................................1547_mm256_setr_ps ........................................................1548_mm256_setr_epi32 ....................................................1548_mm256_set1_pd........................................................1549
Contents
21
_mm256_set1_ps........................................................1549_mm256_set1_epi32 ...................................................1549_mm256_setzero_pd ...................................................1550_mm256_setzero_ps....................................................1550_mm256_setzero_si256 ...............................................1551_mm256_zeroall..........................................................1551_mm256_zeroupper.....................................................1551
Intrinsics for Packed Test Operations ......................................1552_mm256_testz_si256...................................................1552_mm256_testc_si256...................................................1552_mm256_testnzc_si256................................................1553_mm256_testz_pd, _mm_testz_pd ................................1553_mm256_testz_ps, _mm_testz_ps.................................1554_mm256_testc_pd, _mm_testc_pd ................................1555_mm256_testc_ps, _mm_testc_ps.................................1555_mm256_testnzc_pd, _mm_testnzc_pd..........................1556_mm256_testnzc_ps, _mm_testnzc_ps ..........................1557
Intrinsics for Permute Operations ...........................................1558_mm256_permute_pd, _mm_permute_pd ......................1558_mm256_permute_ps, _mm_permute_ps.......................1559_mm256_permutevar_pd, _mm_permutevar_pd .............1559_mm_permutevar_ps, _mm256_permutevar_ps..............1560_mm256_permute2f128_pd..........................................1560_mm256_permute2f128_ps ..........................................1561_mm256_permute2f128_si256......................................1561
Intrinsics for Shuffle Operations.............................................1562_mm256_shuffle_pd ....................................................1562_mm256_shuffle_ps ....................................................1562
Intrinsics for Unpack and Interleave Operations .......................1563_mm256_unpackhi_pd .................................................1563_mm256_unpackhi_ps .................................................1563_mm256_unpacklo_pd .................................................1564_mm256_unpacklo_ps .................................................1564
Support Intrinsics for Vector Typecasting Operations.................1565_mm256_castpd_ps.....................................................1565_mm256_castps_pd.....................................................1565_mm256_castpd_si256 ................................................1566_mm256_castps_si256.................................................1566_mm256_castsi256_pd ................................................1566_mm256_castsi256_ps.................................................1567_mm256_castpd128_pd256..........................................1567_mm256_castpd256_pd128..........................................1568_mm256_castps128_ps256 ..........................................1568_mm256_castps256_ps128 ..........................................1569_mm256_castsi128_si256 ............................................1569_mm256_castsi256_si128 ............................................1569
Intrinsics Generating Vectors of Undefined Values.....................1570_mm256_undefined_ps()..............................................1570_mm256_undefined_pd() .............................................1570_mm256_undefined_si256............................................1571
Intrinsics for Intel® Streaming SIMD Extensions 4 (Intel® SSE4) .........1571Overview ........