clang 17.0.0git
|
Go to the source code of this file.
Macros | |
#define | __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__)) |
#define | __DEFAULT_FN_ATTRS_CRC32 __attribute__((__always_inline__, __nodebug__, __target__("crc32"))) |
#define | __DEFAULT_FN_ATTRS_CAST __attribute__((__always_inline__)) |
#define | __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS |
#define | _bit_scan_forward(A) __bsfd((A)) |
#define | _bit_scan_reverse(A) __bsrd((A)) |
#define | _popcnt32(A) __popcntd((A)) |
#define | _rdtsc() __rdtsc() |
#define | _rdpmc(A) __rdpmc(A) |
#define | _lrotl(a, b) __rold((a), (b)) |
#define | _lrotr(a, b) __rord((a), (b)) |
#define | _rotl(a, b) __rold((a), (b)) |
#define | _rotr(a, b) __rord((a), (b)) |
#define | _rotwl(a, b) __rolw((a), (b)) |
#define | _rotwr(a, b) __rorw((a), (b)) |
Functions | |
static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR | __bsfd (int __A) |
Find the first set bit starting from the lsb. | |
static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR | __bsrd (int __A) |
Find the first set bit starting from the msb. | |
static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR | __bswapd (int __A) |
Swaps the bytes in the input. | |
static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR | _bswap (int __A) |
static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR | __popcntd (unsigned int __A) |
Counts the number of bits in the source operand having a value of 1. | |
static __inline__ unsigned int __DEFAULT_FN_ATTRS | __readeflags (void) |
static __inline__ void __DEFAULT_FN_ATTRS | __writeeflags (unsigned int __f) |
static __inline__ unsigned int __DEFAULT_FN_ATTRS_CAST | _castf32_u32 (float __A) |
Cast a 32-bit float value to a 32-bit unsigned integer value. | |
static __inline__ unsigned long long __DEFAULT_FN_ATTRS_CAST | _castf64_u64 (double __A) |
Cast a 64-bit float value to a 64-bit unsigned integer value. | |
static __inline__ float __DEFAULT_FN_ATTRS_CAST | _castu32_f32 (unsigned int __A) |
Cast a 32-bit unsigned integer value to a 32-bit float value. | |
static __inline__ double __DEFAULT_FN_ATTRS_CAST | _castu64_f64 (unsigned long long __A) |
Cast a 64-bit unsigned integer value to a 64-bit float value. | |
static __inline__ unsigned int __DEFAULT_FN_ATTRS_CRC32 | __crc32b (unsigned int __C, unsigned char __D) |
Adds the unsigned integer operand to the CRC-32C checksum of the unsigned char operand. | |
static __inline__ unsigned int __DEFAULT_FN_ATTRS_CRC32 | __crc32w (unsigned int __C, unsigned short __D) |
Adds the unsigned integer operand to the CRC-32C checksum of the unsigned short operand. | |
static __inline__ unsigned int __DEFAULT_FN_ATTRS_CRC32 | __crc32d (unsigned int __C, unsigned int __D) |
Adds the unsigned integer operand to the CRC-32C checksum of the second unsigned integer operand. | |
static __inline__ unsigned long long __DEFAULT_FN_ATTRS | __rdpmc (int __A) |
static __inline__ unsigned long long __DEFAULT_FN_ATTRS | __rdtscp (unsigned int *__A) |
static __inline__ void __DEFAULT_FN_ATTRS | _wbinvd (void) |
static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR | __rolb (unsigned char __X, int __C) |
static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR | __rorb (unsigned char __X, int __C) |
static __inline__ unsigned short __DEFAULT_FN_ATTRS_CONSTEXPR | __rolw (unsigned short __X, int __C) |
static __inline__ unsigned short __DEFAULT_FN_ATTRS_CONSTEXPR | __rorw (unsigned short __X, int __C) |
static __inline__ unsigned int __DEFAULT_FN_ATTRS_CONSTEXPR | __rold (unsigned int __X, int __C) |
static __inline__ unsigned int __DEFAULT_FN_ATTRS_CONSTEXPR | __rord (unsigned int __X, int __C) |
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__)) |
Definition at line 18 of file ia32intrin.h.
#define __DEFAULT_FN_ATTRS_CAST __attribute__((__always_inline__)) |
Definition at line 25 of file ia32intrin.h.
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS |
Definition at line 26 of file ia32intrin.h.
#define __DEFAULT_FN_ATTRS_CRC32 __attribute__((__always_inline__, __nodebug__, __target__("crc32"))) |
Definition at line 19 of file ia32intrin.h.
#define _bit_scan_forward | ( | A | ) | __bsfd((A)) |
Definition at line 84 of file ia32intrin.h.
#define _bit_scan_reverse | ( | A | ) | __bsrd((A)) |
Definition at line 85 of file ia32intrin.h.
Definition at line 425 of file ia32intrin.h.
Definition at line 426 of file ia32intrin.h.
#define _popcnt32 | ( | A | ) | __popcntd((A)) |
Definition at line 159 of file ia32intrin.h.
#define _rdpmc | ( | A | ) | __rdpmc(A) |
Definition at line 369 of file ia32intrin.h.
#define _rdtsc | ( | ) | __rdtsc() |
Definition at line 367 of file ia32intrin.h.
Definition at line 428 of file ia32intrin.h.
Definition at line 429 of file ia32intrin.h.
Definition at line 433 of file ia32intrin.h.
Definition at line 434 of file ia32intrin.h.
|
static |
Find the first set bit starting from the lsb.
Result is undefined if input is 0.
This intrinsic corresponds to the BSF
instruction or the TZCNT
instruction.
__A | A 32-bit integer operand. |
Definition at line 42 of file ia32intrin.h.
|
static |
Find the first set bit starting from the msb.
Result is undefined if input is 0.
This intrinsic corresponds to the BSR
instruction or the LZCNT
instruction and an XOR
.
__A | A 32-bit integer operand. |
Definition at line 59 of file ia32intrin.h.
|
static |
Swaps the bytes in the input.
Converting little endian to big endian or vice versa.
This intrinsic corresponds to the BSWAP
instruction.
__A | A 32-bit integer operand. |
Definition at line 75 of file ia32intrin.h.
|
static |
Adds the unsigned integer operand to the CRC-32C checksum of the unsigned char operand.
This intrinsic corresponds to the CRC32B
instruction.
__C | An unsigned integer operand to add to the CRC-32C checksum of operand __D. |
__D | An unsigned 8-bit integer operand used to compute the CRC-32C checksum. |
Definition at line 286 of file ia32intrin.h.
References __D.
|
static |
Adds the unsigned integer operand to the CRC-32C checksum of the second unsigned integer operand.
This intrinsic corresponds to the CRC32D
instruction.
__C | An unsigned integer operand to add to the CRC-32C checksum of operand __D. |
__D | An unsigned 32-bit integer operand used to compute the CRC-32C checksum. |
Definition at line 328 of file ia32intrin.h.
References __D.
|
static |
Adds the unsigned integer operand to the CRC-32C checksum of the unsigned short operand.
This intrinsic corresponds to the CRC32W
instruction.
__C | An unsigned integer operand to add to the CRC-32C checksum of operand __D. |
__D | An unsigned 16-bit integer operand used to compute the CRC-32C checksum. |
Definition at line 307 of file ia32intrin.h.
References __D.
|
static |
Counts the number of bits in the source operand having a value of 1.
This intrinsic corresponds to the POPCNT
instruction or a a sequence of arithmetic and logic ops to calculate it.
__A | An unsigned 32-bit integer operand. |
Definition at line 154 of file ia32intrin.h.
|
static |
Definition at line 357 of file ia32intrin.h.
|
static |
Definition at line 363 of file ia32intrin.h.
|
static |
Definition at line 198 of file ia32intrin.h.
|
static |
Definition at line 377 of file ia32intrin.h.
|
static |
Definition at line 397 of file ia32intrin.h.
|
static |
Definition at line 387 of file ia32intrin.h.
|
static |
Definition at line 382 of file ia32intrin.h.
|
static |
Definition at line 402 of file ia32intrin.h.
|
static |
Definition at line 392 of file ia32intrin.h.
|
static |
Definition at line 204 of file ia32intrin.h.
|
static |
Definition at line 80 of file ia32intrin.h.
|
static |
Cast a 32-bit float value to a 32-bit unsigned integer value.
This intrinsic corresponds to the VMOVD / MOVD
instruction in x86_64, and corresponds to the VMOVL / MOVL
instruction in ia32.
__A | A 32-bit float value. |
Definition at line 221 of file ia32intrin.h.
|
static |
Cast a 64-bit float value to a 64-bit unsigned integer value.
This intrinsic corresponds to the VMOVQ / MOVQ
instruction in x86_64, and corresponds to the VMOVL / MOVL
instruction in ia32.
__A | A 64-bit float value. |
Definition at line 236 of file ia32intrin.h.
|
static |
Cast a 32-bit unsigned integer value to a 32-bit float value.
This intrinsic corresponds to the VMOVQ / MOVQ
instruction in x86_64, and corresponds to the FLDS
instruction in ia32.
__A | A 32-bit unsigned integer value. |
Definition at line 251 of file ia32intrin.h.
|
static |
Cast a 64-bit unsigned integer value to a 64-bit float value.
This intrinsic corresponds to the VMOVQ / MOVQ
instruction in x86_64, and corresponds to the FLDL
instruction in ia32.
__A | A 64-bit unsigned integer value. |
Definition at line 266 of file ia32intrin.h.
|
static |
Definition at line 372 of file ia32intrin.h.