Skip to content

Commit

Permalink
Extend description of GOAMD=v4
Browse files Browse the repository at this point in the history
  • Loading branch information
bboreham authored Jan 25, 2025
1 parent 44b1de0 commit 21a06af
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion MinimumRequirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ Each level differs in the set of x86 instructions that the compiler can include
* GOAMD64=v1 (default): The baseline. Exclusively generates instructions that all 64-bit x86 processors can execute.
* GOAMD64=v2: all v1 instructions, plus CMPXCHG16B, LAHF, SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3.
* GOAMD64=v3: all v2 instructions, plus AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, OSXSAVE.
* GOAMD64=v4: all v3 instructions, plus AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL.
* GOAMD64=v4: all v3 instructions, plus AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL, and VPBROADCASTB with a general-purpose register operand.

Setting, for example, GOAMD64=v3, will allow the Go compiler to use AVX2 instructions in the generated binaries (which may improve performance in some cases); but these binaries will not run on older x86 processors that don't support AVX2.

Expand Down

0 comments on commit 21a06af

Please sign in to comment.