5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

x86命令の所要クロック計測スレ

128 :97:05/03/03 23:28:19
じゃあネタ振りでも
http://www.hackersdelight.org/HDcode.htm
のMMX/SSEを使った高速化について。
とりあえず64×64. 128×128の転置行列を作る。
で、基本的なアイディアとして、

1.サンプルコードと同様、素直にシフトと論理演算の組み合わせ
(原著によれば完全にアンループするとRISCで3886命令程度なるらしい)

2.とりあえず8/16/32bitシフトしてマスクして重ね合わせの部分は
pupk[hl][dwb]でインタリーブすれば同様のことできるじゃん
(去年の4月ごろ考案)

3.そーいやSSEにpmovmskbあるけど、マスク演算無しで
8bitずつビットの間合いを詰められるぜ?(最近おもいつく)

で、気合い入れてコード書いてみた割にはあんまり期待しただけの
パフォーマンスは出なかったのね。
思うに演算ユニットが並列動作してねーんじゃないかと。
まあマイナー命令連発だからな。
8×8bitだとmovqでMMXレジスタに一気にロードしてpmovmskb
+左論理シフトを繰り返す方法がダントツ最速ですた。

てか、このへんの命令ってどんな命令と並列動作できんのかしら?

80 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)