びぃびぃえす
  新規投稿 ┃ ツリー表示 ┃ 一覧表示 ┃ トピック表示 ┃ 検索 ┃ 設定 ┃ ホーム  
28 / 94 ツリー ←次へ | 前へ→

XMM命令 L.Entis 01/8/31(金) 14:19
┣ Re:XMM命令 L.Entis 01/8/31(金) 22:43
┣ Re:XMM命令 みかみかな 01/9/2(日) 4:04
┗ Re:XMM命令 剣聖炎羅 01/9/2(日) 6:45

XMM命令
 L.Entis  - 01/8/31(金) 14:19 -

引用なし
パスワード
   XMM命令で、内積を高速に演算する方法はありませんでしょうか?
mulps 命令で各項を乗算は出来るのですが、加算が出来ません。
xmm# レジスタ内の数値の合計を計算する命令ってないですよねぇ〜
shufps 命令で入れ替えつつ加算するのも、一旦メモリに書き出して加算するのもどうもスマートじゃなくて、何か良い方法があるのではないかと思うのですが…。
そもそも並び替えておくことが出来る場合もありますが、そうじゃない場合の方が多いので何とかならないものでしょうか?

movaps xmm1, xmm0
shufps xmm0, xmm0, 0EH
addps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm0, xmm0, 01H
addss xmm0, xmm1

とかやるんだったら、

movaps temp, xmm0
movss xmm1, temp[4]
movss xmm2, temp[8]
movss xmm3, temp[12]
addss xmm0, xmm1
addss xmm2, xmm3
addss xmm0, xmm2

の方がいい気がしますしねぇ〜
<Mozilla/4.75 [ja] (Windows NT 5.0; U)@tindacil.zeroeks.co.jp>

Re:XMM命令
 L.Entis  - 01/8/31(金) 22:43 -

引用なし
パスワード
   >movaps xmm1, xmm0
>shufps xmm0, xmm0, 0EH
>addps xmm0, xmm1
>movaps xmm1, xmm0
>shufps xmm0, xmm0, 01H
>addss xmm0, xmm1

でも、4x4の行列だったら、こっちの方がいいのか…
<Mozilla/4.75 [ja] (Windows NT 5.0; U)@tokyo-fa1-104.kcom.ne.jp>

Re:XMM命令
 みかみかな  - 01/9/2(日) 4:04 -

引用なし
パスワード
   ▼L.Entisさん:
>movaps xmm1, xmm0
>shufps xmm0, xmm0, 0EH
>addps xmm0, xmm1
>movaps xmm1, xmm0
>shufps xmm0, xmm0, 01H
>addss xmm0, xmm1


上述のものよりは、

movhlps xmm1, xmm0
addps  xmm0, xmm1
movss  xmm1, xmm0
shufps  xmm0, xmm0, 01H
addss  xmm0, xmm1

こちらの方が、良いのではないでしょうか?
もし間違えていたらすみません(^^;
<Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)@map150074.dcn.ne.jp>

Re:XMM命令
 剣聖炎羅  - 01/9/2(日) 6:45 -

引用なし
パスワード
   ▼L.Entisさん:
>XMM命令で、内積を高速に演算する方法はありませんでしょうか?
これ系のはやはりhttp://homepage1.nifty.com/herumi/が一番ではないでしょうか。強者揃いです^^;
<Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)@p74-dna15kyoto.kyoto.ocn.ne.jp>

  新規投稿 ┃ ツリー表示 ┃ 一覧表示 ┃ トピック表示 ┃ 検索 ┃ 設定 ┃ ホーム  
28 / 94 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
11361 C-BOARD v3.02 is not Free?