x86 内部函数列表
- 项目
- 2022/05/02
本文档列出了面向 x86 时 Microsoft C/C++ 编译器支持内部函数。
有关各个内部函数的信息,请参见适用于你面向的处理器的资源:
-
头文件。 头文件的注释中记录了很多内部函数。
-
Intel 内部函数指南。 使用搜索框查找特定的内部函数。
-
Intel 64 和 IA-32 体系结构软件开发人员手册
-
Intel 体系结构指令集扩展编程参考
-
Intel 高级矢量扩展简介
-
AMD 开发人员指南、手册 & ISA 文档
x86 内部函数
下表列出了 x86 处理器上可用的内部函数。 “技术”列列出了所需的指令集支持。 使用 __cpuid 内部函数确定运行时的指令集支持。 如果两个条目均在一行中,则它们表示同一内部函数的不同入口点。 [1] 表示内部函数仅适用于 AMD 处理器。 [2] 表示内部函数仅适用于 Intel 处理器。 [3] 指示该原型是一个宏。 “标题”列中列出了函数原型所需的标题。 为简明起见,Intrin.h 标头同时包含 immintrin.h 和 ammintrin.h。
9AD8FAC023D29FE3
DB38F81DEE510A45CFC26A49BFF2D13AEDC6831E5038A0FD9C303CAE936EF686
5B17C4E4A7094F54996B5F1598E4723DD755A68B3AAE3B108CF42AE0D8D7531F
369D93C7A9F0BD79977F4FB3DC247F93E36376DED20C2AE05BFFC884F9E7E444
7BB9F1B0EF60405085B872660823BA6BB486096E5426484C2CD349E20DEF2B9E
39D1D4C919AC04EA7BAF091A61F5F09CE804C4A55BC454FF220E507785371711
D539D6735D69E6BA14962029769C0FF9EC0194FF1BAB953AEA3267BAE05F17E5
2E830BF677BCAF8CDB99363AE932A95BE7FDD6D681E07B1C393D6C936127D33B
8E04165D20163857E4F658CEEA4302B2464F638159605DF2C81B8050D5D23B69
B03CB9AA0B5D0DF72C7BD73F9FE25F754F553FF578E484C553F8F4868DEE2BE6
1815CC9A2150243729AA5DBFC9D3713FF67D63D24E4B8CFCCCFC6C73EE27881A
70AC3A5FD0D30FE708E0A04270E625BD0AD1DA7DD40AC1D2480305EFB2776AE5
5970822B1492E5657CAFBEFC8ECEF2D325689F80B3CF50B24BBAEBBA8F51A921
BE74CE47B63CF8B5383F3C152B639D3C62A191BEFDA82E6D2DE4BB45FCCDFA7B
D589F84C43BD891E707750B516CAC3E6F7E34B91583E6AB9A201C5B8F2988061
ECC7F494D97E7FF3B03E0106B3B55858973420D0B84991AAF6E7ED2722FC6059
0BE7173FD815365111D13031451E077248A152D6AE245CDA453D3AA698F88440
73187A01714F36B5B325A9A4AF365E66F2E28A77D876908113987056A5D8D9F6
8A8F025E815B150F1563E0BE8416B490A4C2483909BDF7BBD9D0520C2AB2B166
7E5DEA589631E983D205C3F4A33A7E035E066116FCFE4A75C2B87030D8AB66C8
2C8365688FD7B8057892C7B6CC86B16ABBD55B1F2B9AAF6E9855560B826CBF1F
1127B88BF110ABA207E19634851FD2B9C3B56AB01FFDDC6B974AAF6136584861
2F61173BA2EC5ADC70D0CD7DF2BC3A892E4BF650056C24EA3032622F6C24AF14
DF1D6FE3EC8EC403533B180809D4CDDB74DC0329DD1A4E85E3F23BBC27730D30
54268DDBB113D72B93143AC9AA8CB2174540839890FD207EE2A0A54537DDF868
DCFC791F2A700CD6068959896D494AA7D84A1AF8BD54174E418026ADA7403B44
915F1E7C29392D71B0C663D0CA60F7B5829FFFE5B908
| 内部函数名称 | 技术 | 标头 | 函数原型 |
|---|---|---|---|
| _addcarry_u16 | intrin.h | unsigned char _addcarry_u16(unsigned char, unsigned short, unsigned short, unsigned short *); | |
| _addcarry_u32 | intrin.h | unsigned char _addcarry_u32(unsigned char, unsigned int, unsigned int, unsigned int *); | |
| _addcarry_u8 | intrin.h | unsigned char _addcarry_u8(unsigned char, unsigned char, unsigned char, unsigned char *); | |
| _addcarryx_u32 | ADX [2] | immintrin.h | unsigned char _addcarryx_u32(unsigned char, unsigned int, unsigned int, unsigned int *); |
| __addfsbyte | intrin.h | void __addfsbyte(unsigned long, unsigned char); | |
| __addfsdword | intrin.h | void __addfsdword(unsigned long, unsigned long); | |
| __addfsword | intrin.h | void __addfsword(unsigned long, unsigned short); | |
| _AddressOfReturnAddress | intrin.h | void * _AddressOfReturnAddress(void); | |
| _andn_u32 | BMI [1] | ammintrin.h | unsigned int _andn_u32(unsigned int, unsigned int); |
| _bextr_u32 | BMI | ammintrin.h, immintrin.h | unsigned int _bextr_u32(unsigned int, unsigned int, unsigned int); |
| _bextri_u32 | ABM [1] | ammintrin.h | unsigned int _bextri_u32(unsigned int, unsigned int); |
| _BitScanForward | intrin.h | unsigned char _BitScanForward(unsigned long*, unsigned long); | |
| _BitScanReverse | intrin.h | unsigned char _BitScanReverse(unsigned long*, unsigned long); | |
| _bittest | intrin.h | unsigned char _bittest(long const *, long); | |
| _bittestandcomplement | intrin.h | unsigned char _bittestandcomplement(long *, long); | |
| _bittestandreset | intrin.h | unsigned char _bittestandreset(long *, long); | |
| _bittestandset | intrin.h | unsigned char _bittestandset(long *, long); | |
| _blcfill_u32 | ABM [1] | ammintrin.h | unsigned int _blcfill_u32(unsigned int); |
| _blci_u32 | ABM [1] | ammintrin.h | unsigned int _blci_u32(unsigned int); |
| _blcic_u32 | ABM [1] | ammintrin.h | unsigned int _blcic_u32(unsigned int); |
| _blcmsk_u32 | ABM [1] | ammintrin.h | unsigned int _blcmsk_u32(unsigned int); |
| _blcs_u32 | ABM [1] | ammintrin.h | unsigned int _blcs_u32(unsigned int); |
| _blsfill_u32 | ABM [1] | ammintrin.h | unsigned int _blsfill_u32(unsigned int); |
| _blsi_u32 | BMI | ammintrin.h, immintrin.h | unsigned int _blsi_u32(unsigned int); |
| _blsic_u32 | ABM [1] | ammintrin.h | unsigned int _blsic_u32(unsigned int); |
| _blsmsk_u32 | BMI | ammintrin.h, immintrin.h | unsigned int _blsmsk_u32(unsigned int); |
| _blsr_u32 | BMI | ammintrin.h, immintrin.h | unsigned int _blsr_u32(unsigned int); |
| _bzhi_u32 | BMI [2] | immintrin.h | unsigned int _bzhi_u32(unsigned int, unsigned int); |
| _clac | SMAP | intrin.h | void _clac(void); |
| __cpuid | intrin.h | void __cpuid(int *, int); | |
| __cpuidex | intrin.h | void __cpuidex(int *, int, int); | |
| __debugbreak | intrin.h | void __debugbreak(void); | |
| _disable | intrin.h | void _disable(void); | |
| _div64 | intrin.h | int _div64(__int64, int, int *); | |
| __emul | intrin.h | __int64 [pascal/cdecl] __emul(int, int); | |
| __emulu | intrin.h | unsigned _ |



