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