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罢