clang 20.0.0git
|
Go to the source code of this file.
Macros | |
#define | __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("bmi2"))) |
Functions | |
static __inline__ unsigned int __DEFAULT_FN_ATTRS | _bzhi_u32 (unsigned int __X, unsigned int __Y) |
Copies the unsigned 32-bit integer __X and zeroes the upper bits starting at bit number __Y. | |
static __inline__ unsigned int __DEFAULT_FN_ATTRS | _pdep_u32 (unsigned int __X, unsigned int __Y) |
Deposit (scatter) low-order bits from the unsigned 32-bit integer __X into the 32-bit result, according to the mask in the unsigned 32-bit integer __Y. | |
static __inline__ unsigned int __DEFAULT_FN_ATTRS | _pext_u32 (unsigned int __X, unsigned int __Y) |
Extract (gather) bits from the unsigned 32-bit integer __X into the low-order bits of the 32-bit result, according to the mask in the unsigned 32-bit integer __Y. | |
static __inline__ unsigned int __DEFAULT_FN_ATTRS | _mulx_u32 (unsigned int __X, unsigned int __Y, unsigned int *__P) |
Multiplies the unsigned 32-bit integers __X and __Y to form a 64-bit product. | |
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("bmi2"))) |
Definition at line 18 of file bmi2intrin.h.
|
static |
Copies the unsigned 32-bit integer __X and zeroes the upper bits starting at bit number __Y.
This intrinsic corresponds to the BZHI
instruction.
__X | The 32-bit source value to copy. |
__Y | The lower 8 bits specify the bit number of the lowest bit to zero. |
Definition at line 41 of file bmi2intrin.h.
References __Y.
|
static |
Multiplies the unsigned 32-bit integers __X and __Y to form a 64-bit product.
Stores the upper 32 bits of the product in the memory at __P and returns the lower 32 bits.
This intrinsic corresponds to the MULX
instruction.
__X | An unsigned 32-bit multiplicand. |
__Y | An unsigned 32-bit multiplicand. |
__P | A pointer to memory for storing the upper half of the product. |
Definition at line 127 of file bmi2intrin.h.
|
static |
Deposit (scatter) low-order bits from the unsigned 32-bit integer __X into the 32-bit result, according to the mask in the unsigned 32-bit integer __Y.
All other bits of the result are zero.
This intrinsic corresponds to the PDEP
instruction.
__X | The 32-bit source value to copy. |
__Y | The 32-bit mask specifying where to deposit source bits. |
Definition at line 71 of file bmi2intrin.h.
References __Y.
|
static |
Extract (gather) bits from the unsigned 32-bit integer __X into the low-order bits of the 32-bit result, according to the mask in the unsigned 32-bit integer __Y.
All other bits of the result are zero.
This intrinsic corresponds to the PEXT
instruction.
__X | The 32-bit source value to copy. |
__Y | The 32-bit mask specifying which source bits to extract. |
Definition at line 101 of file bmi2intrin.h.
References __Y.