clang  6.0.0svn
Macros
__wmmintrin_pclmul.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define _mm_clmulepi64_si128(__X, __Y, __I)
 Multiplies two 64-bit integer values, which are selected from source operands using the immediate-value operand. More...
 

Macro Definition Documentation

◆ _mm_clmulepi64_si128

#define _mm_clmulepi64_si128 (   __X,
  __Y,
  __I 
)
Value:
((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
(__v2di)(__m128i)(__Y), (char)(__I)))

Multiplies two 64-bit integer values, which are selected from source operands using the immediate-value operand.

The multiplication is a carry-less multiplication, and the 128-bit integer product is stored in the destination.

__m128i _mm_clmulepi64_si128(__m128i __X, __m128i __Y, const int __I);

This intrinsic corresponds to the VPCLMULQDQ instruction.

Parameters
__XA 128-bit vector of [2 x i64] containing one of the source operands.
__YA 128-bit vector of [2 x i64] containing one of the source operands.
__IAn immediate value specifying which 64-bit values to select from the operands. Bit 0 is used to select a value from operand __X, and bit 4 is used to select a value from operand __Y:
Bit[0]=0 indicates that bits[63:0] of operand __X are used.
Bit[0]=1 indicates that bits[127:64] of operand __X are used.
Bit[4]=0 indicates that bits[63:0] of operand __Y are used.
Bit[4]=1 indicates that bits[127:64] of operand __Y are used.
Returns
The 128-bit integer vector containing the result of the carry-less multiplication of the selected 64-bit values.

Definition at line 53 of file __wmmintrin_pclmul.h.