|
|
|
|
|
|
|
. |
付録A Cray X-MPモデル22と24の命令要約
|
|
|
|
|
|
. |
|
|
|
|
|
|
. |
| CRAY XMP
| CAL
| ユニット
| 説明
|
|
. |
**
| 000000
| ERR
| -
| すべての発行済みの命令が完了するのを待ち、交換シーケンスを開始する
|
|
. |
**
| 0010jk
| CA,Aj Ak
| -
| CAの番号がAjのレジスタをAkにセットし、チャンネルをアクティベイトする(特権)。CA=CLの時データ転送は完了。もし、Ajの下4ビットが8より小さいなら、命令はno-op
|
|
. |
**
| 00100k
|
| -
| No-op
|
|
. |
**
| 0010j0
|
| -
| CAが1にセットされる
|
|
. |
**
| 0011jk
| CL,Aj Ak
| -
| CLの番号がAjのレジスタをAkにセットする(特権)。もし、Ajの下4ビットが8より小さいなら、命令はno-op
|
|
. |
**
| 00110k
|
| -
| No-op
|
|
. |
**
| 0011j0
|
| -
| CLが1にセットされる
|
|
. |
**
| 00120k
|
| -
| No-op
|
|
. |
**
| 0012j0
| CI,Aj
| -
| チャンネルAjの割込みとエラー・フラグをクリア。もしAjの下4ビットが8より小さいならNo-op。デバイス・マスター・クリア(出力)をクリアする
|
|
. |
**
| 0012j1
| MC,Aj
| -
| チャンネルAjの割込みとエラー・フラグをクリア。マスター・クリア(出力)をセットするか、レディ保持(ready-held)(入力)をクリアする
|
|
. |
**
| 0013j0
| XA Aj
| -
| XAレジスタをAjにセット
|
|
. |
**
| 001300
|
| -
| XAをクリア
|
|
. |
**
| 0014j0
| RT Sj
| -
| RTをSjにセット(特権)
|
|
. |
**
| 001401
| IP 1
| -
| プロセッサ間割込み要求をセット
|
|
. |
**
| 001402
| IP 0
| -
| プロセッサ間割込み要求をクリア
|
|
. |
**
| 001403
| CLN 0
| -
| クラスタ番号を0にセット
|
|
. |
**
| 001413
| CLN 1
| -
| クラスタ番号を1にセット
| |
|
|
|
|
|
|
|
|
. |
**
| 001423
| CLN 2
| -
| クラスタ番号を2にセット
|
|
. |
**
| 001433
| CLN 3
| -
| クラスタ番号を3にセット
|
|
. |
**
| 0014j4
| PCI Sj
| -
| IIとICDレジスタをSjにセット
|
|
. |
**
| 001404
|
| -
| IIとICDをクリア
|
|
. |
**
| 001405
| CCI
| -
| ICDからのカウント・ダウンのプログラマブル・クロック割込み要求をクリア
|
|
. |
**
| 001406
| ECI
| -
| IIによってレートを与えられるプログラマブル・クロック割り込みを許可
|
|
. |
**
| 001407
| DCI
| -
| プログラマブル・クロック割り込みを禁止
|
|
. |
**
| 0015j0
| (特権)
| -
| 性能モニタを選択
|
|
. |
**
| 001501
| (特権)
| -
| メンテナンス・リード・モードにセット
|
|
. |
**
| 001511
| (特権)
| -
| 診断チェック・バイトをS1にロード
|
|
. |
**
| 001521
| (特権)
| -
| メンテナンス・ライト・モード1にセット
|
|
. |
**
| 001531
| (特権)
| -
| メンテナンス・ライト・モード2にセット
|
|
. |
| 00200k
| VL Ak
| -
| VLをAkにセット
|
|
. |
*
| 002000
| VL 1
| -
| VLを1にセット
|
|
. |
| 002100
| EFI
| -
| 浮動小数点エラー割り込みを許可
|
|
. |
| 002200
| DFI
| -
| 浮動小数点エラー割り込みを禁止
|
|
. |
| 002300
| ERI
| -
| オペランド範囲エラー割り込みを許可
|
|
. |
| 002400
| DRI
| -
| オペランド範囲エラー割り込みを禁止
|
|
. |
| 002500
| DBM
| -
| 双方向メモリ転送を禁止
|
|
. |
| 002600
| EBM
| -
| 双方向メモリ転送を許可
| |
|
|
|
|
|
|
|
|
. |
| 002700
| CMR
| -
| メモリ参照を完了
|
|
. |
| 0030j0
| VM Sj
| -
| VMをSjにセット
|
|
. |
*
| 003000
| VM 0
| -
| VMをクリア
|
|
. |
| 0034jk
| SMjk 1,TS
| -
| セマフォjkに対するテスト・アンド・セット
(0<=jk<=31)。もしCLN=0ならNo-op
|
|
. |
| 0036jk
| SMjk 0
| -
| セマフォjkをクリア (0<=jk<=31)。もしCLN=0ならNo-op
|
|
. |
| 0037jk
| SMjk 1
| -
| セマフォjkをセット (0<=jk<=31)。もしCLN=0ならNo-op
|
|
. |
| 004000
| EX
| -
| 正常終了(モニタ・リクエストで使用される)
|
|
. |
| 0050jk
| J Bjk
| -
| Bjkのアドレスに分岐(2パーセル命令としてエンコードされる)
|
|
. |
| 006ijkm
| J exp
| -
| アドレスexp=ijkmへ分岐
|
|
. |
| 007ijkm
| R exp
| -
| アドレスexp=ijkmへ分岐,ただし、B00をP+2にセットしてから
|
|
. |
| 010ijkm
| JAZ exp
| -
| もしA0=0なら、アドレスexp=ijkmへ分岐。(もしexpの上位ビットがセットされていればNo-op)
|
|
. |
| 011ijkm
| JAN exp
| -
| もしA0≠0なら、アドレスexp=ijkmへ分岐。(もしexpの上位ビットがセットされていればNo-op)
|
|
. |
| 012ijkm
| JAP exp
| -
| もしA0>=0なら、アドレスexp=ijkmへ分岐。(もしexpの上位ビットがセットされていればNo-op)
|
|
. |
| 013ijkm
| JAM exp
| -
| もしA0<0なら、アドレスexp=ijkmへ分岐。(もしexpの上位ビットがセットされていればNo-op)
|
|
. |
| 014ijkm
| JSZ exp
| -
| もしS0=0なら、アドレスexp=ijkmへ分岐。(もしexpの上位ビットがセットされていればNo-op)
|
|
. |
| 015ijkm
| JSN exp
| -
| もしS0≠0なら、アドレスexp=ijkmへ分岐。(もしexpの上位ビットがセットされていればNo-op)
|
|
. |
| 016ijkm
| JSP exp
| -
| もしS0>=0なら、アドレスexp=ijkmへ分岐。(もしexpの上位ビットがセットされていればNo-op)
|
|
. |
| 017ijkm
| JSM exp
| -
| もしS0<0なら、アドレスexp=ijkmへ分岐。(もしexpの上位ビットがセットされていればNo-op)
|
|
. |
| 020ijkm
| Ai exp
| -
| Aiを値jkmにセット(上位2ビットは0)
|
|
. |
| 021ijkm
| Ai #exp
| -
| Aiを値jkmの1の補数にセット(上位2ビットは1)
| |
|
|
|
|
|
|
|
|
. |
| 022ijk
| Ai exp
| -
| Aiをexp=jkにセット(上位18ビットは0)
|
|
. |
| 023ij0
| Ai Sj
| -
| Sjの下位24ビットをAiにコピー
|
|
. |
| 023i00
|
| -
| Aiを0にセット
|
|
. |
| 023i01
| Ai VL
| -
| AiをVLにセット。(もし、VLの下の6ビットがすべて0なら、第7ビットは1、そうでなければ第7ビットは0)
|
|
. |
| 024ijk
| Ai Bjk
| -
| AiをBjkにセット
|
|
. |
| 025ijk
| Bjk Ai
| -
| BjkをAiにセット
|
|
. |
| 026ij0
| Ai PSj
| Pop/LZ
| AiにSj中の1の個数をセット(ポピュレーション・カウント)
|
|
. |
| 026i00
|
|
| Aiを0にセット
|
|
. |
| 026ij1
| Ai QSj
| Pop/LZ
| もしSi中の1の個数が奇数であれば、Aiを1にセット、それ以外はAi=0
|
|
. |
| 026i01
|
|
| Aiを0にセット
|
|
. |
| 026ij7
| Ai SBj
| -
| AiをSBjにセット。もしCLN=0なら、Ai=0。もしSBjへの書き込みが、直近の2クロック・サイクルで発行されていれば、SBjの古い値がAjに送られる
|
|
. |
| 027ij0
| Ai ZSj
| Pop/LZ
| Sjのリーディング0の個数をAiにセット。もしj=0ならAi=64
|
|
. |
| 027ij7
| SBj Ai
| -
| SBjをAiにセット
|
|
. |
| 030ijk
| Aj Aj+Ak
| A Int Add
| AiをAj+Akにセット
|
|
. |
| 030i00
|
|
| Aiを1にセット
|
|
. |
*
| 030i0k
| Ai Ak
| A Int Add
| AiをAkにセット
|
|
. |
*
| 030ij0
| Ai Aj+1
| A Int Add
| AiをAj+1にセット
|
|
. |
| 031ijk
| Ai Aj-Ak
| A Int Add
| AiをAj-Akにセット
|
|
. |
*
| 031i00
| Ai -1
| A Int Add
| Aiを-1にセット
|
|
. |
*
| 031i0k
| Ai -Ak
| A Int Add
| Aiを-Akにセット
| |
|
|
|
|
|
|
|
|
. |
*
| 031ij0
| Ai Aj-1
| A Int Add
| AiをAj-1にセット
|
|
. |
| 032ijk
| Ai Aj*Ak
| A Int Mult
| AiをAj*Akにセット(下24ビットのみ)
|
|
. |
| 032i0k
|
|
| Aiを0にセット
|
|
. |
| 032ij0
|
|
| AiをAjにセット
|
|
. |
| 033i00
| Ai CI
| -
| Aiを、優先度のもっとも高い割込み要求のチャンネル番号にセット
|
|
. |
| 033ij0
| Ai CA,Aj
| -
| Aiに、Ajで番号が与えられるチャンネルの現在のアドレスをセット(j≠0)
|
|
. |
| 033ij1
| Ai CE,Aj
| -
| Aiに、Ajで番号が与えられるチャンネルのエラーフラグをセット
|
|
. |
*
| 034ijk
| Bjk,Ai ,A0 Bjk,Ai 0,A0
| Memory
| メモリのアドレスA0からAi語だけ、Bjkから始まるBレジスタへブロック転送。Bレジスタは環状に処理される
|
|
. |
*
| 035ijk
| ,A0 Bjk,Ai 0,A0 Bjk,Ai
| Memory
| Bjkから始まるBレジスタからAi語だけ、アドレスA0から始まるメモリへブロック転送。Bレジスタは環状に処理される
|
|
. |
*
| 036ijk
| Tjk,Ai ,A0 Tjk,Ai 0,A0
| Memory
| メモリのアドレスA0からAi語だけ、Tjkから始まるTレジスタへブロック転送。Tレジスタは環状に処理される
|
|
. |
*
| 037ijk
| ,A0 Tjk,Ai 0,A0 Tjk,Ai
| Memory
| Tjkから始まるTレジスタからAi語だけ、アドレスA0から始まるメモリへブロック転送。Tレジスタは環状に処理される
|
|
. |
| 040ijkm
| Si exp
| -
| Siを定数 exp= jkm にセット
|
|
. |
| 041ijkm
| Si #exp
| -
| Siを exp= jkm の1の補数にセット
|
|
. |
| 042ijk
| Si <exp
| S Logical
| Siにexp個の1が右から左に並んだマスクをセット; jk=64-exp
(※訳注:原文では「64-exp個の1が並ぶ」となっているが、「exp個」だと思われる)
|
|
. |
*
| 042ijk
| Si #>exp
| S Logical
| Siにexp個の0が左から右に並んだマスクをセット; jk=exp
|
|
. |
*
| 042i77
| Si 1
| S Logical
| Siを1にセット
|
|
. |
*
| 042i00
| Si -1
| S Logical
| Siを-1にセット
|
|
. |
| 043ijk
| Si >exp
| S Logical
| Siにexp個の1が左から右に並んだマスクをセット; jk=exp
|
|
. |
*
| 043ijk
| Si #<exp
| S Logical
| Siにexp個の0が右から左に並んだマスクをセット; jk=64-exp (※訳注:
xmpsimでは、この命令はexpの処理がおかしい)
|
|
. |
*
| 043i00
| Si 0
| S Logical
| Siを0にセット
| |
|
|
|
|
|
|
|
|
. |
| 044ijk
| Si Sj&Sk
| S Logical
| SiをSjとSkのANDをセット
|
|
. |
*
| 044ij0
| Si Sj&SB Si SB&Sj
| S Logical
| SiにSjの符号をセット
|
|
. |
| 044i0k
| Si S0&SB
|
| Siに0をセット
|
|
. |
| 045ijk
| Si #Sk&Sj
| S Logical
| SiにSjと、Skの論理補数(logical complement)のANDをセット
|
|
. |
*
| 045ij0
| Si #SB&Sj
| S Logical
| Siに、符号ビットをクリアしたSjをセット
|
|
. |
| 045i0k
|
|
| Siに0をセット
|
|
. |
| 046ijk
| Si Sj\Sk
| S Logical
| SiにSjと、SkのXORをセット
|
|
. |
*
| 046ij0
| Si Sj\SB Si SB\Sj
| S Logical
| SiにSjの符号を反転したものをセット
|
|
. |
| 047ijk
| Si #Sj\Sk
| S Logical
| SiにSjと、Skの論理一致をセット(※訳注:XORの反転)
|
|
. |
*
| 047ij0
| Si #Sj\SB Si #SB\Sj
| S Logical
| SiにSjを反転したものをセット,ただし符号ビットはSjそのまま
|
|
. |
*
| 047i0k
| Si #Sk
| S Logical
| SiにSkの各ビットの反転をセット
|
|
. |
| 047i00
| Si #SB
| S Logical
| Siの符号ビットをクリア、他のビットはセット
|
|
. |
| 050ijk
| Si Sj!Si&Sk
| S Logical
| Si=Sj&Sk OR Si&Sk'
|
|
. |
*
| 050ij0
| Si Sj!Si&SB
| S Logical
| Siの符号ビットをSjの符号にセット
|
|
. |
| 050i0k
|
|
| SiをSi&Skにセット
|
|
. |
| 050i00
|
|
| Siの符号ビットをクリア
|
|
. |
| 051ijk
| Si Sj!Sk
| S Logical
| Si=Sj OR Sk
|
|
. |
*
| 051ij0
| Si Sj!SB Si SB!Sj
| S Logical
| Si=Sj、ただし符号ビットは1
|
|
. |
*
| 051i0k
| Si Sk
| S Logical
| SiにSkをセット
|
|
. |
*
| 051i00
| Si SB
| S Logical
| Siの符号ビットをセット、Siのその他のビットはクリア
| |
|
|
|
|
|
|
|
|
. |
| 052ijk
| S0 Si<exp
| S Shift
| Siを左にexp=jkだけシフトしS0に置く(0フィル、シフト幅=0-63)
|
|
. |
| 053ijk
| S0 Si>exp
| S Shift
| Siを右にexp=64-jkだけシフトしS0に置く(0フィル、シフト幅=1-64)
|
|
. |
| 054ijk
| Si Si<exp
| S Shift
| Siを左にexp=jkだけシフトしSiに置く(0フィル、シフト幅=0-63)
|
|
. |
| 055ijk
| Si Si>exp
| S Shift
| Siを右にexp=64-jkだけシフトしSiに置く(0フィル、シフト幅=1-64)
|
|
. |
| 056ijk
| Si Si,Sj<Ak
| S Shift
| (Si,Sj)をAkだけ左にシフトしSiに置く
|
|
. |
| 056iik
| Si Si,Si<Ak
| S Shift
| SiをAkだけ左にサーキュラ・シフトしSiに置く(Ak<=64)
|
|
. |
*
| 056i0k
| Si Si<Ak
| S Shift
| SiをAkだけ左にシフトしSiに置く
|
|
. |
*
| 056ij0
| Si Si,Sj<1
| S Shift
| (Si,Sj)を左に1シフトする
|
|
. |
| 057ijk
| Si Sj,Si>Ak
| S Shift
| (Si,Sj)をAkだけ右にシフトしSiに置く
|
|
. |
| 057iik
| Si Si,Si>Ak
|
| SiをAkだけ右にサーキュラ・シフトしSiに置く(Ak<=64)
|
|
. |
*
| 057i0k
| Si Si>Ak
| S Shift
| SiをAkだけ右にシフトしSiに置く
|
|
. |
*
| 057ij0
| Si Sj,Si>1
| S Shift
| (Si,Sj)を右に1シフトする
|
|
. |
| 060ijk
| Si Sj+Sk
| S Int Add
| SiをSj+Skにセット
|
|
. |
| 060i0k
|
|
| SiをSkにセット
|
|
. |
| 060ij0
|
|
| SiにSjの符号ビットを反転しながらセット
|
|
. |
| 060i00
|
|
| Siを2**63にセット
|
|
. |
| 061ijk
| Si Sj-Sk
| S Int Add
| SiにSj-Skをセット
|
|
. |
*
| 061i0k
| Si -Sk
| S Int Add
| Siに-Skをセット
|
|
. |
| 061ij0
|
|
| SiにSjの符号ビットを反転しながらセット
|
|
. |
| 061i00
|
|
| Siを2**63にセット
| |
|
|
|
|
|
|
|
|
. |
| 062ijk
| Si Sj+FSk
| Fp Add
| Siに浮動小数点でSj+Skをセット
|
|
. |
*
| 062i0k
| Si +FSk
| Fp Add
| Siにノーマライズ(正規化)したSkをセット(もし、正しければ)
|
|
. |
| 062ij0
|
|
| Siにノーマライズ(正規化)したSjをセット(もし、正しければ)
|
|
. |
| 063ijk
| Si Sj-FSk
| Fp Add
| Siに浮動小数点でSj-Skをセット
|
|
. |
*
| 063i0k
| Si -FSk
| Fp Add
| Siにノーマライズ(正規化)した-Skをセット(もし、正しければ)
|
|
. |
| 063ij0
|
|
| Siにノーマライズ(正規化)したSjをセット(もし、正しければ)
|
|
. |
| 064ijk
| Si Sj*FSk
| Fp Mult
| Siに浮動小数点でSj*Skをセット
|
|
. |
| 064i0k
|
|
| Siに浮動小数点0をセット
|
|
. |
| 064ij0
|
|
| Skに2**63を使用
|
|
. |
| 065ijk
| Si Sj*HSk
| Fp Mult
| Siに単精度浮動小数点でSj*Skをセット
|
|
. |
| 065i0k
|
|
| Siに浮動小数点0をセット
|
|
. |
| 065ij0
|
|
| Skに2**63を使用
|
|
. |
| 066ijk
| Si Sj*RSk
| Fp Mult
| Siに丸め付き浮動小数点でSj*Skをセット
|
|
. |
| 066i0k
|
|
| Siに浮動小数点0をセット
|
|
. |
| 066ij0
|
|
| Skに2**63を使用
|
|
. |
| 067ijk
| Si Sj*Isk
| Fp Mult
| Siに逆数近似(reciprocal iteration)で2-Sj*Skをセット
|
|
. |
| 067i0k
|
|
| Siに浮動小数点0をセット
|
|
. |
| 067ij0
|
|
| Skに2**63を使用
|
|
. |
| 070ij0
| Si /HSj
| Fp Rcpl
| Siに浮動小数点逆数(reciprocal approximation)でセット
|
|
. |
| 071i0k
| Si Ak
| -
| SiにAkを0拡張でセット
| |
|
|
|
|
|
|
|
|
. |
| 071i1k
| Si +Ak
| -
| SiにAkを符号拡張でセット
|
|
. |
| 071i2k
| Si +FAK
| -
| SiにAkを正規化無し浮動小数点でセット
|
|
. |
| 071i30
| Si 0.6
| -
| Siに0.75* 2**48をセット
|
|
. |
| 071i40
| Si 0.4
| -
| Siに0.5をセット
|
|
. |
| 071i50
| Si 1.
| -
| Siに1.0をセット
|
|
. |
| 071i60
| Si 2.
| -
| Siに2.0をセット
|
|
. |
| 071i70
| Si 4.
| -
| Siに4.0をセット
|
|
. |
| 072i00
| Si RT
| -
| 実時間クロックを読み出しSiに置く
|
|
. |
| 072i02
| Si SM
| -
| セマフォを読みSiに置く。(左づめ)
|
|
. |
| 072ij3
| Si STj
| -
| STjを読んでSiに置く
|
|
. |
| 073i00
| Si VM
| -
| ベクトル・マスク(VM)をSiに読み込む
|
|
. |
| 073i01
| Si SR0
|
| Siの上位ビットに状態をセット
|
|
. |
| 073i02
| SM Si
|
| Siからセマフォにセット
|
|
. |
| 073i11
| (unsupp.)
| -
| 性能カウンタをSiに読み込む
|
|
. |
| 073i21
| (unsupp.)
| -
| 性能カウンタをインクリメント
|
|
. |
| 073i31
| (unsupp.)
| -
| すべてのメンテナンス・モードをクリア
|
|
. |
| 073ij3
| STj Si
| -
| STjにSiからセット
|
|
. |
| 074ijk
| Si Tjk
| -
| SiをTjkにセット
|
|
. |
| 075ijk
| Tjk Si
| -
| TjkをSiにセット
|
|
. |
| 076ijk
| Si Vj,Ak
| -
| SiにVjの要素Akをセット
| |
|
|
|
|
|
|
|
|
. |
| 076ij0
|
|
| SiにVjの最初の要素をセット
|
|
. |
| 077ijk
| Vi,Ak Sj
| -
| Viの要素AkにSjをセット
|
|
. |
*
| 077i0k
| Vi,Ak 0
| -
| Viの要素Akをクリア
|
|
. |
| 077ij0
|
|
| Viの最初の要素にSjをセット
|
|
. |
| 10hijkm
| Ai exp,Ah
| Memory
| Ah+exp番地からAiに読み込む
|
|
. |
*
| 100ijkm
| Ai exp,0 Ai exp,
| Memory
| exp番地からAiに読み込む
|
|
. |
*
| 10hi000
| Ai ,Ah
| Memory
| Ah番地からAiに読み込む
|
|
. |
| 11hijkm
| exp,Ah Ai
| Memory
| Ah+exp番地にAiをストア
|
|
. |
*
| 110ijkm
| exp,0 Ai exp, Ai
| Memory
| exp番地にAiをストア
|
|
. |
*
| 11hi000
| ,Ah Ai
| Memory
| Ah番地にAiをストア
|
|
. |
| 12hijkm
| Si exp,Ah
| Memory
| Ah+exp番地からSiへ読み込む
|
|
. |
*
| 120ijkm
| Si exp,0 si exp,
| Memory
| exp番地からSiへ読み込む
|
|
. |
*
| 12hi000
| Si ,Ah
| Memory
| Ah番地からSiへ読み込む
|
|
. |
| 13hijkm
| exp,Ah Si
| Memory
| Ah+exp番地へSiをストア
|
|
. |
*
| 130ijkm
| exp,0 Si exp, Si
| Memory
| exp番地へSiをストア
|
|
. |
*
| 13hi000
| ,Ah Si
| Memory
| Ah番地へSiをストア
|
|
. |
| 140ijk
| Vi Sj&Vk
| V Logical
| Viの要素0からVL-1までに、Sjと対応するVkの要素のANDをセット
|
|
. |
| 140i0k
|
|
| Viの要素0からVL-1までをクリア
|
|
. |
| 141ijk
| Vi Vj&Vk
| V Logical
| Viの要素0からVL-1までに、対応するVjとVkの要素のANDをセット
|
|
. |
| 142ijk
| Vi Sj!Vk
| V Logical
| Viの要素0からVL-1までに、Sjと対応するVkの要素のORをセット
| |
|
|
|
|
|
|
|
|
. |
*
| 142i0k
|
| V Logical
| Viの要素0からVL-1までに、対応するVkの要素をセット
|
|
. |
| 143ijk
| Vi Vj!Vk
| V Logical
| Viの要素0からVL-1までに、対応するVjとVkの要素のORをセット
|
|
. |
| 144ijk
| Vi Sj\Vk
| V Logical
| Viの要素0からVL-1までに、Sjと対応するVkの要素のXORをセット
|
|
. |
| 145ijk
| Vi Vj\Vk
| V Logical
| Viの要素0からVL-1までに、対応するVjとVkの要素のXORをセット
|
|
. |
*
| 145iii
| Vi 0
| V Logical
| Viの要素0からVL-1までをクリア
|
|
. |
| 146ijk
| Vi Sj!Vk&VM
| V Logical
| Viの要素0からVL-1までに、Sj(もしVM中の対応するビットが1なら)かVkの対応する要素(もし、VM中の対応するビットが0なら)をセット
|
|
. |
*
| 146i0k
| Vi #VM&Vk
| V Logical
| Viの要素0からVL-1までに、0(もしVM中の対応するビットが1なら)かVkの対応する要素(もし、VM中の対応するビットが0なら)をセット
|
|
. |
| 147ijk
| Vi Vj!Vk&VM
| V Logical
| Viの要素0からVL-1までに、Vj(もしVM中の対応するビットが1なら)かVkの対応する要素(もし、VM中の対応するビットが0なら)をセット
|
|
. |
| 150ijk
| Vi Vj<Ak
| V Shift
| Vjの要素0からVL-1までをAkだけ左シフトし、Viの対応する要素に置く。ゼロ・フィルが使われる
|
|
. |
*
| 150ij0
| Vi Vj<1
| V Shift
| Vjの要素0からVL-1までを1だけ左シフトし、Viの対応する要素に置く。ゼロ・フィルが使われる
|
|
. |
| 151ijk
| Vi Vj>Ak
| V Shift
| Vjの要素0からVL-1までをAkだけ右シフトし、Viの対応する要素に置く。ゼロ・フィルが使われる
|
|
. |
*
| 151ij0
| Vi Vj>1
| V Shift
| Vjの要素0からVL-1までを1だけ右シフトし、Viの対応する要素に置く。ゼロ・フィルが使われる
|
|
. |
| 152ijk
| Vi Vj,Vj<Ak
| V Shift
| Vjの続いた要素のペアをAkだけ左ダブル・シフトし、Viの対応する要素に置く。要素の0からVL-2まで、ゼロ・フィルでシフトされる。最後の要素は0とシフトされる。
|
|
. |
*
| 152ij0
| Vi Vj,Vj<1
| V Shift
| Vjの続いた要素のペアを1だけ左ダブル・シフトし、Viの対応する要素に置く。要素の0からVL-2まで、ゼロ・フィルでシフトされる。最後の要素は0とシフトされる。
|
|
. |
| 153ijk
| Vi Vj,Vj>Ak
| V Shift
| Vjの続いた要素のペアをAkだけ右ダブル・シフトし、Viの対応する要素に置く。要素の0からVL-2まで、ゼロ・フィルでシフトされる。最後の要素は0とシフトされる。
|
|
. |
*
| 153ij0
| Vi Vj,Vj>1
| V Shift
| Vjの続いた要素のペアを1だけ右ダブル・シフトし、Viの対応する要素に置く。要素の0からVL-2まで、ゼロ・フィルでシフトされる。最後の要素は0とシフトされる。
|
|
. |
| 154ijk
| Vi Sj+Vk
| V Int Add
| Viの要素0からVL-1までに、Sjと対応するVkの要素の和をセット
|
|
. |
| 154i0k
|
|
| Viの要素0からVL-1までに、対応するVkno要素をセット
|
|
. |
| 155ijk
| Vi Vj+Vk
| V Int Add
| Viの要素0からVL-1までに、対応するVjとVkの要素の和をセット
|
|
. |
| 156ijk
| Vi Sj-Vk
| V Int Add
| Viの要素0からVL-1までに、Sjと対応するVkの要素の差をセット
| |
|
|
|
|
|
|
|
|
. |
*
| 156i0k
| Vi -Vk
| V Int Add
| Viの要素0からVL-1までに、対応するVkの要素の補数をセット
|
|
. |
| 157ijk
| Vi Vj-Vk
| V Int Add
| Viの要素0からVL-1までに、対応するVjとVkの要素の差をセット
|
|
. |
| 160ijk
| Vi Sj*FVk
| Fp Mult
| Viの要素0からVL-1までに、Sjと対応するVkの要素の浮動小数点積をセット
|
|
. |
| 160i0k
|
| ?
| Viの要素0からVL-1までに、浮動小数点0をセット
|
|
. |
| 161ijk
| Vi Vj*FVk
| Fp Mult
| Viの要素0からVL-1までに、対応するVjとVkの要素の浮動小数点積をセット
|
|
. |
| 162ijk
| Vi Sj*HVk
| Fp Mult
| Viの要素0からVL-1までに、Sjと対応するVkの要素の単精度丸めつき浮動小数点積をセット
|
|
. |
| 162ij0
|
| ?
| Viの要素0からVL-1までに、浮動小数点0をセット
|
|
. |
| 163ijk
| Vi Vj*HVk
| Fp Mult
| Viの要素0からVL-1までに、対応するVjとVkの要素の単精度丸めつき浮動小数点積をセット
|
|
. |
| 164ijk
| Vi Sj*RVk
| Fp Mult
| Viの要素0からVL-1までに、Sjと対応するVkの要素の丸めつき浮動小数点積をセット
|
|
. |
| 164i0k
|
| ?
| Viの要素0からVL-1までに、浮動小数点0をセット
|
|
. |
| 165ijk
| Vi Vj*RVk
| Fp Mult
| Viの要素0からVL-1までに、対応するVjとVkの要素の丸めつき浮動小数点積をセット
|
|
. |
| 166ijk
| Vi Sj*IVk
| Fp Mult
| Viの要素0からVL-1までに、Sjと対応するVkの要素の逆数近似(reciprocal
iteration) 2-Sj*(対応するVkの要素)をセット
|
|
. |
| 166i0k
|
| Fp Mult
| Viの要素0からVL-1までに、浮動小数点2をセット
|
|
. |
| 167ijk
| Vi Vj*IVk
| Fp Add
| Viの要素0からVL-1までに、逆数近似(reciprocal iteration)
2-(対応するVjの要素)*(対応するVkの要素)をセット
|
|
. |
| 170ijk
| Vi Sj+FVk
| Fp Add
| Viの要素0からVL-1までに、Sjと対応するVkの要素の浮動小数点和をセット(正規化する)
|
|
. |
*
| 170i0k
| Vi +FVk
| Fp Add
| Viの要素0からVL-1までに、対応するVkの要素をセット(正規化する)
|
|
. |
| 171ijk
| Vi Vj+FVk
| Fp Add
| Viの要素0からVL-1までに、対応するVjとVkの要素の浮動小数点和をセット(正規化する)
|
|
. |
| 172ijk
| Vi Sj-FVk
| Fp Add
| Viの要素0からVL-1までに、Sjと対応するVkの要素の浮動小数点差をセット(正規化する)
|
|
. |
*
| 172i0k
| Vi -FVk
| ?
| Viの要素0からVL-1までに、対応するVkの要素の補数をセット(正規化する)
|
|
. |
| 173ijk
| Vi Vj-FVk
| Fp Add
| Viの要素0からVL-1までに、対応するVjとVkの要素の浮動小数点差をセット(正規化する)
| |
|
|
|
|
|
|
|
|
. |
| 174ij0
| Vi /HVj
| Fp Rcpl
| Viの要素0からVL-1までに、対応するVjの要素の浮動小数点逆数(reciprocal
approximation)をセット
|
|
. |
| 174ij1
| Vi PVj
| V Pop
| Viの要素0からVL-1までに、対応するVjの要素のポピュレーション・カウントをセット
|
|
. |
| 174ij2
| Vi QVj
| V Pop
| Viの要素0からVL-1までに、対応するVjの要素のポピュレーション・カウント・パリティをセット
|
|
. |
| 1750j0
| VM Vj,Z
| V Logical
| 対応するVjの要素=0(またk=4の時)の時VMのビットを1にする
|
|
. |
| 1750j1
| VM Vj,N
| V Logical
| 対応するVjの要素≠0(またk=5の時)の時VMのビットを1にする
|
|
. |
| 1750j2
| VM Vj,P
| V Logical
| 対応するVjの要素>=0(またk=6の時)の時VMのビットを1にする
|
|
. |
| 1750j3
| VM Vj,M
| V Logical
| 対応するVjの要素<0(またk=7の時)の時VMのビットを1にする
|
|
. |
| 176i0k
| Vi ,A0,Ak
| Memory
| Viの要素0からVL-1までに、A0番地から始まるメモリを読み込む。アドレスの増分はAk
|
|
. |
*
| 176i00
| Vi ,A0,1
| Memory
| Viの要素0からVL-1までに、A0番地から始まるメモリを読み込む。アドレスの増分は1
|
|
. |
| 1770jk
| ,A0,Ak Vj
| Memory
| Viの要素0からVL-1までを、A0番地から始まるメモリにストア。アドレスの増分はAk
|
|
. |
*
| 1770j0
| ,A0,1 Vj
| Memory
| Viの要素0からVL-1までを、A0番地から始まるメモリにストア。アドレスの増分は1
|
|
. |
|
|
|
|
|
|
. |
|
|
|
|
|
|
. |
*:特殊文法形式
|
|
|
|
|
|
. |
**:モニタモードに許された特権
|
|
|
|
| | |