介绍intrinsic

intrinsic 在英语里是内联,内在的意思。在C++中通常指内联函数,即编译代码时把函数直接编译到代码段中,省去了函数调用的负担,同时加大了代码量。

在MMX,SSE系列中,intrinsics同时表示一种封装的MMX或者SSE指令。它以函数的形式表示这些指令,使得程序员更容易编写和阅读这些指令,在编译的时候把这些汇编指令直接嵌入代码中,没有函数调用的负担,可以和直接写SSE汇编代码达到同样的性能效果。

比如SSE的指令 ADDPS 可以对应intrinsic函数 _mm_add_ps(__m128, __m128)。这样的表示更加易于函数程序员接受。而且免去了对有限寄存器的控制操作。并且有许多牛人在用intrinsic编写大量的高效代码。

我开始接触SSE就是从intrinsic开始的,所以我偏爱这个写法,也希望能够基于它编写出更多的高效代码。

你可能感兴趣的:(c,汇编)