128位数字的无跳转比较问题
有两个无符号128位整数typedef struct
{
unsigned int d;
} UINT128;
现在求函数
int compare(UINT128 * a, UINT128 * b )
的汇编化,无任何跳转指令的版本
a > b返回1
a = b返回1
a < b返回-1
(没有答案,请大家讨论)
可以利用到SSE2指令 你应该首先约定是小端在前(Intel模式),还是大端在前(Moto模式)?
这样才好比较大小(推荐用前者)。
但感觉本身需要判断完成的、很难并行处理的程序,
估计用 SIMD 指令也够戗。 :)
小端形式
用无分支指令的减法能判断>=
现在是如何区分>和= 原帖由 无心人 于 2009-3-19 17:12 发表 http://bbs.emath.ac.cn/images/common/back.gif
...
(没有答案,请大家讨论)
可以利用到SSE2指令
我记得我曾经安装MATLAB R2008b折腾了好几天,精力憔悴的时候,才获悉,这个版本开始使用SSE2 指令集,而我的机子是PIII的,。。。
从此,我就记下了SEE2这个字符串 呃,PIII
楼上该换机器了
页:
[1]