JP2018525731A5 - - Google Patents

Download PDF

Info

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
Application number
JP2018502231A
Other languages
English (en)
Other versions
JP2018525731A (ja
JP6920277B2 (ja
Filing date
Publication date
Priority claimed from US14/805,456 external-priority patent/US10489155B2/en
Application filed filed Critical
Publication of JP2018525731A publication Critical patent/JP2018525731A/ja
Publication of JP2018525731A5 publication Critical patent/JP2018525731A5/ja
Application granted granted Critical
Publication of JP6920277B2 publication Critical patent/JP6920277B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (12)

  1. 混合幅単一命令複数データ(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のサブセットを生成するステップと
    を備える、ステップと
    を備える、方法。
  2. 前記第1のセットのソースデータ要素がそれぞれのSIMDレーン内にあり、
    前記ソースデータ要素の各々から、前記それぞれのSIMDレーン、または前記それぞれのSIMDレーンに隣接するSIMDレーン内のそれぞれの宛先データ要素を生成する、請求項1に記載の方法。
  3. 前記SIMD命令が、前記第1のセットの前記ソースデータ要素の二乗関数、左シフト関数、インクリメント、または一定値による加算のうちの1つである、請求項1に記載の方法。
  4. 混合幅単一命令複数データ(SIMD)演算を実行する方法であって、
    プロセッサによって、
    第1のビット幅のソースデータ要素を備えるソースベクトルオペランドと、
    宛先レジスタを備える宛先ベクトルオペランドであって、前記宛先レジスタが第2のビット幅の宛先データ要素を備える、宛先ベクトルオペランドと
    を備えるSIMD命令を受信するステップであって、
    前記第2のビット幅が前記第1のビット幅の半分であり、
    前記ソースベクトルオペランドが、前記ソースデータ要素の第1のサブセットを備える第1のソースレジスタと、前記ソースデータ要素の第2のサブセットを備える第2のソースレジスタとを含むソースレジスタのペアを備え、
    前記宛先レジスタが、ソースレジスタの前記ペアに対応する単一のレジスタである、ステップと、
    前記宛先データ要素の順序に基づいて、前記プロセッサにおいて前記SIMD命令を実行するステップであって、
    前記ソースデータ要素の前記第1のサブセットから偶数番号の宛先データ要素を生成するステップと、
    前記ソースデータ要素の前記第2のサブセットから奇数番号の宛先データ要素を生成するステップと
    を備える、ステップと
    を備える、方法。
  5. 前記SIMD命令が、前記ソースデータ要素の右シフト関数である、請求項4に記載の方法。
  6. 前記宛先データ要素がそれぞれのSIMDレーン内にあり、
    前記それぞれのSIMDレーン、または前記それぞれのSIMDレーンに隣接するSIMDレーン内のソースデータ要素から、前記宛先データ要素の各々を生成する、請求項4に記載の方法。
  7. プロセッサによって実行されると、前記プロセッサに混合幅単一命令複数データ(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のサブセットを生成するためのコードと
    を備える、非一時的コンピュータ可読記憶媒体。
  8. 前記第1のセットのソースデータ要素がそれぞれのSIMDレーン内にあり、
    前記ソースデータ要素の各々から、前記それぞれのSIMDレーン、または前記それぞれのSIMDレーンに隣接するSIMDレーン内のそれぞれの宛先データ要素を生成するためのコードを備える、請求項7に記載の非一時的コンピュータ可読記憶媒体。
  9. 前記SIMD命令が、前記第1のセットの前記ソースデータ要素の二乗関数、左シフト関数、インクリメント、または一定値による加算のうちの1つである、請求項7に記載の非一時的コンピュータ可読記憶媒体。
  10. プロセッサによって実行されると、前記プロセッサに混合幅単一命令複数データ(SIMD)演算を実行させる、前記プロセッサによって実行可能な命令を備える非一時的コンピュータ可読記憶媒体であって、
    第1のビット幅のソースデータ要素を備えるソースベクトルオペランドと、
    宛先レジスタを備える宛先ベクトルオペランドであって、前記宛先レジスタが第2のビット幅の宛先データ要素を備える、宛先ベクトルオペランドと
    を備えるSIMD命令であって、
    前記第2のビット幅が前記第1のビット幅の半分であり、
    前記ソースベクトルオペランドが、前記ソースデータ要素の第1のサブセットを備える第1のソースレジスタと、前記ソースデータ要素の第2のサブセットを備える第2のソースレジスタとを含むソースレジスタのペアを備え、
    前記宛先レジスタが、ソースレジスタの前記ペアに対応する単一のレジスタである、SIMD命令と、
    前記宛先データ要素の順序に基づいて、
    前記ソースデータ要素の前記第1のサブセットから偶数番号の宛先データ要素を生成するためのコードと、
    前記ソースデータ要素の前記第2のサブセットから奇数番号の宛先データ要素を生成するためのコードと
    を備える、非一時的コンピュータ可読記憶媒体。
  11. 前記SIMD命令が、前記ソースデータ要素の右シフト関数である、請求項10に記載の非一時的コンピュータ可読記憶媒体。
  12. 前記宛先データ要素がそれぞれのSIMDレーン内にあり、
    前記それぞれのSIMDレーン、または前記それぞれのSIMDレーンに隣接するSIMDレーン内のソースデータ要素から、前記宛先データ要素の各々を生成するためのコードを備える、請求項10に記載の非一時的コンピュータ可読記憶媒体。
JP2018502231A 2015-07-21 2016-06-21 広いデータ要素のためのレジスタのペアを用いた偶数要素演算および奇数要素演算を有する混合幅simd演算 Active JP6920277B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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)