测试amd cpu对intel sse指令集的支持情况
2011-03-05 08:55
831 查看
首先测试下sse4.1,源代码如下
编译方法
g++ -O2 -o1 -s -msse4.1 1.cpp
gdb报sigill,非法指令集,不支持sse4.1
接着测试sse3
结果输出:
c[0] = 0.099000,c[1] = 0.202000,c[2] = 0.297000,c[3] = 0.404000
支持sse3
至于那个sse4a,那就真是算了,只有AMD支持,没有市场……
#include <stdio.h> #include <smmintrin.h> int main() { __m128i a, b; char * psA = (char * )&a; char * psB = (char * )&b; int i = 0 ; for( ; i < 16; ++i) { psA[i] = 0xcc; psB[i] = 0x33; } int sResult = _mm_testz_si128(a,b); printf("sResult == %d/n",sResult); }
编译方法
g++ -O2 -o1 -s -msse4.1 1.cpp
gdb报sigill,非法指令集,不支持sse4.1
接着测试sse3
#include <stdio.h> #include <pmmintrin.h> int main(){ __m128 a, b,c; float * psA = (float*)&a; psA[0] = 0.1f;psA[1]= 0.2f; psA[2]= 0.3f; psA[3]= 0.4f; float * psB = (float*)&b; psB[0] = 0.001f; psB[1] = 0.002f; psB[2] = 0.003f; psB[3] = 0.004f; c = _mm_addsub_ps(a,b); float * psC = (float*)&c; printf("c[0] = %f,c[1] = %f,c[2] = %f,c[3] = %f", psC[0],psC[1],psC[2],psC[3]); }
结果输出:
c[0] = 0.099000,c[1] = 0.202000,c[2] = 0.297000,c[3] = 0.404000
支持sse3
至于那个sse4a,那就真是算了,只有AMD支持,没有市场……
相关文章推荐
- 哪些CPU支持AMD-V(Pacifica)或者Intel VT~~~~X86 virtualization
- 测试CPU支持指令集AVX,AVX2,SSE情况的代码【VS2010调试通过】
- 测试手机对J2ME支持情况
- 为支持全美达对抗Intel AMD豪爽掏出7500万美元
- Intel and AMD CPU标识
- 换CPU的品牌(比如INTEL换成AMD,当然连带主板)肯定要重装系统
- Intel、AMD和ARM混战 CPU上演三国演义
- CPU选择intel还是amd
- intel 7 8系列主板区别,支持的CPU
- Intel AMD CPU编号规格超详尽对照表(zz)
- 快速测试手机浏览器对HTLM5的详细支持情况
- AMD与Intel现在的情况20120906
- 在选择购买CPU方面应该选择AMD还是intel
- Intel, AMD及VIA CPU的微架构(12)
- 检查机器cpu是否支持 Intel dpdk 1.7
- AMD与Intel对cpu标称的区别
- 测试浏览器对window.JSON的支持情况
- Intel, AMD及VIA CPU的微架构(1)
- Amd Cpu 使用Android Studio出现不支持HAXM的解决办法
- Intel 和 AMD CPU的基准测试表