JP2018525731A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2018525731A5 JP2018525731A5 JP2018502231A JP2018502231A JP2018525731A5 JP 2018525731 A5 JP2018525731 A5 JP 2018525731A5 JP 2018502231 A JP2018502231 A JP 2018502231A JP 2018502231 A JP2018502231 A JP 2018502231A JP 2018525731 A5 JP2018525731 A5 JP 2018525731A5
- Authority
- JP
- Japan
- Prior art keywords
- destination
- source
- data elements
- register
- simd
- 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
- 230000000875 corresponding Effects 0.000 claims 4
Claims (12)
- 混合幅単一命令複数データ(SIMD)演算を実行する方法であって、
プロセッサによって、
第1のソースレジスタを備える第1のソースベクトルオペランドであって、前記第1のソースレジスタが第1のビット幅の第1のセットのソースデータ要素を備える、第1のソースベクトルオペランドと、
第2のビット幅の宛先データ要素を備える宛先ベクトルオペランドと
を備えるSIMD命令を受信するステップであって、
前記第2のビット幅が前記第1のビット幅の2倍であり、
前記宛先ベクトルオペランドが、前記宛先データ要素の第1のサブセットを備える第1の宛先レジスタと、前記宛先データ要素の第2のサブセットを備える第2の宛先レジスタとを含む宛先レジスタのペアを備え、
前記第1のソースレジスタが、宛先レジスタの前記ペアに対応する単一のレジスタである、ステップと、
前記第1のセットのソースデータ要素の順序に基づいて、前記プロセッサにおいて前記SIMD命令を実行するステップであって、
前記第1のセットの偶数番号のソースデータ要素から、前記第1の宛先レジスタ内の前記宛先データ要素の前記第1のサブセットを生成するステップと、
前記第1のセットの奇数番号のソースデータ要素から、前記第2の宛先レジスタ内の前記宛先データ要素の前記第2のサブセットを生成するステップと
を備える、ステップと
を備える、方法。 - 前記第1のセットのソースデータ要素がそれぞれのSIMDレーン内にあり、
前記ソースデータ要素の各々から、前記それぞれのSIMDレーン、または前記それぞれのSIMDレーンに隣接するSIMDレーン内のそれぞれの宛先データ要素を生成する、請求項1に記載の方法。 - 前記SIMD命令が、前記第1のセットの前記ソースデータ要素の二乗関数、左シフト関数、インクリメント、または一定値による加算のうちの1つである、請求項1に記載の方法。
- 混合幅単一命令複数データ(SIMD)演算を実行する方法であって、
プロセッサによって、
第1のビット幅のソースデータ要素を備えるソースベクトルオペランドと、
宛先レジスタを備える宛先ベクトルオペランドであって、前記宛先レジスタが第2のビット幅の宛先データ要素を備える、宛先ベクトルオペランドと
を備えるSIMD命令を受信するステップであって、
前記第2のビット幅が前記第1のビット幅の半分であり、
前記ソースベクトルオペランドが、前記ソースデータ要素の第1のサブセットを備える第1のソースレジスタと、前記ソースデータ要素の第2のサブセットを備える第2のソースレジスタとを含むソースレジスタのペアを備え、
前記宛先レジスタが、ソースレジスタの前記ペアに対応する単一のレジスタである、ステップと、
前記宛先データ要素の順序に基づいて、前記プロセッサにおいて前記SIMD命令を実行するステップであって、
前記ソースデータ要素の前記第1のサブセットから偶数番号の宛先データ要素を生成するステップと、
前記ソースデータ要素の前記第2のサブセットから奇数番号の宛先データ要素を生成するステップと
を備える、ステップと
を備える、方法。 - 前記SIMD命令が、前記ソースデータ要素の右シフト関数である、請求項4に記載の方法。
- 前記宛先データ要素がそれぞれのSIMDレーン内にあり、
前記それぞれのSIMDレーン、または前記それぞれのSIMDレーンに隣接するSIMDレーン内のソースデータ要素から、前記宛先データ要素の各々を生成する、請求項4に記載の方法。 - プロセッサによって実行されると、前記プロセッサに混合幅単一命令複数データ(SIMD)演算を実行させる、前記プロセッサによって実行可能な命令を備える非一時的コンピュータ可読記憶媒体であって、
第1のソースレジスタを備える第1のソースベクトルオペランドであって、前記第1のソースレジスタが第1のビット幅の第1のセットのソースデータ要素を備える、第1のソースベクトルオペランドと、
第2のビット幅の宛先データ要素を備える宛先ベクトルオペランドと
を備えるSIMD命令であって、
前記第2のビット幅が前記第1のビット幅の2倍であり、
前記宛先ベクトルオペランドが、前記宛先データ要素の第1のサブセットを備える第1の宛先レジスタと、前記宛先データ要素の第2のサブセットを備える第2の宛先レジスタとを含む宛先レジスタのペアを備え、
前記第1のソースレジスタが、宛先レジスタの前記ペアに対応する単一のレジスタである、SIMD命令と、
前記第1のセットのソースデータ要素の順序に基づいて、
前記第1のセットの偶数番号のソースデータ要素から、前記第1の宛先レジスタ内の前記宛先データ要素の前記第1のサブセットを生成するためのコードと、
前記第1のセットの奇数番号のソースデータ要素から、前記第2の宛先レジスタ内の前記宛先データ要素の前記第2のサブセットを生成するためのコードと
を備える、非一時的コンピュータ可読記憶媒体。 - 前記第1のセットのソースデータ要素がそれぞれのSIMDレーン内にあり、
前記ソースデータ要素の各々から、前記それぞれのSIMDレーン、または前記それぞれのSIMDレーンに隣接するSIMDレーン内のそれぞれの宛先データ要素を生成するためのコードを備える、請求項7に記載の非一時的コンピュータ可読記憶媒体。 - 前記SIMD命令が、前記第1のセットの前記ソースデータ要素の二乗関数、左シフト関数、インクリメント、または一定値による加算のうちの1つである、請求項7に記載の非一時的コンピュータ可読記憶媒体。
- プロセッサによって実行されると、前記プロセッサに混合幅単一命令複数データ(SIMD)演算を実行させる、前記プロセッサによって実行可能な命令を備える非一時的コンピュータ可読記憶媒体であって、
第1のビット幅のソースデータ要素を備えるソースベクトルオペランドと、
宛先レジスタを備える宛先ベクトルオペランドであって、前記宛先レジスタが第2のビット幅の宛先データ要素を備える、宛先ベクトルオペランドと
を備えるSIMD命令であって、
前記第2のビット幅が前記第1のビット幅の半分であり、
前記ソースベクトルオペランドが、前記ソースデータ要素の第1のサブセットを備える第1のソースレジスタと、前記ソースデータ要素の第2のサブセットを備える第2のソースレジスタとを含むソースレジスタのペアを備え、
前記宛先レジスタが、ソースレジスタの前記ペアに対応する単一のレジスタである、SIMD命令と、
前記宛先データ要素の順序に基づいて、
前記ソースデータ要素の前記第1のサブセットから偶数番号の宛先データ要素を生成するためのコードと、
前記ソースデータ要素の前記第2のサブセットから奇数番号の宛先データ要素を生成するためのコードと
を備える、非一時的コンピュータ可読記憶媒体。 - 前記SIMD命令が、前記ソースデータ要素の右シフト関数である、請求項10に記載の非一時的コンピュータ可読記憶媒体。
- 前記宛先データ要素がそれぞれのSIMDレーン内にあり、
前記それぞれのSIMDレーン、または前記それぞれのSIMDレーンに隣接するSIMDレーン内のソースデータ要素から、前記宛先データ要素の各々を生成するためのコードを備える、請求項10に記載の非一時的コンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/805,456 US10489155B2 (en) | 2015-07-21 | 2015-07-21 | Mixed-width SIMD operations using even/odd register pairs for wide data elements |
US14/805,456 | 2015-07-21 | ||
PCT/US2016/038487 WO2017014892A1 (en) | 2015-07-21 | 2016-06-21 | Mixed-width simd operations having even-element and odd-element operations using register pair for wide data elements |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018525731A JP2018525731A (ja) | 2018-09-06 |
JP2018525731A5 true JP2018525731A5 (ja) | 2020-02-20 |
JP6920277B2 JP6920277B2 (ja) | 2021-08-18 |
Family
ID=56204087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018502231A Active JP6920277B2 (ja) | 2015-07-21 | 2016-06-21 | 広いデータ要素のためのレジスタのペアを用いた偶数要素演算および奇数要素演算を有する混合幅simd演算 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10489155B2 (ja) |
EP (1) | EP3326060B1 (ja) |
JP (1) | JP6920277B2 (ja) |
KR (1) | KR102121866B1 (ja) |
CN (1) | CN107851010B (ja) |
BR (1) | BR112018001208B1 (ja) |
ES (1) | ES2795832T3 (ja) |
HU (1) | HUE049260T2 (ja) |
WO (1) | WO2017014892A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2540943B (en) * | 2015-07-31 | 2018-04-11 | Advanced Risc Mach Ltd | Vector arithmetic instruction |
US10698685B2 (en) * | 2017-05-03 | 2020-06-30 | Intel Corporation | Instructions for dual destination type conversion, mixed precision accumulation, and mixed precision atomic memory operations |
CN109298886A (zh) * | 2017-07-25 | 2019-02-01 | 合肥君正科技有限公司 | Simd指令执行方法、装置及处理器 |
US20190272175A1 (en) * | 2018-03-01 | 2019-09-05 | Qualcomm Incorporated | Single pack & unpack network and method for variable bit width data formats for computational machines |
US10528346B2 (en) * | 2018-03-29 | 2020-01-07 | Intel Corporation | Instructions for fused multiply-add operations with variable precision input operands |
CN111324354B (zh) * | 2019-12-27 | 2023-04-18 | 湖南科技大学 | 一种融合寄存器对需求的寄存器选择方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5673321A (en) | 1995-06-29 | 1997-09-30 | Hewlett-Packard Company | Efficient selection and mixing of multiple sub-word items packed into two or more computer words |
US6202141B1 (en) | 1998-06-16 | 2001-03-13 | International Business Machines Corporation | Method and apparatus for performing vector operation using separate multiplication on odd and even data elements of source vectors |
US7127593B2 (en) * | 2001-06-11 | 2006-10-24 | Broadcom Corporation | Conditional execution with multiple destination stores |
US6922716B2 (en) | 2001-07-13 | 2005-07-26 | Motorola, Inc. | Method and apparatus for vector processing |
US7107305B2 (en) | 2001-10-05 | 2006-09-12 | Intel Corporation | Multiply-accumulate (MAC) unit for single-instruction/multiple-data (SIMD) instructions |
KR100553252B1 (ko) * | 2002-02-01 | 2006-02-20 | 아바고테크놀로지스코리아 주식회사 | 휴대용 단말기의 전력 증폭 장치 |
US7376812B1 (en) | 2002-05-13 | 2008-05-20 | Tensilica, Inc. | Vector co-processor for configurable and extensible processor architecture |
US7668897B2 (en) | 2003-06-16 | 2010-02-23 | Arm Limited | Result partitioning within SIMD data processing systems |
US7275148B2 (en) * | 2003-09-08 | 2007-09-25 | Freescale Semiconductor, Inc. | Data processing system using multiple addressing modes for SIMD operations and method thereof |
GB2411975B (en) * | 2003-12-09 | 2006-10-04 | Advanced Risc Mach Ltd | Data processing apparatus and method for performing arithmetic operations in SIMD data processing |
GB2409068A (en) * | 2003-12-09 | 2005-06-15 | Advanced Risc Mach Ltd | Data element size control within parallel lanes of processing |
US7353244B2 (en) * | 2004-04-16 | 2008-04-01 | Marvell International Ltd. | Dual-multiply-accumulator operation optimized for even and odd multisample calculations |
US7400271B2 (en) * | 2005-06-21 | 2008-07-15 | International Characters, Inc. | Method and apparatus for processing character streams |
CN1964490A (zh) * | 2005-11-09 | 2007-05-16 | 松下电器产业株式会社 | 一种滤波器及滤波方法 |
US9235414B2 (en) | 2011-12-19 | 2016-01-12 | Intel Corporation | SIMD integer multiply-accumulate instruction for multi-precision arithmetic |
WO2013095564A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Processors, methods, systems, and instructions to generate sequences of integers in numerical order that differ by a constant stride |
US10628156B2 (en) | 2013-07-09 | 2020-04-21 | Texas Instruments Incorporated | Vector SIMD VLIW data path architecture |
-
2015
- 2015-07-21 US US14/805,456 patent/US10489155B2/en active Active
-
2016
- 2016-06-21 CN CN201680041468.2A patent/CN107851010B/zh active Active
- 2016-06-21 EP EP16732213.0A patent/EP3326060B1/en active Active
- 2016-06-21 WO PCT/US2016/038487 patent/WO2017014892A1/en active Application Filing
- 2016-06-21 BR BR112018001208-4A patent/BR112018001208B1/pt active IP Right Grant
- 2016-06-21 JP JP2018502231A patent/JP6920277B2/ja active Active
- 2016-06-21 KR KR1020187001696A patent/KR102121866B1/ko active IP Right Grant
- 2016-06-21 ES ES16732213T patent/ES2795832T3/es active Active
- 2016-06-21 HU HUE16732213A patent/HUE049260T2/hu unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018525731A5 (ja) | ||
GB2520644A (en) | Accelerated interlane vector reduction instructions | |
RU2015109476A (ru) | Команда векторного типа на поле галуа перемножения, суммирования и накопления | |
JP2014142969A5 (ja) | ||
CN103946796B (zh) | 处理keccak安全散列算法的方法和设备 | |
BR112015030001A2 (pt) | instruções de acesso à memória de múltiplos registradores, processadores, métodos e sistemas | |
EP3326060B1 (en) | Mixed-width simd operations having even-element and odd-element operations using register pair for wide data elements | |
JP2005025718A5 (ja) | ||
JP2016530631A5 (ja) | ||
JP2016511470A5 (ja) | ||
JP2010539593A5 (ja) | ||
JP2016509714A5 (ja) | ||
TWI603262B (zh) | 緊縮有限脈衝響應(fir)濾波器處理器,方法,系統及指令 | |
GB2518104A (en) | Instruction for shifting bits left with pulling ones into less significant bits | |
WO2017052811A3 (en) | Secure modular exponentiation processors, methods, systems, and instructions | |
Hong et al. | Supereulerian digraphs | |
TWI680435B (zh) | 用於影像處理之設備及方法 | |
JP2018525730A5 (ja) | ||
JP2019525294A5 (ja) | ||
WO2017117460A3 (en) | Systems, methods, and apparatuses for improving vector throughput | |
IL274178B2 (en) | Add-with-carry vector instruction | |
JP2018525730A (ja) | スライディングウィンドウ演算 | |
JP2017516226A5 (ja) | ||
JP2007216570A5 (ja) | ||
JP2015185076A5 (ja) |