clang  3.9.0
Macros | Functions
bmiintrin.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define _tzcnt_u16(a)   (__tzcnt_u16((a)))
 Counts the number of trailing zero bits in the operand. More...
 
#define _andn_u32(a, b)   (__andn_u32((a), (b)))
 Performs a bitwise AND of the second operand with the one's complement of the first operand. More...
 
#define _blsi_u32(a)   (__blsi_u32((a)))
 Clears all bits in the source except for the least significant bit containing a value of 1 and returns the result. More...
 
#define _blsmsk_u32(a)   (__blsmsk_u32((a)))
 Creates a mask whose bits are set to 1, using bit 0 up to and including the least siginificant bit that is set to 1 in the source operand and returns the result. More...
 
#define _blsr_u32(a)   (__blsr_u32((a)))
 Clears the least siginificant bit that is set to 1 in the source operand and returns the result. More...
 
#define _tzcnt_u32(a)   (__tzcnt_u32((a)))
 Counts the number of trailing zero bits in the operand. More...
 
#define __DEFAULT_FN_ATTRS   __attribute__((__always_inline__, __nodebug__, __target__("bmi")))
 
#define __RELAXED_FN_ATTRS   __attribute__((__always_inline__, __nodebug__))
 

Functions

static __inline__ unsigned
short __RELAXED_FN_ATTRS 
__tzcnt_u16 (unsigned short __X)
 Counts the number of trailing zero bits in the operand. More...
 
static __inline__ unsigned int
__DEFAULT_FN_ATTRS 
__andn_u32 (unsigned int __X, unsigned int __Y)
 Performs a bitwise AND of the second operand with the one's complement of the first operand. More...
 
static __inline__ unsigned int
__DEFAULT_FN_ATTRS 
__bextr_u32 (unsigned int __X, unsigned int __Y)
 Extracts the specified bits from the first operand and returns them in the least significant bits of the result. More...
 
static __inline__ unsigned int
__DEFAULT_FN_ATTRS 
_bextr_u32 (unsigned int __X, unsigned int __Y, unsigned int __Z)
 Extracts the specified bits from the first operand and returns them in the least significant bits of the result. More...
 
static __inline__ unsigned int
__DEFAULT_FN_ATTRS 
__blsi_u32 (unsigned int __X)
 Clears all bits in the source except for the least significant bit containing a value of 1 and returns the result. More...
 
static __inline__ unsigned int
__DEFAULT_FN_ATTRS 
__blsmsk_u32 (unsigned int __X)
 Creates a mask whose bits are set to 1, using bit 0 up to and including the least siginificant bit that is set to 1 in the source operand and returns the result. More...
 
static __inline__ unsigned int
__DEFAULT_FN_ATTRS 
__blsr_u32 (unsigned int __X)
 Clears the least siginificant bit that is set to 1 in the source operand and returns the result. More...
 
static __inline__ unsigned int
__RELAXED_FN_ATTRS 
__tzcnt_u32 (unsigned int __X)
 Counts the number of trailing zero bits in the operand. More...
 
static __inline__ int
__RELAXED_FN_ATTRS 
_mm_tzcnt_32 (unsigned int __X)
 Counts the number of trailing zero bits in the operand. More...
 

Macro Definition Documentation

#define __DEFAULT_FN_ATTRS   __attribute__((__always_inline__, __nodebug__, __target__("bmi")))

Definition at line 135 of file bmiintrin.h.

#define __RELAXED_FN_ATTRS   __attribute__((__always_inline__, __nodebug__))

Definition at line 140 of file bmiintrin.h.

#define _andn_u32 (   a,
 
)    (__andn_u32((a), (b)))

Performs a bitwise AND of the second operand with the one's complement of the first operand.

unsigned int _andn_u32(unsigned int a, unsigned int b);

This intrinsic corresponds to the ANDN instruction.

Parameters
aAn unsigned integer containing one of the operands.
bAn unsigned integer containing one of the operands.
Returns
An unsigned integer containing the bitwise AND of the second operand with the one's complement of the first operand.

Definition at line 64 of file bmiintrin.h.

#define _blsi_u32 (   a)    (__blsi_u32((a)))

Clears all bits in the source except for the least significant bit containing a value of 1 and returns the result.

unsigned int _blsi_u32(unsigned int a);

This intrinsic corresponds to the BLSI instruction.

Parameters
aAn unsigned integer whose bits are to be cleared.
Returns
An unsigned integer containing the result of clearing the bits from the source operand.

Definition at line 82 of file bmiintrin.h.

#define _blsmsk_u32 (   a)    (__blsmsk_u32((a)))

Creates a mask whose bits are set to 1, using bit 0 up to and including the least siginificant bit that is set to 1 in the source operand and returns the result.

unsigned int _blsmsk_u32(unsigned int a);

This intrinsic corresponds to the BLSMSK instruction.

Parameters
aAn unsigned integer used to create the mask.
Returns
An unsigned integer containing the newly created mask.

Definition at line 99 of file bmiintrin.h.

#define _blsr_u32 (   a)    (__blsr_u32((a)))

Clears the least siginificant bit that is set to 1 in the source operand and returns the result.

unsigned int _blsr_u32(unsigned int a);

This intrinsic corresponds to the BLSR instruction.

Parameters
aAn unsigned integer containing the operand to be cleared.
Returns
An unsigned integer containing the result of clearing the source operand.

Definition at line 116 of file bmiintrin.h.

#define _tzcnt_u16 (   a)    (__tzcnt_u16((a)))

