SSE的指令系统

 SSE的指令系统

SSE2和SSE的指令系统非常相似,仅仅多了少量额外的浮点运算,64位浮点/整数运算支持
SSE比传统浮点运算要快,因为它使用128位存储单元。

在windows使用#include <emmintrin.h>
在linux下使用#include <xmmintrin.h>

1. 变量定义和使用
 __m128 S1 = { 1.0f, 2.0f, 3,0f, 4,0f };
 S1.m128_f32[2] = 6.0f;
 S1 = _mm_set_ps1(2.0f);
 S1 = _mm_load_si128((__m128i*)sa);
 S1 = _mm_and_si128(s2, s3);
 s1 = _mm_or_si128(s2,s3);
 s1 = _mm_and_si128(s2, s3);
 s1 = _mm_store_pi128(s2, s3); //?


//第一个字母:  p把结果作为指向数组的指针,每个元素都参与运算
  s只将结果变量的第一个元素参与运算
//第二个字母: s:32位浮点数d:64位浮点数i32:32位整数i64:64位整数

2.常规运算
 __mm_add_pi128(a,b)

3.AMD64位机
 extern __int64 _mm_cvtsd_si64(__m128d);
 extern __int64 _mm_cvttsd_si64(__m128d);
 extern __m128d _mm_cvtsi64_sd(__m128d, __int64);
 extern __m128i _mm_cvtsi64_si128(__int64);
 extern __int64 _mm_cvtsi128_si64(__m128i);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值