GF2P8MULB - Galois Field 2 Power 8 MULtiply Byte

GF2P8MULB xmm1, xmm2/m128    (GFNI
__m128i _mm_gf2p8mul_epi8(__m128i a, __m128i b)

For each BYTE, compute (1) * (2) in GF(28) with the reduction polynomial x8 + x4 + x3 + x + 1, store the product in (3).
VGF2P8MULB xmm1, xmm2, xmm3/m128    (GFNI+(V1
__m128i _mm_gf2p8mul_epi8(__m128i a, __m128i b)
VGF2P8MULB xmm1{k1}{z}, xmm2, xmm3/m128    (GFNI+(V5+VL
__m128i _mm_mask_gf2p8mul_epi8(__m128i s, __mmask16 k, __m128i a, __m128i b)
__m128i _mm_maskz_gf2p8mul_epi8(__mmask16 k, __m128i a, __m128i b)

For each BYTE, compute (1) * (2) in GF(28) with the reduction polynomial x8 + x4 + x3 + x + 1, store the product in (3).
VGF2P8MULB ymm1, ymm2, ymm3/m256    (GFNI+(V1
__m256i _mm256_gf2p8mul_epi8(__m256i a, __m256i b)
VGF2P8MULB ymm1{k1}{z}, ymm2, ymm3/m256    GFNI+(V5+VL
__m256i _mm256_mask_gf2p8mul_epi8(__m256i s, __mmask32 k, __m256i a, __m256i b)
__m256i _mm256_maskz_gf2p8mul_epi8(__mmask32 k, __m256i a, __m256i b)

For each BYTE, compute (1) * (2) in GF(28) with the reduction polynomial x8 + x4 + x3 + x + 1, store the product in (3).
VGF2P8MULB zmm1{k1}{z}, zmm2, zmm3/m512    (GFNI+(V5
__m512i _mm512_gf2p8mul_epi8(__m512i a, __m512i b)
__m512i _mm512_mask_gf2p8mul_epi8(__m512i s, __mmask64 k, __m512i a, __m512i b)
__m512i _mm512_maskz_gf2p8mul_epi8(__mmask64 k, __m512i a, __m512i b)

For each BYTE, compute (1) * (2) in GF(28) with the reduction polynomial x8 + x4 + x3 + x + 1, store the product in (3).

x86/x64 SIMD Instruction List  Feedback