深入理解 Intrinsics:优化编程的利器
1. Intrinsics 概述
Intrinsics 是一类特殊的函数,通常并非作为编程语言的包或库的一部分来实现,而是由编译器直接实现和处理。它们的工作方式与内联函数类似,在每个实例中,Intrinsics 会被代表所需操作的一系列指令所替换。由于它们内置于编译器中,因此经过了高度优化,这些优化通常与并行化相关,例如单指令多数据(SIMD)操作。
常见的 C++ 编译器(如 Clang、GCC、Visual C++)为 x86/x86_64 SIMD 指令实现了 Intrinsics。需要注意的是,Microsoft x64 不允许使用内联汇编语句,这意味着程序员若要实现类似的底层操作,就必须使用 Intrinsics。不同的编译器对 Intrinsics 的支持会有所不同,而且同一编译器的不同版本也可能存在差异。有些编译器使用特定于平台的 Intrinsics,而有些编译器框架则提供了跨平台的可移植性。
相关资源
- https://software.intel.com/sites/landingpage/IntrinsicsGuide/(英特尔提供的一个出色的交互式网站)
- https://software.intel.com/en-us/node/523351(英特尔 Intrinsics 参考文档)
- https://msdn.microsoft.com/en-us/library/26td21ds.aspx(微软编译器 Intrinsics 文档)
- Intel 64 和 IA - 32 软件开发手册,第 2A 卷,第
超级会员免费看
订阅专栏 解锁全文
889

被折叠的 条评论
为什么被折叠?