Counts the number of trailing zero bits in the operand.

unsigned short _tzcnt_u16(unsigned short a);

This intrinsic corresponds to the TZCNT instruction.

Parameters
aAn unsigned 16-bit integer whose trailing zeros are to be counted.
Returns
An unsigned 16-bit integer containing the number of trailing zero bits in the operand.

Definition at line 45 of file bmiintrin.h.

#define _tzcnt_u32 (   a)    (__tzcnt_u32((a)))

Counts the number of trailing zero bits in the operand.

unsigned int _tzcnt_u32(unsigned int a);

This intrinsic corresponds to the TZCNT instruction.

Parameters
aAn unsigned 32-bit integer whose trailing zeros are to be counted.
Returns
An unsigned 32-bit integer containing the number of trailing zero bits in the operand.

Definition at line 132 of file bmiintrin.h.

Function Documentation

static __inline__ unsigned int __DEFAULT_FN_ATTRS __andn_u32 ( unsigned int  __X,
unsigned int  __Y 
)
static

Performs a bitwise AND of the second operand with the one's complement of the first operand.

This intrinsic corresponds to the ANDN instruction.

Parameters
__XAn unsigned integer containing one of the operands.
__YAn unsigned integer containing one of the operands.
Returns
An unsigned integer containing the bitwise AND of the second operand with the one's complement of the first operand.

Definition at line 172 of file bmiintrin.h.

static __inline__ unsigned int __DEFAULT_FN_ATTRS __bextr_u32 ( unsigned int  __X,
unsigned int  __Y 
)
static

Extracts the specified bits from the first operand and returns them in the least significant bits of the result.

This intrinsic corresponds to the BEXTR instruction.

Parameters
__XAn unsigned integer whose bits are to be extracted.
__YAn unsigned integer used to specify which bits are extracted. Bits [7:0] specify the index of the least significant bit. Bits [15:8] specify the number of bits to be extracted.
Returns
An unsigned integer whose least significant bits contain the extracted bits.

Definition at line 194 of file bmiintrin.h.

static __inline__ unsigned int __DEFAULT_FN_ATTRS __blsi_u32 ( unsigned int  __X)
static

Clears all bits in the source except for the least significant bit containing a value of 1 and returns the result.

This intrinsic corresponds to the BLSI instruction.

Parameters
__XAn unsigned integer whose bits are to be cleared.
Returns
An unsigned integer containing the result of clearing the bits from the source operand.

Definition at line 235 of file bmiintrin.h.

static __inline__ unsigned int __DEFAULT_FN_ATTRS __blsmsk_u32 ( unsigned int  __X)
static

Creates a mask whose bits are set to 1, using bit 0 up to and including the least siginificant bit that is set to 1 in the source operand and returns the result.

This intrinsic corresponds to the BLSMSK instruction.

Parameters
__XAn unsigned integer used to create the mask.
Returns
An unsigned integer containing the newly created mask.

Definition at line 252 of file bmiintrin.h.

static __inline__ unsigned int __DEFAULT_FN_ATTRS __blsr_u32 ( unsigned int  __X)
static

Clears the least siginificant bit that is set to 1 in the source operand and returns the result.

This intrinsic corresponds to the BLSR instruction.

Parameters
__XAn unsigned integer containing the operand to be cleared.
Returns
An unsigned integer containing the result of clearing the source operand.

Definition at line 269 of file bmiintrin.h.

static __inline__ unsigned short __RELAXED_FN_ATTRS __tzcnt_u16 ( unsigned short  __X)
static

Counts the number of trailing zero bits in the operand.

This intrinsic corresponds to the TZCNT instruction.

Parameters
__XAn unsigned 16-bit integer whose trailing zeros are to be counted.
Returns
An unsigned 16-bit integer containing the number of trailing zero bits in the operand.

Definition at line 153 of file bmiintrin.h.

static __inline__ unsigned int __RELAXED_FN_ATTRS __tzcnt_u32 ( unsigned int  __X)
static

Counts the number of trailing zero bits in the operand.

This intrinsic corresponds to the TZCNT instruction.

Parameters
__XAn unsigned 32-bit integer whose trailing zeros are to be counted.
Returns
An unsigned 32-bit integer containing the number of trailing zero bits in the operand.

Definition at line 285 of file bmiintrin.h.

static __inline__ unsigned int __DEFAULT_FN_ATTRS _bextr_u32 ( unsigned int  __X,
unsigned int  __Y,
unsigned int  __Z 
)
static

Extracts the specified bits from the first operand and returns them in the least significant bits of the result.

This intrinsic corresponds to the BEXTR instruction.

Parameters
__XAn unsigned integer whose bits are to be extracted.
__YAn unsigned integer used to specify the index of the least significant bit for the bits to be extracted. Bits [7:0] specify the index.
__ZAn unsigned integer used to specify the number of bits to be extracted. Bits [7:0] specify the number of bits.
Returns
An unsigned integer whose least significant bits contain the extracted bits.

Definition at line 218 of file bmiintrin.h.

static __inline__ int __RELAXED_FN_ATTRS _mm_tzcnt_32 ( unsigned int  __X)
static

Counts the number of trailing zero bits in the operand.

This intrinsic corresponds to the TZCNT instruction.

Parameters
__XAn unsigned 32-bit integer whose trailing zeros are to be counted.
Returns
An 32-bit integer containing the number of trailing zero bits in the operand.

Definition at line 301 of file bmiintrin.h.