当前位置: 代码迷 >> 汇编语言 >> 优化:mmx 和 sse 该选择哪个?该如何处理
  详细解决方案

优化:mmx 和 sse 该选择哪个?该如何处理

热度:10158   发布时间:2013-02-26 00:00:00.0
优化:mmx 和 sse 该选择哪个?
mmx只能对整型优化,而且对__int8,__int16优化效果明显,对_int32优化效果不好。

那么sse呢?
只能对float、double   优化吗?
能否对__int8,__int16优化?
对__int32优化效果如何?

谢谢!

------解决方案--------------------------------------------------------
用SSE2吧,SSE2功能更强大,他可以一次对 4对单精度浮点,2对双精度浮点作运算.
在整数运算方面,他可以一次 对 2对 32bit整数 作乘法, 4对32bit整数作加减法,2对64bit数作加减法.
PIV,PM(迅驰移动CPU),以及更晚的 intel cpu支持SSE2指令,但PM性能很差,用sse2指令可能更慢,而P IV 则好得多,他可能将程序的运行速度提高1倍.

看看下面这个帖子,内有用SSE2优化大数乘法的例子.
http://community.csdn.net/Expert/topic/5505/5505130.xml,
关于intel cpu 指令说明的文档,可参照
IA-32 Intel® Architecture Software Developer’s Manual
Volume 2:Instruction Set Reference

------解决方案--------------------------------------------------------
SSE2指令完全兼容MMX.但是数据量多了一倍.
如果可能的话整数用SSE2处理会更好
------解决方案--------------------------------------------------------
不管哪个,
只有算法能并行化才有意义,
否则不会提升多少,
还有可能更慢。

------解决方案--------------------------------------------------------
用SSE罢
  相关解决方案