JP2016510461A - Vectorelementrotateandinsertundermask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 - Google Patents
Vectorelementrotateandinsertundermask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 Download PDFInfo
- Publication number
- JP2016510461A JP2016510461A JP2015553179A JP2015553179A JP2016510461A JP 2016510461 A JP2016510461 A JP 2016510461A JP 2015553179 A JP2015553179 A JP 2015553179A JP 2015553179 A JP2015553179 A JP 2015553179A JP 2016510461 A JP2016510461 A JP 2016510461A
- Authority
- JP
- Japan
- Prior art keywords
- operand
- bits
- bit
- register
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004590 computer program Methods 0.000 title claims abstract description 34
- 239000013598 vector Substances 0.000 claims abstract description 262
- 238000004891 communication Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 23
- 238000013519 translation Methods 0.000 description 19
- 230000014616 translation Effects 0.000 description 19
- 238000007792 addition Methods 0.000 description 18
- 238000012360 testing method Methods 0.000 description 17
- 238000006243 chemical reaction Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000012884 algebraic function Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
Description
1つ又は複数の態様の技術を通じて、付加的な特徴及び利点が実現される。他の実施形態及び態様は、本明細書で詳細に説明され、特許請求の範囲の一部と見なされる。
0−命令の第1のベクトル・レジスタ指定(例えば、ビット8−11内)のための最上位ビット。
1−もしあれば、命令の第2のベクトル・レジスタ指定(例えば、ビット12−15内)のための最上位ビット。
2−もしあれば、命令の第3のベクトル・レジスタ指定(例えば、ビット16−19内)のための最上位ビット。
3−もしあれば、命令の第4のベクトル・レジスタ指定(例えば、ビット32−35内)のための最上位ビット。
IEEE例外を引き起こすことなく、SNaN(シグナリングNaN)及びQNaN(クワイエットNaN)を含むオペランド要素が検査される。
0 全ての要素について、選択されたビットは1である(一致)
1 全ての要素ではないが、少なくとも1つの要素について、選択されたビットは1である(Sビットがゼロである場合)
2 −−
3 全ての要素について、選択されたビットは0である(非一致)
プログラム例外:
*ベクトル・ファシリティがイネーブルにされていないことを示す、データ例外コード(DXC)FEを伴うデータ、ベクトル命令
*演算(z/Architectureのためのベクトル・ファシリティがインストールされていない場合)
*指定
*トランザクション制限
1.この命令は、例外のリスクなしに又はIEEEフラグを設定せずにオペランド要素をテストする方法を提供する。
2.Sビットが設定された場合、1の条件コードは使用されない。
*ベクトル・ファシリティがイネーブルにされていないことを示す、データ例外コード(DXC)FEを伴うデータ、ベクトル命令
*演算(z/Architectureのためのベクトル・ファシリティがインストールされていない場合)
*トランザクション制限
1.第3のオペランドのコンテンツは、チェックサム計算アルゴリズムの開始時にゼロを含むことになる。
2.16ビット・チェックサムは、例えば、TCP/IPアプリケーションにおいて用いられる。32ビット・チェックサムを計算した後、以下のプログラムを実行することができる。
*ベクトル・ファシリティがイネーブルにされていないことを示す、データ例外コード(DXC)FEを伴うデータ、ベクトル命令
*演算(z/Architectureのためのベクトル・ファシリティがインストールされていない場合)
*指定
*トランザクション制限
*ベクトル・ファシリティがイネーブルにされていないことを示す、データ例外コード(DXC)FEを伴うデータ、ベクトル命令
*演算(z/Architectureのためのベクトル・ファシリティがインストールされていない場合)
*指定
*トランザクション制限
*ベクトル・ファシリティがイネーブルにされていないことを示す、データ例外コード(DXC)FEを伴うデータ、ベクトル命令
*演算(z/Architectureのためのベクトル・ファシリティがインストールされていない場合)
*指定
*トランザクション制限
1.VERIMとVGMとの組み合わせを用いて、Rotate and Insert Selected Bits命令の完全な機能を達成することができる。
2.I4フィールドのビットは、各要素を左にローテートするためのビット数を指定する符号なし2進整数を含むように定義されるが、右へのローテート量を効果的に指定する負の数をコード化してもよい。
0001 IEEE無効操作
0010 IEEEゼロ除算
0011 IEEEオーバーフロー
0100 IEEEアンダーフロー
0101 IEEE不正確
102、5026:プロセッサ
104、204、5025:メモリ
106、206:入力/出力デバイス及び/又はインターフェース
108、208:バス
202:ネイティブ中央演算処理ユニット(CPU)
210:ネイティブ・レジスタ
212:エミュレータ・コード
250:ゲスト命令
252:命令フェッチ・ユニット
254:命令変換ルーチン
256:ネイティブ命令
260:エミュレーション制御ルーチン
300:レジスタ・ファイル
302、480:ベクトル・レジスタ
304:浮動小数点レジスタ
400:Vector Floating Point Test Data Class Immediate命令
500:Vector Checksum命令
600:Vector Galois Field Multiply Sum and
700:Vector Generate Mask命令
800:Vector Element Rotate and Insert Under Mask命令
900:ベクトル例外コード
902:ベクトル・インデックス
904:ベクトル割り込みコード
1000:コンピュータ・プログラム製品
Claims (20)
- 中央演算処理ユニットにおいてマシン命令を実行するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、方法を実施するための命令を含み、
前記方法は、
プロセッサにより、実行のためのマシン命令を取得することであって、前記マシン命令は、コンピュータ・アーキテクチャに従ったコンピュータ実行のために定められ、
Vector Element Rotate And Insert Under Mask操作を識別するオペコードを与えるための少なくとも1つのオペコード・フィールドと、
第1のオペランドを含む第1のレジスタを指定するのに用いられる第1のレジスタ・フィールドと、
第2のオペランドを含む第2のレジスタを指定するのに用いられる第2のレジスタ・フィールドと、
第3のオペランドを含む第3のレジスタを指定するのに用いられる第3のレジスタ・フィールドと、
を含む、取得することと、
前記マシン命令を実行することと、
を含み、
前記実行することは、
前記第2のオペランドの1つ又は複数の要素を、指定されたローテート量だけ選択された方向にローテートさせることと、
特定の値を有する1つ又は複数のデータ単位に関して前記第3のオペランドをチェックすることと、
前記特定の値をもつ前記1つ又は複数のデータ単位を有する前記第3のオペランドに基づいて、前記第1のオペランド内の対応するデータ単位の1つ又は複数の値を、ローテートされた前記第2のオペランド内の対応するデータ単位の1つ又は複数の値に置き換えることと、
を含む、コンピュータ・プログラム。 - 前記選択された方向は左方向を含み、前記指定されたローテート量は指定されたビット数を含む、請求項1に記載のコンピュータ・プログラム。
- 前記ローテートさせることは、前記第2のオペランドの各要素を前記指定されたビット数だけ左へローテートさせることを含み、要素の左端ビット位置から外にシフトされた各ビットは、前記要素の右端ビット位置に再び入る、請求項2に記載のコンピュータ・プログラム。
- 前記第3のオペランドは複数の要素を含み、前記複数の要素は複数のマスクを含み、前記複数のマスクのうちの1つのマスクは複数のビットを含む、請求項1に記載のコンピュータ・プログラム。
- 前記1つ又は複数のデータ単位は1つ又は複数のビットを含み、前記特定の値は1を含み、前記置き換えることは、1に設定された前記第3のオペランド内の各ビットについて、前記第1のオペランド内の対応するビットの値を、ローテートされた前記第2のオペランド内の対応するビットの値に置き換えることを含む、請求項4に記載のコンピュータ・プログラム。
- 前記第2のオペランドは複数の要素を含み、前記指定されたローテート量は、前記マシン命令の第4のオペランド内に含まれ、前記第4のオペランドは、前記第2のオペランドの各要素をローテートするためのビット数を指定する符号なし2進整数を含み、
前記方法は、
前記符号なし2進整数が選択されたオペランドの要素のビット数より大きいかどうかを判断することと、
前記符号なし2進整数が前記選択されたオペランドの前記要素の前記ビット数より大きいことに基づいて、前記符号なし2進整数を法として前記選択されたオペランドの前記要素の前記ビット数だけ減らすことをさらに含む、請求項1に記載のコンピュータ・プログラム。 - 前記方法は、前記マシン命令のマスク・フィールドを用いて、前記選択されたオペランドの前記要素の前記ビット数を求めることをさらに含み、前記マスク・フィールドは、前記マシン命令の1つ又は複数のオペランドの要素のサイズを示すための要素サイズ制御を含む、請求項6に記載のコンピュータ・プログラム。
- 前記マシン命令は、1つ又は複数のレジスタを指定するのに用いられる拡張フィールドをさらに含み、前記第1のレジスタ・フィールドと前記拡張フィールドの第1の部分とが組み合わされて前記第1のレジスタが指定され、前記第2のレジスタ・フィールドと前記拡張フィールドの第2の部分とが組み合わされて前記第2のレジスタが指定され、前記第3のレジスタ・フィールドと前記拡張フィールドの第3の部分とが組み合わされて前記第3のレジスタが指定される、請求項1に記載のコンピュータ・プログラム。
- 前記第2のオペランドは1つ又は複数の第2のオペランド要素を含み、前記選択された方向は左方向であり、前記データ単位はビットを含み、前記指定されたローテート量は指定されたビット数を含み、前記第3のオペランドは1つ又は複数の第3のオペランド要素を含み、各々の第3のオペランド要素は複数のビットを有するマスクを含み、
前記ローテートさせることは、前記第2のオペランドの各要素を前記指定されたビット数だけ左へローテートさせることを含み、要素の左端ビット位置から外にシフトされた各ビットは、前記要素の右端ビット位置に再び入り、
前記置き換えることは、1に設定された前記第3のオペランド内の各ビットについて、前記第1のオペランド内の対応するビットの値を、ローテートされた前記第2のオペランドの対応するビットの値に置き換えることを含む、請求項1に記載のコンピュータ・プログラム。 - 前記マシン命令はマスク・フィールドをさらに含み、前記マスク・フィールドは、前記第1のオペランド、前記第2のオペランド及び前記第3のオペランドのうちの1つ又は複数の要素のサイズを示すための要素サイズ制御を含む、請求項1に記載のコンピュータ・プログラム。
- 中央演算処理ユニットにおいてマシン命令を実行するためのコンピュータ・システムであって、前記コンピュータ・システムは、
メモリと、
前記メモリと通信を行うプロセッサと、
を含み、方法を実施するように構成され、
前記方法は、
プロセッサにより、実行のためのマシン命令を取得することであって、前記マシン命令は、コンピュータ・アーキテクチャに従ったコンピュータ実行のために定められ、
Vector Element Rotate And Insert Under Mask操作を識別するオペコードを与えるための少なくとも1つのオペコード・フィールドと、
第1のオペランドを含む第1のレジスタを指定するのに用いられる第1のレジスタ・フィールドと、
第2のオペランドを含む第2のレジスタを指定するのに用いられる第2のレジスタ・フィールドと、
第3のオペランドを含む第3のレジスタを指定するのに用いられる第3のレジスタ・フィールドと、
を含む、取得することと、
前記マシン命令を実行することと、
を含み、
前記実行することは、
前記第2のオペランドの1つ又は複数の要素を、指定されたローテート量だけ選択された方向にローテートさせることと、
特定の値を有する1つ又は複数のデータ単位に関して前記第3のオペランドをチェックすることと、
前記特定の値をもつ前記1つ又は複数のデータ単位を有する前記第3のオペランドに基づいて、前記第1のオペランド内の対応するデータ単位の1つ又は複数の値を、ローテートされた前記第2のオペランド内の対応するデータ単位の1つ又は複数の値に置き換えることと、
を含む、コンピュータ・システム。 - 前記選択された方向は左方向を含み、前記指定されたローテート量は指定されたビット数を含み、前記ローテートさせることは、前記第2のオペランドの各要素を前記指定されたビット数だけ左へローテートさせることを含み、要素の左端ビット位置から外にシフトされた各ビットは、前記要素の右端ビット位置に再び入る、請求項11に記載のコンピュータ・システム。
- 前記第3のオペランドは複数の要素を含み、前記複数の要素は複数のマスクを含み、前記複数のマスクのうちの1つのマスクは複数のビットを含み、前記1つ又は複数のデータ単位は1つ又は複数のビットを含み、前記特定の値は1を含み、前記置き換えることは、1に設定された前記第3のオペランド内の各ビットについて、前記第1のオペランド内の対応するビットの値を、ローテートされた前記第2のオペランド内の対応するビットの値に置き換えることを含む、請求項11に記載のコンピュータ・システム。
- 前記第2のオペランドは複数の要素を含み、前記指定されたローテート量は、前記マシン命令の第4のオペランド内に含まれ、前記第4のオペランドは、前記第2のオペランドの各要素をローテートするためのビット数を指定する符号なし2進整数を含み、
前記方法は、
前記符号なし2進整数が選択されたオペランドの要素のビット数より大きいかどうかを判断することと、
前記符号なし2進整数が前記選択されたオペランドの前記要素の前記ビット数より大きいことに基づいて、前記符号なし2進整数を法として前記選択されたオペランドの前記要素の前記ビット数だけ減らすことをさらに含む、請求項11に記載のコンピュータ・システム。 - 前記マシン命令は、1つ又は複数のレジスタを指定するのに用いられる拡張フィールドをさらに含み、前記第1のレジスタ・フィールドと前記拡張フィールドの第1の部分とが組み合わされて前記第1のレジスタが指定され、前記第2のレジスタ・フィールドと前記拡張フィールドの第2の部分とが組み合わされて前記第2のレジスタが指定され、前記第3のレジスタ・フィールドと前記拡張フィールドの第3の部分とが組み合わされて前記第3のレジスタが指定される、請求項11に記載のコンピュータ・システム。
- 前記第2のオペランドは1つ又は複数の第2のオペランド要素を含み、前記選択された方向は左方向であり、前記データ単位はビットを含み、前記指定されたローテート量は指定されたビット数を含み、前記第3のオペランドは1つ又は複数の第3のオペランド要素を含み、各々の第3のオペランド要素は複数のビットを有するマスクを含み、
前記ローテートさせることは、前記第2のオペランドの各要素を前記指定されたビット数だけ左へローテートさせることを含み、要素の左端ビット位置から外にシフトされた各ビットは、前記要素の右端ビット位置に再び入り、
前記置き換えることは、1に設定された前記第3のオペランド内の各ビットについて、前記第1のオペランド内の対応するビットの値を、ローテートされた前記第2のオペランドの前記対応するビットの値に置き換えることを含む、請求項11に記載のコンピュータ・システム。 - 前記マシン命令はマスク・フィールドをさらに含み、前記マスク・フィールドは、前記第1のオペランド、前記第2のオペランド及び前記第3のオペランドの要素のサイズを示すための要素サイズ制御を含む、請求項11に記載のコンピュータ・システム。
- 中央演算処理ユニットにおいてマシン命令を実行する方法であって、
プロセッサにより、実行のためのマシン命令を取得することであって、前記マシン命令は、コンピュータ・アーキテクチャに従ったコンピュータ実行のために定められ、
Vector Element Rotate And Insert Under Mask操作を識別するオペコードを与えるための少なくとも1つのオペコード・フィールドと、
第1のオペランドを含む第1のレジスタを指定するのに用いられる第1のレジスタ・フィールドと、
第2のオペランドを含む第2のレジスタを指定するのに用いられる第2のレジスタ・フィールドと、
第3のオペランドを含む第3のレジスタを指定するのに用いられる第3のレジスタ・フィールドと、
を含む、取得することと、
前記マシン命令を実行することと、
を含み、
前記実行することは、
前記第2のオペランドの1つ又は複数の要素を、指定されたローテート量だけ選択された方向にローテートさせることと、
特定の値を有する1つ又は複数のデータ単位に関して前記第3のオペランドをチェックすることと、
前記特定の値をもつ前記1つ又は複数のデータ単位を有する前記第3のオペランドに基づいて、前記第1のオペランド内の対応するデータ単位の1つ又は複数の値を、ローテートされた前記第2のオペランド内の対応するデータ単位の1つ又は複数の値に置き換えることと、
を含む、方法。 - 前記第2のオペランドは1つ又は複数の第2のオペランド要素を含み、前記選択された方向は左方向であり、前記データ単位はビットを含み、前記指定されたローテート量は指定されたビット数を含み、前記第3のオペランドは1つ又は複数の第3のオペランド要素を含み、各々の第3のオペランド要素は複数のビットを有するマスクを含み、
前記ローテートさせることは、前記第2のオペランドの各要素を前記指定されたビット数だけ左へローテートさせることを含み、要素の左端ビット位置から外にシフトされた各ビットは、前記要素の右端ビット位置に再び入り、
前記置き換えることは、1に設定された前記第3のオペランド内の各ビットについて、前記第1のオペランド内の対応するビットの値を、ローテートされた前記第2のオペランド内の対応するビットの値に置き換えることを含む、請求項18に記載の方法。 - 前記マシン命令はマスク・フィールドをさらに含み、前記マスク・フィールドは、前記第1のオペランド、前記第2のオペランド及び前記第3のオペランドの要素のサイズを示すための要素サイズ制御を含む、請求項18に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/748,543 | 2013-01-23 | ||
US13/748,543 US9823924B2 (en) | 2013-01-23 | 2013-01-23 | Vector element rotate and insert under mask instruction |
PCT/IB2013/060309 WO2014114997A1 (en) | 2013-01-23 | 2013-11-21 | Vector element rotate and insert under mask instruction |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016510461A true JP2016510461A (ja) | 2016-04-07 |
JP6399522B2 JP6399522B2 (ja) | 2018-10-03 |
Family
ID=51208689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015553179A Active JP6399522B2 (ja) | 2013-01-23 | 2013-11-21 | Vector element rotate and insert under mask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9823924B2 (ja) |
JP (1) | JP6399522B2 (ja) |
CN (1) | CN104937543B (ja) |
DE (1) | DE112013005500T5 (ja) |
GB (1) | GB2525357A (ja) |
WO (1) | WO2014114997A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016530631A (ja) * | 2013-08-14 | 2016-09-29 | クアルコム,インコーポレイテッド | ベクトルの算術的削減 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9778932B2 (en) | 2013-01-23 | 2017-10-03 | International Business Machines Corporation | Vector generate mask instruction |
US9471308B2 (en) | 2013-01-23 | 2016-10-18 | International Business Machines Corporation | Vector floating point test data class immediate instruction |
US9715385B2 (en) | 2013-01-23 | 2017-07-25 | International Business Machines Corporation | Vector exception code |
US9804840B2 (en) | 2013-01-23 | 2017-10-31 | International Business Machines Corporation | Vector Galois Field Multiply Sum and Accumulate instruction |
US9513906B2 (en) | 2013-01-23 | 2016-12-06 | International Business Machines Corporation | Vector checksum instruction |
US9823924B2 (en) | 2013-01-23 | 2017-11-21 | International Business Machines Corporation | Vector element rotate and insert under mask instruction |
US20150186137A1 (en) * | 2013-12-27 | 2015-07-02 | Tal Uliel | Systems, apparatuses, and methods for vector bit test |
US20170177348A1 (en) * | 2015-12-21 | 2017-06-22 | Intel Corporation | Instruction and Logic for Compression and Rotation |
US10592468B2 (en) * | 2016-07-13 | 2020-03-17 | Qualcomm Incorporated | Shuffler circuit for lane shuffle in SIMD architecture |
CN109117184A (zh) | 2017-10-30 | 2019-01-01 | 上海寒武纪信息科技有限公司 | 人工智能处理器及使用处理器执行平面旋转指令的方法 |
US11990137B2 (en) | 2018-09-13 | 2024-05-21 | Shanghai Cambricon Information Technology Co., Ltd. | Image retouching method and terminal device |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6014336A (ja) * | 1983-06-30 | 1985-01-24 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 命令処理装置 |
US5487159A (en) * | 1993-12-23 | 1996-01-23 | Unisys Corporation | System for processing shift, mask, and merge operations in one instruction |
US6088782A (en) * | 1997-07-10 | 2000-07-11 | Motorola Inc. | Method and apparatus for moving data in a parallel processor using source and destination vector registers |
JP2000284960A (ja) * | 1999-03-08 | 2000-10-13 | Texas Instr Inc <Ti> | ビット・フィールド・プロセッサ |
WO2006121444A1 (en) * | 2005-05-10 | 2006-11-16 | Telairity Semiconductor, Inc. | Vector processor with special purpose registers and high speed memory access |
JP2008083795A (ja) * | 2006-09-26 | 2008-04-10 | Oki Electric Ind Co Ltd | ビットフィールド操作回路 |
US20080114969A1 (en) * | 2006-11-01 | 2008-05-15 | Gonion Jeffry E | Instructions for efficiently accessing unaligned partial vectors |
US20120265967A1 (en) * | 2009-08-04 | 2012-10-18 | International Business Machines Corporation | Implementing instruction set architectures with non-contiguous register file specifiers |
Family Cites Families (131)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60103482A (ja) | 1983-10-24 | 1985-06-07 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | ベクトル処理能力を有するデ−タ処理装置 |
JPS60136872A (ja) | 1983-12-26 | 1985-07-20 | Hitachi Ltd | ベクトル処理装置 |
JPH0731669B2 (ja) | 1986-04-04 | 1995-04-10 | 株式会社日立製作所 | ベクトル・プロセツサ |
US5113521A (en) | 1988-03-18 | 1992-05-12 | Digital Equipment Corporation | Method and apparatus for handling faults of vector instructions causing memory management exceptions |
US5043867A (en) | 1988-03-18 | 1991-08-27 | Digital Equipment Corporation | Exception reporting mechanism for a vector processor |
US5974522A (en) | 1990-01-24 | 1999-10-26 | Cornell Research Foundation, Inc. | Machine for processing interrupted out-of-order instructions |
US5053986A (en) | 1990-02-21 | 1991-10-01 | Stardent Computer, Inc. | Circuit for preservation of sign information in operations for comparison of the absolute value of operands |
US5247524A (en) | 1990-06-29 | 1993-09-21 | Digital Equipment Corporation | Method for generating a checksum |
GB2263987B (en) | 1992-02-06 | 1996-03-06 | Intel Corp | End bit markers for instruction decode |
US5388233A (en) | 1993-04-30 | 1995-02-07 | Intel Corporation | Method and apparatus for counting instruction types using bit masks and a programmable bit map |
AU6629894A (en) | 1993-05-07 | 1994-12-12 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
US5673407A (en) | 1994-03-08 | 1997-09-30 | Texas Instruments Incorporated | Data processor having capability to perform both floating point operations and memory access in response to a single instruction |
US5551013A (en) | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
JP3672634B2 (ja) | 1994-09-09 | 2005-07-20 | 株式会社ルネサステクノロジ | データ処理装置 |
US5680338A (en) | 1995-01-04 | 1997-10-21 | International Business Machines Corporation | Method and system for vector processing utilizing selected vector elements |
US5825678A (en) | 1995-03-31 | 1998-10-20 | International Business Machines Corporation | Method and apparatus for determining floating point data class |
US5663952A (en) | 1995-07-07 | 1997-09-02 | Sun Microsystems, Inc. | Checksum generation circuit and method |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
US5701316A (en) | 1995-08-31 | 1997-12-23 | Unisys Corporation | Method for generating an internet protocol suite checksum in a single macro instruction |
US5790825A (en) | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
JP2904099B2 (ja) | 1996-02-19 | 1999-06-14 | 日本電気株式会社 | コンパイル装置およびコンパイル方法 |
US5768168A (en) | 1996-05-30 | 1998-06-16 | Lg Semicon Co., Ltd. | Universal galois field multiplier |
GB9627069D0 (en) | 1996-12-30 | 1997-02-19 | Certicom Corp | A method and apparatus for finite field multiplication |
US5884071A (en) | 1997-03-31 | 1999-03-16 | Intel Corporation | Method and apparatus for decoding enhancement instructions using alias encodings |
US5953240A (en) | 1997-06-23 | 1999-09-14 | Sun Microsystems, Inc. | SIMD TCP/UDP checksumming in a CPU |
US5960012A (en) | 1997-06-23 | 1999-09-28 | Sun Microsystems, Inc. | Checksum determination using parallel computations on multiple packed data elements |
US6047304A (en) | 1997-07-29 | 2000-04-04 | Nortel Networks Corporation | Method and apparatus for performing lane arithmetic to perform network processing |
US5864703A (en) | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
US6009261A (en) | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
US6223320B1 (en) | 1998-02-10 | 2001-04-24 | International Business Machines Corporation | Efficient CRC generation utilizing parallel table lookup operations |
US6105129A (en) | 1998-02-18 | 2000-08-15 | Advanced Micro Devices, Inc. | Converting register data from a first format type to a second format type if a second type instruction consumes data produced by a first type instruction |
US6173393B1 (en) | 1998-03-31 | 2001-01-09 | Intel Corporation | System for writing select non-contiguous bytes of data with single instruction having operand identifying byte mask corresponding to respective blocks of packed data |
US6308255B1 (en) | 1998-05-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system |
US6038652A (en) | 1998-09-30 | 2000-03-14 | Intel Corporation | Exception reporting on function generation in an SIMD processor |
US6760837B1 (en) | 1998-10-06 | 2004-07-06 | Texas Instruments Incorporated | Bit field processor |
US6463582B1 (en) | 1998-10-21 | 2002-10-08 | Fujitsu Limited | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
US6324670B1 (en) | 1999-03-24 | 2001-11-27 | Novell, Inc. | Checksum generator with minimum overflow |
FR2796736B1 (fr) | 1999-07-20 | 2001-11-30 | St Microelectronics Sa | Procede pour effectuer une multiplication avec accumulation dans un corps de galois |
US6675292B2 (en) | 1999-08-13 | 2004-01-06 | Sun Microsystems, Inc. | Exception handling for SIMD floating point-instructions using a floating point status register to report exceptions |
US6760742B1 (en) | 2000-02-18 | 2004-07-06 | Texas Instruments Incorporated | Multi-dimensional galois field multiplier |
US6711602B1 (en) | 2000-02-18 | 2004-03-23 | Texas Instruments Incorporated | Data processor with flexible multiply unit |
US6701424B1 (en) | 2000-04-07 | 2004-03-02 | Nintendo Co., Ltd. | Method and apparatus for efficient loading and storing of vectors |
US7847803B1 (en) | 2000-07-26 | 2010-12-07 | Ati Technologies Ulc | Method and apparatus for interleaved graphics processing |
US6748522B1 (en) | 2000-10-31 | 2004-06-08 | International Business Machines Corporation | Performance monitoring based on instruction sampling in a microprocessor |
US6643821B2 (en) | 2000-11-30 | 2003-11-04 | Stmicroelectronics, Inc. | Method and device for computing incremental checksums |
US6848074B2 (en) | 2001-06-21 | 2005-01-25 | Arc International | Method and apparatus for implementing a single cycle operation in a data processing system |
US6839828B2 (en) | 2001-08-14 | 2005-01-04 | International Business Machines Corporation | SIMD datapath coupled to scalar/vector/address/conditional data register file with selective subpath scalar processing mode |
US20030037085A1 (en) | 2001-08-20 | 2003-02-20 | Sandbote Sam B. | Field processing unit |
US20040054877A1 (en) | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
US7013321B2 (en) | 2001-11-21 | 2006-03-14 | Sun Microsystems, Inc. | Methods and apparatus for performing parallel integer multiply accumulate operations |
US7082452B2 (en) | 2001-11-30 | 2006-07-25 | Analog Devices, Inc. | Galois field multiply/multiply-add/multiply accumulate |
US7373483B2 (en) | 2002-04-02 | 2008-05-13 | Ip-First, Llc | Mechanism for extending the number of registers in a microprocessor |
US7313583B2 (en) | 2002-10-22 | 2007-12-25 | Broadcom Corporation | Galois field arithmetic unit for use within a processor |
US20090199075A1 (en) | 2002-11-25 | 2009-08-06 | Victor Demjanenko | Array form reed-solomon implementation as an instruction set extension |
JP3818263B2 (ja) | 2003-01-28 | 2006-09-06 | 日本電気株式会社 | Aes暗号処理装置、aes復号処理装置、aes暗号・復号処理装置、aes暗号処理方法、aes復号処理方法、および、aes暗号・復号処理方法 |
US7139900B2 (en) | 2003-06-23 | 2006-11-21 | Intel Corporation | Data packet arithmetic logic devices and methods |
US7096399B2 (en) | 2003-09-11 | 2006-08-22 | Intel Corporation | Monitoring packet content |
US7383483B2 (en) | 2003-12-11 | 2008-06-03 | International Business Machines Corporation | Data transfer error checking |
US7493481B1 (en) | 2004-05-17 | 2009-02-17 | Netxen, Inc. | Direct hardware processing of internal data structure fields |
US7363574B1 (en) | 2004-10-12 | 2008-04-22 | Nortel Networks Limited | Method and system for parallel CRC calculation |
US20060106910A1 (en) | 2004-11-16 | 2006-05-18 | Analog Devices, Inc. | Galois field polynomial multiplication |
US7512647B2 (en) | 2004-11-22 | 2009-03-31 | Analog Devices, Inc. | Condensed Galois field computing system |
FR2885711B1 (fr) | 2005-05-12 | 2007-07-06 | Atmel Corp | Procede et materiel modulaire et aleatoire pour la reduction polynomiale |
US7400271B2 (en) * | 2005-06-21 | 2008-07-15 | International Characters, Inc. | Method and apparatus for processing character streams |
US7333917B2 (en) | 2005-08-11 | 2008-02-19 | The University Of North Carolina At Chapel Hill | Novelty detection systems, methods and computer program products for real-time diagnostics/prognostics in complex physical systems |
US7421566B2 (en) | 2005-08-12 | 2008-09-02 | International Business Machines Corporation | Implementing instruction set architectures with non-contiguous register file specifiers |
US9436468B2 (en) | 2005-11-22 | 2016-09-06 | Intel Corporation | Technique for setting a vector mask |
US7480787B1 (en) | 2006-01-27 | 2009-01-20 | Sun Microsystems, Inc. | Method and structure for pipelining of SIMD conditional moves |
US7925957B2 (en) | 2006-03-20 | 2011-04-12 | Intel Corporation | Validating data using processor instructions |
US20080021943A1 (en) | 2006-07-20 | 2008-01-24 | Advanced Micro Devices, Inc. | Equality comparator using propagates and generates |
US7600104B2 (en) | 2006-08-15 | 2009-10-06 | Peter Neumann | Method and system for parallel vector data processing of vector data having a number of data elements including a defined first bit-length |
US8346839B2 (en) | 2007-03-30 | 2013-01-01 | Intel Corporation | Efficient advanced encryption standard (AES) datapath using hybrid rijndael S-box |
US8560591B2 (en) | 2007-04-25 | 2013-10-15 | International Business Machines Corporation | Detection of potential need to use a larger data format in performing floating point operations |
US8055886B2 (en) | 2007-07-12 | 2011-11-08 | Texas Instruments Incorporated | Processor micro-architecture for compute, save or restore multiple registers and responsive to first instruction for repeated issue of second instruction |
US9529592B2 (en) | 2007-12-27 | 2016-12-27 | Intel Corporation | Vector mask memory access instructions to perform individual and sequential memory access operations if an exception occurs during a full width memory access operation |
US8112691B1 (en) | 2008-03-25 | 2012-02-07 | Oracle America, Inc. | Method for efficient generation of a Fletcher checksum using a single SIMD pipeline |
US8255443B2 (en) | 2008-06-03 | 2012-08-28 | International Business Machines Corporation | Execution unit with inline pseudorandom number generator |
US8340280B2 (en) | 2008-06-13 | 2012-12-25 | Intel Corporation | Using a single instruction multiple data (SIMD) instruction to speed up galois counter mode (GCM) computations |
US8051226B2 (en) | 2008-06-13 | 2011-11-01 | Freescale Semiconductor, Inc. | Circular buffer support in a single instruction multiple data (SIMD) data processor |
JP5268469B2 (ja) | 2008-07-23 | 2013-08-21 | 株式会社東芝 | 高可用システム及び実行状態制御方法 |
US8793472B2 (en) | 2008-08-15 | 2014-07-29 | Apple Inc. | Vector index instruction for generating a result vector with incremental values based on a start value and an increment value |
US8175265B2 (en) | 2008-09-02 | 2012-05-08 | Apple Inc. | Systems and methods for implementing block cipher algorithms on attacker-controlled systems |
GB2464292A (en) | 2008-10-08 | 2010-04-14 | Advanced Risc Mach Ltd | SIMD processor circuit for performing iterative SIMD multiply-accumulate operations |
CN101430881B (zh) | 2008-11-10 | 2013-04-17 | 华为技术有限公司 | 一种编码、解码、编解码方法、编解码系统以及相关装置 |
US8280040B2 (en) | 2009-02-04 | 2012-10-02 | Globalfoundries Inc. | Processor instructions for improved AES encryption and decryption |
CN101901127B (zh) | 2009-05-31 | 2012-07-25 | 国际商业机器公司 | 一种迦罗华域乘法器 |
GB2470782B (en) | 2009-06-05 | 2014-10-22 | Advanced Risc Mach Ltd | A data processing apparatus and method for handling vector instructions |
US20110047358A1 (en) | 2009-08-19 | 2011-02-24 | International Business Machines Corporation | In-Data Path Tracking of Floating Point Exceptions and Store-Based Exception Indication |
US8458684B2 (en) * | 2009-08-19 | 2013-06-04 | International Business Machines Corporation | Insertion of operation-and-indicate instructions for optimized SIMD code |
CN102122241A (zh) | 2010-01-08 | 2011-07-13 | 复旦大学 | 一种适用于素域和多项式域的模乘模除器 |
US8850166B2 (en) | 2010-02-18 | 2014-09-30 | International Business Machines Corporation | Load pair disjoint facility and instruction therefore |
US8417961B2 (en) | 2010-03-16 | 2013-04-09 | Oracle International Corporation | Apparatus and method for implementing instruction support for performing a cyclic redundancy check (CRC) |
US8645669B2 (en) | 2010-05-05 | 2014-02-04 | International Business Machines Corporation | Cracking destructively overlapping operands in variable length instructions |
US8539472B2 (en) | 2010-06-09 | 2013-09-17 | Lear Corporation | Method and system of updating shared memory |
US20110314263A1 (en) | 2010-06-22 | 2011-12-22 | International Business Machines Corporation | Instructions for performing an operation on two operands and subsequently storing an original value of operand |
US8903882B2 (en) | 2010-12-13 | 2014-12-02 | International Business Machines Corporation | Method and data processing unit for calculating at least one multiply-sum of two carry-less multiplications of two input operands, data processing program and computer program product |
US20130305020A1 (en) | 2011-04-01 | 2013-11-14 | Robert C. Valentine | Vector friendly instruction format and execution thereof |
DE112011105666T5 (de) | 2011-09-26 | 2014-07-10 | Intel Corp. | Befehl und Logik zum Bereitstellen von Vektor-Lade-OP/Speicher-OP mit Schritt-Funktionalität |
CN103959236B (zh) | 2011-11-30 | 2016-12-07 | 英特尔公司 | 用于提供向量横向多数表决功能的处理器、设备和处理系统 |
WO2013081588A1 (en) | 2011-11-30 | 2013-06-06 | Intel Corporation | Instruction and logic to provide vector horizontal compare functionality |
CN104011670B (zh) | 2011-12-22 | 2016-12-28 | 英特尔公司 | 用于基于向量写掩码的内容而在通用寄存器中存储两个标量常数之一的指令 |
US20140223138A1 (en) | 2011-12-23 | 2014-08-07 | Elmoustapha Ould-Ahmed-Vall | Systems, apparatuses, and methods for performing conversion of a mask register into a vector register. |
WO2013095657A1 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Instruction and logic to provide vector blend and permute functionality |
WO2013095661A1 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Systems, apparatuses, and methods for performing conversion of a list of index values into a mask value |
US9354877B2 (en) | 2011-12-23 | 2016-05-31 | Intel Corporation | Systems, apparatuses, and methods for performing mask bit compression |
WO2013101223A1 (en) | 2011-12-30 | 2013-07-04 | Intel Corporation | Efficient zero-based decompression |
US9280347B2 (en) | 2012-03-15 | 2016-03-08 | International Business Machines Corporation | Transforming non-contiguous instruction specifiers to contiguous instruction specifiers |
US9715383B2 (en) | 2012-03-15 | 2017-07-25 | International Business Machines Corporation | Vector find element equal instruction |
US9459868B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Instruction to load data up to a dynamically determined memory boundary |
US9588762B2 (en) | 2012-03-15 | 2017-03-07 | International Business Machines Corporation | Vector find element not equal instruction |
US9459867B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Instruction to load data up to a specified memory boundary indicated by the instruction |
US9459864B2 (en) | 2012-03-15 | 2016-10-04 | International Business Machines Corporation | Vector string range compare |
CN102819710B (zh) | 2012-08-22 | 2014-11-12 | 西北工业大学 | 基于渗透测试的跨站点脚本漏洞检测方法 |
US9606961B2 (en) | 2012-10-30 | 2017-03-28 | Intel Corporation | Instruction and logic to provide vector compress and rotate functionality |
US9411589B2 (en) | 2012-12-11 | 2016-08-09 | International Business Machines Corporation | Branch-free condition evaluation |
US9256427B2 (en) | 2012-12-11 | 2016-02-09 | International Business Machines Corporation | Tracking multiple conditions in a general purpose register and instruction therefor |
US9152419B2 (en) | 2012-12-18 | 2015-10-06 | Intel Corporation | Instruction set for supporting wide scalar pattern matches |
US9411592B2 (en) | 2012-12-29 | 2016-08-09 | Intel Corporation | Vector address conflict resolution with vector population count functionality |
US9411584B2 (en) | 2012-12-29 | 2016-08-09 | Intel Corporation | Methods, apparatus, instructions, and logic to provide vector address conflict detection functionality |
US9372692B2 (en) | 2012-12-29 | 2016-06-21 | Intel Corporation | Methods, apparatus, instructions, and logic to provide permute controls with leading zero count functionality |
US9804840B2 (en) | 2013-01-23 | 2017-10-31 | International Business Machines Corporation | Vector Galois Field Multiply Sum and Accumulate instruction |
US9513906B2 (en) | 2013-01-23 | 2016-12-06 | International Business Machines Corporation | Vector checksum instruction |
US9823924B2 (en) | 2013-01-23 | 2017-11-21 | International Business Machines Corporation | Vector element rotate and insert under mask instruction |
US9471308B2 (en) | 2013-01-23 | 2016-10-18 | International Business Machines Corporation | Vector floating point test data class immediate instruction |
US9715385B2 (en) | 2013-01-23 | 2017-07-25 | International Business Machines Corporation | Vector exception code |
US9778932B2 (en) | 2013-01-23 | 2017-10-03 | International Business Machines Corporation | Vector generate mask instruction |
US9886277B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Methods and apparatus for fusing instructions to provide OR-test and AND-test functionality on multiple test sources |
US9495155B2 (en) | 2013-08-06 | 2016-11-15 | Intel Corporation | Methods, apparatus, instructions and logic to provide population count functionality for genome sequencing and alignment |
US9513907B2 (en) | 2013-08-06 | 2016-12-06 | Intel Corporation | Methods, apparatus, instructions and logic to provide vector population count functionality |
US9552205B2 (en) | 2013-09-27 | 2017-01-24 | Intel Corporation | Vector indexed memory access plus arithmetic and/or logical operation processors, methods, systems, and instructions |
US9436434B2 (en) | 2014-03-14 | 2016-09-06 | International Business Machines Corporation | Checksum adder |
-
2013
- 2013-01-23 US US13/748,543 patent/US9823924B2/en active Active
- 2013-11-21 JP JP2015553179A patent/JP6399522B2/ja active Active
- 2013-11-21 WO PCT/IB2013/060309 patent/WO2014114997A1/en active Application Filing
- 2013-11-21 GB GB1514708.5A patent/GB2525357A/en not_active Withdrawn
- 2013-11-21 CN CN201380071234.9A patent/CN104937543B/zh active Active
- 2013-11-21 DE DE112013005500.7T patent/DE112013005500T5/de not_active Ceased
-
2014
- 2014-12-05 US US14/561,276 patent/US9823926B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6014336A (ja) * | 1983-06-30 | 1985-01-24 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 命令処理装置 |
US5487159A (en) * | 1993-12-23 | 1996-01-23 | Unisys Corporation | System for processing shift, mask, and merge operations in one instruction |
US6088782A (en) * | 1997-07-10 | 2000-07-11 | Motorola Inc. | Method and apparatus for moving data in a parallel processor using source and destination vector registers |
JP2000284960A (ja) * | 1999-03-08 | 2000-10-13 | Texas Instr Inc <Ti> | ビット・フィールド・プロセッサ |
WO2006121444A1 (en) * | 2005-05-10 | 2006-11-16 | Telairity Semiconductor, Inc. | Vector processor with special purpose registers and high speed memory access |
JP2008083795A (ja) * | 2006-09-26 | 2008-04-10 | Oki Electric Ind Co Ltd | ビットフィールド操作回路 |
US20080114969A1 (en) * | 2006-11-01 | 2008-05-15 | Gonion Jeffry E | Instructions for efficiently accessing unaligned partial vectors |
US20120265967A1 (en) * | 2009-08-04 | 2012-10-18 | International Business Machines Corporation | Implementing instruction set architectures with non-contiguous register file specifiers |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016530631A (ja) * | 2013-08-14 | 2016-09-29 | クアルコム,インコーポレイテッド | ベクトルの算術的削減 |
Also Published As
Publication number | Publication date |
---|---|
US9823926B2 (en) | 2017-11-21 |
GB201514708D0 (en) | 2015-09-30 |
JP6399522B2 (ja) | 2018-10-03 |
CN104937543A (zh) | 2015-09-23 |
US9823924B2 (en) | 2017-11-21 |
WO2014114997A1 (en) | 2014-07-31 |
CN104937543B (zh) | 2018-03-20 |
DE112013005500T5 (de) | 2016-01-21 |
US20140208067A1 (en) | 2014-07-24 |
GB2525357A (en) | 2015-10-21 |
US20150143088A1 (en) | 2015-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6323837B2 (ja) | Vector Checksum命令を実行するためのコンピュータ・プログラム、コンピュータ・システム及び方法 | |
JP6338066B2 (ja) | Vector galois field multiply sum and accumulate命令を処理するためのコンピュータ・システム、コンピュータ・プログラム及び方法 | |
JP2019145164A (ja) | ベクトル例外コードを処理するコンピュータ・プログラム、コンピュータ・システム及び方法 | |
JP6410238B2 (ja) | Vectorfloatingpointtestdataclassimmediate命令を処理するためのコンピュータ・システム、コンピュータ・プログラム及び方法 | |
JP6380955B2 (ja) | Vector generate mask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 | |
JP6399522B2 (ja) | Vector element rotate and insert under mask命令を処理するためのコンピュータ・プログラム、コンピュータ・システム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161101 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170510 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180316 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180702 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180731 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20180731 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180828 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6399522 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |