Skip to content

Commit d714faf

Browse files
committed
Add doc for avx512 target features
1 parent ff6252f commit d714faf

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

src/attributes/codegen.md

+44
Original file line numberDiff line numberDiff line change
@@ -191,12 +191,32 @@ Feature | Implicitly Enables | Description
191191
`aes` | `sse2` | [AES] --- Advanced Encryption Standard
192192
`avx` | `sse4.2` | [AVX] --- Advanced Vector Extensions
193193
`avx2` | `avx` | [AVX2] --- Advanced Vector Extensions 2
194+
`avx512bf16` | `avx512bw` | [AVX512-BF16] --- Advanced Vector Extensions 512-bit - Bfloat16 Extensions
195+
`avx512bitalg` | `avx512bw` | [AVX512-BITALG] --- Advanced Vector Extensions 512-bit - Bit Algorithms
196+
`avx512bw` | `avx512f` | [AVX512-BW] --- Advanced Vector Extensions 512-bit - Byte and Word Instructions
197+
`avx512cd` | `avx512f` | [AVX512-CD] --- Advanced Vector Extensions 512-bit - Conflict Detection Instructions
198+
`avx512dq` | `avx512f` | [AVX512-DQ] --- Advanced Vector Extensions 512-bit - Doubleword and Quadword Instructions
199+
`avx512f` | `avx2`, `fma`, `f16c` | [AVX512-F] --- Advanced Vector Extensions 512-bit - Foundation
200+
`avx512fp16` | `avx512bw`, `avx512dq`, `avx512vl`| [AVX512-FP16] --- Advanced Vector Extensions 512-bit - Float16 Extensions
201+
`avx512ifma` | `avx512f` | [AVX512-IFMA] --- Advanced Vector Extensions 512-bit - Integer Fused Multiply Add
202+
`avx512vbmi` | `avx512bw` | [AVX512-VBMI] --- Advanced Vector Extensions 512-bit - Vector Byte Manipulation Instructions
203+
`avx512vbmi2` | `avx512bw` | [AVX512-VBMI2] --- Advanced Vector Extensions 512-bit - Vector Byte Manipulation Instructions 2
204+
`avx512vl` | `avx512f` | [AVX512-VL] --- Advanced Vector Extensions 512-bit - Vector Length Extensions
205+
`avx512vnni` | `avx512f` | [AVX512-VNNI] --- Advanced Vector Extensions 512-bit - Vector Neural Network Instructions
206+
`avx512vp2intersect`| `avx512f` | [AVX512-VP2INTERSECT] --- Advanced Vector Extensions 512-bit - Vector Pair Intersection to a Pair of Mask Registers
207+
`avx512vpopcntdq` | `avx512f` | [AVX512-VPOPCNTDQ] --- Advanced Vector Extensions 512-bit - Vector Population Count Instruction
208+
`avxifma` | `avx2` | [AVX-IFMA] --- Advanced Vector Extensions - Integer Fused Multiply Add
209+
`avxneconvert` | `avx2` | [AVX-NE-CONVERT] --- Advanced Vector Extensions - No-Exception Floating-Point conversion Instructions
210+
`avxvnni` | `avx2` | [AVX-VNNI] --- Advanced Vector Extensions - Vector Neural Network Instructions
211+
`avxvnniint16` | `avx2` | [AVX-VNNI-INT16] --- Advanced Vector Extensions - Vector Neural Network Instructions with 16-bit Integers
212+
`avxvnniint8` | `avx2` | [AVX-VNNI-INT8] --- Advanced Vector Extensions - Vector Neural Network Instructions with 8-bit Integers
194213
`bmi1` | | [BMI1] --- Bit Manipulation Instruction Sets
195214
`bmi2` | | [BMI2] --- Bit Manipulation Instruction Sets 2
196215
`cmpxchg16b`| | [`cmpxchg16b`] --- Compares and exchange 16 bytes (128 bits) of data atomically
197216
`f16c` | `avx` | [F16C] --- 16-bit floating point conversion instructions
198217
`fma` | `avx` | [FMA3] --- Three-operand fused multiply-add
199218
`fxsr` | | [`fxsave`] and [`fxrstor`] --- Save and restore x87 FPU, MMX Technology, and SSE State
219+
`gfni` | `sse2` | [GFNI] --- Galois Field New Instructions
200220
`lzcnt` | | [`lzcnt`] --- Leading zeros count
201221
`movbe` | | [`movbe`] --- Move data after swapping bytes
202222
`pclmulqdq` | `sse2` | [`pclmulqdq`] --- Packed carry-less multiplication quadword
@@ -210,6 +230,8 @@ Feature | Implicitly Enables | Description
210230
`sse4.1` | `ssse3` | [SSE4.1] --- Streaming SIMD Extensions 4.1
211231
`sse4.2` | `sse4.1` | [SSE4.2] --- Streaming SIMD Extensions 4.2
212232
`ssse3` | `sse3` | [SSSE3] --- Supplemental Streaming SIMD Extensions 3
233+
`vaes` | `avx2`, `aes` | [VAES] --- Vector AES Instructions
234+
`vpclmulqdq`| `avx`, `pclmulqdq`| [VPCLMULQDQ] --- Vector Carry-less multiplication of Quadwords
213235
`xsave` | | [`xsave`] --- Save processor extended states
214236
`xsavec` | | [`xsavec`] --- Save processor extended states with compaction
215237
`xsaveopt` | | [`xsaveopt`] --- Save processor extended states optimized
@@ -221,13 +243,33 @@ Feature | Implicitly Enables | Description
221243
[AES]: https://en.wikipedia.org/wiki/AES_instruction_set
222244
[AVX]: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions
223245
[AVX2]: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX2
246+
[AVX512-BF16]: https://en.wikipedia.org/wiki/AVX-512#BF16
247+
[AVX512-BITALG]: https://en.wikipedia.org/wiki/AVX-512#VPOPCNTDQ_and_BITALG
248+
[AVX512-BW]: https://en.wikipedia.org/wiki/AVX-512#BW,_DQ_and_VBMI
249+
[AVX512-CD]: https://en.wikipedia.org/wiki/AVX-512#Conflict_detection
250+
[AVX512-DQ]: https://en.wikipedia.org/wiki/AVX-512#BW,_DQ_and_VBMI
251+
[AVX512-F]: https://en.wikipedia.org/wiki/AVX-512
252+
[AVX512-FP16]: https://en.wikipedia.org/wiki/AVX-512#FP16
253+
[AVX512-IFMA]: https://en.wikipedia.org/wiki/AVX-512#IFMA
254+
[AVX512-VBMI]: https://en.wikipedia.org/wiki/AVX-512#BW,_DQ_and_VBMI
255+
[AVX512-VBMI2]: https://en.wikipedia.org/wiki/AVX-512#VBMI2
256+
[AVX512-VL]: https://en.wikipedia.org/wiki/AVX-512
257+
[AVX512-VNNI]: https://en.wikipedia.org/wiki/AVX-512#VNNI
258+
[AVX512-VP2INTERSECT]: https://en.wikipedia.org/wiki/AVX-512#VP2INTERSECT
259+
[AVX512-VPOPCNTDQ]:https://en.wikipedia.org/wiki/AVX-512#VPOPCNTDQ_and_BITALG
260+
[AVX-IFMA]: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-VNNI,_AVX-IFMA
261+
[AVX-NE-CONVERT]: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-VNNI,_AVX-IFMA
262+
[AVX-VNNI]: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-VNNI,_AVX-IFMA
263+
[AVX-VNNI-INT16]: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-VNNI,_AVX-IFMA
264+
[AVX-VNNI-INT8]: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#AVX-VNNI,_AVX-IFMA
224265
[BMI1]: https://en.wikipedia.org/wiki/Bit_Manipulation_Instruction_Sets
225266
[BMI2]: https://en.wikipedia.org/wiki/Bit_Manipulation_Instruction_Sets#BMI2
226267
[`cmpxchg16b`]: https://www.felixcloutier.com/x86/cmpxchg8b:cmpxchg16b
227268
[F16C]: https://en.wikipedia.org/wiki/F16C
228269
[FMA3]: https://en.wikipedia.org/wiki/FMA_instruction_set
229270
[`fxsave`]: https://www.felixcloutier.com/x86/fxsave
230271
[`fxrstor`]: https://www.felixcloutier.com/x86/fxrstor
272+
[GFNI]: https://en.wikipedia.org/wiki/AVX-512#GFNI
231273
[`lzcnt`]: https://www.felixcloutier.com/x86/lzcnt
232274
[`movbe`]: https://www.felixcloutier.com/x86/movbe
233275
[`pclmulqdq`]: https://www.felixcloutier.com/x86/pclmulqdq
@@ -241,6 +283,8 @@ Feature | Implicitly Enables | Description
241283
[SSE4.1]: https://en.wikipedia.org/wiki/SSE4#SSE4.1
242284
[SSE4.2]: https://en.wikipedia.org/wiki/SSE4#SSE4.2
243285
[SSSE3]: https://en.wikipedia.org/wiki/SSSE3
286+
[VAES]: https://en.wikipedia.org/wiki/AVX-512#VAES
287+
[VPCLMULQDQ]: https://en.wikipedia.org/wiki/AVX-512#VPCLMULQDQ
244288
[`xsave`]: https://www.felixcloutier.com/x86/xsave
245289
[`xsavec`]: https://www.felixcloutier.com/x86/xsavec
246290
[`xsaveopt`]: https://www.felixcloutier.com/x86/xsaveopt

0 commit comments

Comments
 (0)