_mm_set1_epi8的干了什么?
来源:互联网 发布:紧急通知域名访问升级 编辑:程序博客网 时间:2024/04/27 15:02
在qemu中有#define SPLAT(p) _mm_set1_epi8(*(p))
那么,_mm_set1_epi8到底是干什么用的呢?下面这个说明文档说的很详细,算是个记录吧。
Set Intrinsics
The Intel® Streaming SIMD Extensions 2 (Intel® SSE2) intrinsics for integer set operations are listed in this topic. These intrinsics are composite intrinsics because they require more than one instruction to implement them. The prototypes for the Intel® SSE2 intrinsics are in the emmintrin.h header file.
The results of each intrinsic operation are placed in registers. The information about what is placed in each register appears in the tables below, in the detailed explanation of each intrinsic. R, R0, R1...R15 represent the registers in which results are placed.(其实就是通过这些指令给寄存器赋值,利用了单指令多数据流的思想)
Intrinsic Name
Operation
Corresponding
Intel® SSE2 Instruction
_mm_set_epi64
Set two integer values
Composite
_mm_set_epi64x
Set two integer values
Composite
_mm_set_epi32
Set four integer values
Composite
_mm_set_epi16
Set eight integer values
Composite
_mm_set_epi8
Set sixteen integer values
Composite
_mm_set1_epi64
Set two integer values
Composite
_mm_set1_epi64x
Set two integer values
Composite
_mm_set1_epi32
Set four integer values
Composite
_mm_set1_epi16
Set eight integer values
Composite
_mm_set1_epi8
Set sixteen integer values
Composite
_mm_setr_epi64
Set two integer values in reverse order
Composite
_mm_setr_epi32
Set four integer values in reverse order
Composite
_mm_setr_epi16
Set eight integer values in reverse order
Composite
_mm_setr_epi8
Set sixteen integer values in reverse order
Composite
_mm_setzero_si128
Set to zero
Composite
__m128i _mm_set_epi64(__m64 q1, __m64 q0)
Sets the 2 64-bit integer values.
R0
R1
q0
q1
__m128i _mm_set_epi64x(__int64 b, __int64 a)
Sets the 2 64-bit integer values.
R0
R1
a
b
__m128i _mm_set_epi32(int i3, int i2, int i1, int i0)
Sets the 4 signed 32-bit integer values.
R0
R1
R2
R3
i0
i1
i2
i3
__m128i _mm_set_epi16(short w7, short w6, short w5, short w4, short w3, short w2, short w1, short w0)
Sets the 8 signed 16-bit integer values.
R0
R1
...
R7
w0
w1
...
w7
__m128i _mm_set_epi8(char b15, char b14, char b13, char b12, char b11, char b10, char b9, char b8, char b7, char b6, char b5, char b4, char b3, char b2, char b1, char b0)
Sets the 16 signed 8-bit integer values.
R0
R1
...
R15
b0
b1
...
b15
__m128i _mm_set1_epi64(__m64 q)
Sets the 2 64-bit integer values to q.
R0
R1
q
q
__m128i _mm_set1_epi64x(__int64 a)
Sets the 2 64-bit integer values to a.
R0
R1
a
a
__m128i _mm_set1_epi32(int i)
Sets the 4 signed 32-bit integer values to i.
R0
R1
R2
R3
i
i
i
i
__m128i _mm_set1_epi16(short w)
Sets the 8 signed 16-bit integer values to w.
R0
R1
...
R7
w
w
w
w
__m128i _mm_set1_epi8(char b)
Sets the 16 signed 8-bit integer values to b.
R0
R1
...
R15
b
b
b
b
__m128i _mm_setr_epi64(__m64 q0, __m64 q1)
Sets the 2 64-bit integer values in reverse order.
R0
R1
q0
q1
__m128i _mm_setr_epi32(int i0, int i1, int i2, int i3)
Sets the 4 signed 32-bit integer values in reverse order.
R0
R1
R2
R3
i0
i1
i2
i3
__m128i _mm_setr_epi16(short w0, short w1, short w2, short w3, short w4, short w5, short w6, short w7)
Sets the 8 signed 16-bit integer values in reverse order.
R0
R1
...
R7
w0
w1
...
w7
__m128i _mm_setr_epi8(char b15, char b14, char b13, char b12, char b11, char b10, char b9, char b8, char b7, char b6, char b5, char b4, char b3, char b2, char b1, char b0)
Sets the 16 signed 8-bit integer values in reverse order.
R0
R1
...
R15
b0
b1
...
b15
__m128i _mm_setzero_si128()
Sets the 128-bit value to zero.
R
0x0
- _mm_set1_epi8的干了什么?
- AfxBeginThread()干了什么?
- 最近干了什么
- SWIG干了什么
- DispatchMessage到底干了什么
- initrd.img 干了什么
- 昨天我干了什么
- 2014年干了什么
- SparkContext干了些什么
- 我都干了什么
- 这几天干了什么
- js里面的new到底干了些什么
- 周4干了什么呢
- 这些时候都干了什么
- 链接器干了些什么?
- gcc 都替我们干了什么
- 关于driver_register函数干了什么
- copy到底干了什么事情?
- eclipse+Struts 2.3.4.1的HelloWorld .
- C++当前日期加1天
- 【MySQL】【ODBC】win7 odbc数据源配置MYSQL connectioner ODBC【Can't open named pipe to host: . pipe: MySQL (2)】
- 找出由两个三位数乘积构成的回文。
- [130316]上色练习-初音
- _mm_set1_epi8的干了什么?
- 三角形内的点个数(果园里的数)
- 静态库调用问题汇总
- 我对google reader的感情
- linux环境下的python安装过程(含setuptools)
- php 学习 (7)
- 流程控制与方法
- MSP430 串口调试,单步发数据正确,全素的时候就丢包,而且很严重
- linux samba配置