游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2823|回复: 9

巨土的SSE/SSE2

[复制链接]

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2006-8-29 18:59:00 | 显示全部楼层 |阅读模式
受不了了,128bits的shift right/left居然只支持Immediate value。
唉,感觉AltiVec设计那叫一个爽,SSE/SSE2没有支持floor/ceil,今天花了一天时间自己人工hardcore了一个SSE2版的ceil/floor....AltiVec里就一个__vrfip就行了,真是郁闷。。

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2006-8-30 00:36:00 | 显示全部楼层

Re:巨土的SSE/SSE2

我还在盼望着硬件dot

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2006-8-30 00:48:00 | 显示全部楼层

Re:巨土的SSE/SSE2

楼上,你是女的吗?

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2006-8-30 01:56:00 | 显示全部楼层

Re:巨土的SSE/SSE2

有必要告诉你么?

33

主题

128

帖子

128

积分

注册会员

Rank: 2

积分
128
发表于 2006-8-30 03:44:00 | 显示全部楼层

Re: 巨土的SSE/SSE2

色~~~~~~~~~~~~~~~

54

主题

2916

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2006-8-30 08:24:00 | 显示全部楼层

Re:巨土的SSE/SSE2

正常情况下应该没有哪个男的会用“樱”这个名字。

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2006-8-30 09:13:00 | 显示全部楼层

Re:巨土的SSE/SSE2

RY。完毕。

hardcore。。。期待。。。

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
 楼主| 发表于 2006-8-30 09:34:00 | 显示全部楼层

Re:巨土的SSE/SSE2

放出期待版hardcore....
#ifdef _SSE_OPTIMIZE_
inline __m128 _mm_ceil_ps( __m128 v )
{
        static const __m128 twoTo23 = _mm_set_ps1(1 << 23);
        __m128 d = _mm_sub_ps( _mm_add_ps( _mm_add_ps( _mm_sub_ps( v, twoTo23 ), twoTo23 ), twoTo23 ), twoTo23 ); //the meat of ceil
        __m128 largeMaskE = _mm_cmpgt_ps( v, twoTo23 ); //-1 if v >= 2**23
        __m128 g = _mm_cmpgt_ps( v, d ); //check for possible off by one error
        __m128 h = _mm_cvtepi32_ps( *(__m128i*) &g ); //convert positive check result to -1.0, negative to 0.0
        __m128 t = _mm_sub_ps( d, h ); //add in the error if there is one

        //Select between output result and input value based on v >= 2**23
        v = _mm_and_ps( v, largeMaskE );
        t = _mm_andnot_ps( largeMaskE, t );

        return _mm_or_ps( t, v );
}

#endif
据说在_set_SSE_enable(1)之后,能编译出SSE2版本的ceil/pow/floor/exp,但是根据偶的试验,发现不好使。。。于是就有了以上版本。。版权归偶。。

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2006-8-30 10:27:00 | 显示全部楼层

Re:巨土的SSE/SSE2

cvt****指令

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2006-8-30 22:32:00 | 显示全部楼层

Re:巨土的SSE/SSE2

我始终对编译器优化这东西的感觉有些玄乎。。。邪门。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 05:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表