Hi,

how to use new instructions if they are not supported by assembler? I have two options, use macros or use Microsoft's Assembler while creating a separate object file.

Galois Field New Instructions (GFNI)

EVEX-encoded Galois field new instructions:

Instruction Description

VGF2P8AFFINEINVQB Galois field affine transformation inverse Supported, Enabled

VGF2P8AFFINEQB Galois field affine transformation Supported, Enabled

VGF2P8MULB Galois field multiply bytes Supported, Enabled

IA AVX-512 Neural Network Instructions (AVX512_VNNI) Supported, Enabled

IA AVX-512 Vector Bit Manipulation Instructions (AVX512_VBMI) Supported, Enabled

IA AVX-512 Vector Bit Manipulation Instructions 2 (AVX512_VBMI2) Supported, Enabled

AVX-512 Vector Neural Network Instructions (VNNI) - x86 -

https://en.wikichip.org/wiki/x86/avx512_vnniThe major motivation behind the AVX512 VNNI extension is the observation that many tight convolutional neural network loops require the repeated multiplication of two 16-bit values or two 8-bit values and accumulate the result to a 32-bit accumulator. Using the foundation AVX-512, for 16-bit, this is possible using two instructions - VPMADDWD which is used to multiply two 16-bit pairs and add them together followed a VPADDD which adds the accumulate value.

VPMADDWD xmm1, xmm2, xmm3/m128

VPMADDWD ymm1, ymm2, ymm3/m256

VPMADDWD xmm1 {k1}{z}, xmm2, xmm3/m128

VPMADDWD ymm1 {k1}{z}, ymm2, ymm3/m256

VPMADDWD zmm1 {k1}{z}, zmm2, zmm3/m512

Combined Volume Set of Intel® 64 and IA-32 Architectures Software Developer’s Manuals (PDF) -

https://www.intel.com/content/www/us/en/develop/download/intel-64-and-ia-32-architectures-sdm-combined-volumes-1-2a-2b-2c-2d-3a-3b-3c-3d-and-4.html**The question is**, do we have any universal macros for describing commands that are not available for assembly?

Thanks!