2008年12月21日の日記を表示中
2008年12月21日 (日)
■celltripperとか
ちょこちょこいじってたらちょっとスコアが伸びました.でも何でこれで伸びるのかさっぱりわかりません.むしろ遅くなっておかしくない筈なのに(;´Д`)
ところで spu-gcc の組み込み関数の一覧見てて気になったんですが,spu_rlmaskqwbytebc って何のためにあるんですかね.spu_slqwbytebc とかだと spu_slqw とあわせて1〜128ビットの左シフトとかに使えそうだけど, spu_rlmaskqwbytebc は負の数で指定しないといけないという謎仕様のせいで spu_rlmaskqw と組み合わせてもきれいに右シフトに使えないっぽいんですよね・・・.simdmath 見ても使われてないようだし.謎だ・・・.
[コメントを書く]
2008年12月21日の日記を表示中
128ビットアラインメントされてないアドレスをロードすると下位4ビットが無視される。
128ビット境界を跨ぐデータをロードする場合、2回ロードを発行して、それぞれ右シフト+左シフトして重ね合わせることになる。
この際、シフト命令が補数をとる形式だと下位4ビットがそのまま使うことができる。
なるほど!そういう使い方があったか!
というわけで早速試してみたんですが,残念ながらどうもこれには
使えないっぽいです.詳細は22日のエントリに書いてみました.
勘違いしてたらごめんなさい・・・