FI3889768T3 - Järjestelmät ja menetelmät käskyjen suorittamiseksi muuntaa 16-bittiseen liukulukumuotoon - Google Patents

Järjestelmät ja menetelmät käskyjen suorittamiseksi muuntaa 16-bittiseen liukulukumuotoon Download PDF

Info

Publication number
FI3889768T3
FI3889768T3 FIEP21169540.8T FI21169540T FI3889768T3 FI 3889768 T3 FI3889768 T3 FI 3889768T3 FI 21169540 T FI21169540 T FI 21169540T FI 3889768 T3 FI3889768 T3 FI 3889768T3
Authority
FI
Finland
Prior art keywords
data element
mask
bit
precision floating
type
Prior art date
Application number
FIEP21169540.8T
Other languages
English (en)
Inventor
Alexander F Heinecke
Robert Valentine
Mark J Charney
Raanan Sade
Menachem Adelman
Zeev Sperber
Amit Gradstein
Simon Rubanovich
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of FI3889768T3 publication Critical patent/FI3889768T3/fi

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Claims (13)

PATENTTIVAATIMUKSET
1. Prosessori (260), joka käsittää: dekoodausyksikön (109) dekoodaamaan muotomuun- noskäsky (261), joka toteuttaa muotomuunnoksen 32-bit- tisestä yksinkertaisen tarkkuuden liukuluvusta 16-bit- tiseksi liukuluvuksi, muotomuunnoskäsky (261) ilmaisee ensimmäisen lähdeoperandin sijainnin (266), toisen läh- deoperandin (268) sijainnin, kohderekisterin (264), kirjoituspeiterekisterin (270) ja peitetyypin (271), ensimmäinen lähdeoperandi (266) sisältää ensimmäisen joukon 32-bittisiä yksinkertaisen tarkkuuden liukuluku- tietoelementtejä, toinen lähdeoperandi (268) sisältää toisen joukon 32-bittisiä yksinkertaisen tarkkuuden liukulukutietoelementtejä, kirjoituspeiterekisteri (270) tallentaa useita peitebittejä, joista kukin vastaa tietoelementtisijaintia kohderekisterissä (264), peite- tyyppi (271) on joko nollaava peite tai yhdistävä peite; ja suoritusyksikön (117, 274), joka on kytketty dekoodausyksikköön (109), joka suoritusyksikkö (115, 274) suorittaa dekoodatun muodon muunnoskäskyn (261): kullekin ensimmäiselle joukolle 32-bitti- siä yksinkertaisen tarkkuuden liukulukutietoelement- tejä, jotka ovat ensimmäistä tyyppiä, muuntamaan 32- bittinen yksinkertaisen tarkkuuden liukulukutietoele- mentti 16-bittiseksi liukulukutietoelementiksi (276A- 276D) käyttämällä pyöristystä lähimpään parilliseen pyöristystoimintaan ja tallentamaan tulostietoelementti vastaavaan tietoelementtipaikkaan tuloksen ensimmäiseen puoliskoon kohderekisterissä (264), jos peitebitti, joka vastaa tietoelementtipaikkaa useissa peitebi- teissä, on asetettu, ja muuten tallentamaan peitetty tietoelementti mainittuun tietoelementtipaikkaan, ja kullekin toiselle joukolle 32-bittisiä yk- sinkertaisen tarkkuuden liukulukutietoelementtejä, jotka ovat ensimmäistä tyyppiä, muuntamaan 32-bittinen yksinkertaisen tarkkuuden liukulukutietoelementti 16- bittiseksi liukulukutietoelementiksi (276E-276H) käyt- tämällä pyöristystä lähimpään parilliseen pyöristystoi- mintaan ja tallentamaan tulostietoelementti vastaavaan tietoelementtipaikkaan tuloksen toiseen puolikkaaseen kohderekisterissä (264), jos peitebitti, joka vastaa tietoelementtipaikkaa mainituissa useissa peitebi- teissä, on asetettu, ja muuten tallentamaan peitetty tietoelementti mainittuun tietoelementtipaikkaan, koh- derekisteriin (264) tallennetuilla tulostietoelemen- teillä on muoto, joka sisältää yhden etumerkkibitin, kahdeksan eksponenttibittiä ja seitsemän eksplisiit- tistä mantissabittiä, peitetty tietoelementti on nolla- arvo, jos peitetyyppi (271) on nollaava peite, ja säi- lytettävä arvo, jos peitetyyppi (271) on yhdistävä peite, missä ensimmäinen tyyppi on normaali luku, missä mitä tahansa epänormaalia tai nollatie- toelementtiä ensimmäisessä joukossa 32-bittisiä yksin- kertaisen tarkkuuden liukulukutietoelementtejä ja toi- sessa joukossa 32-bittisiä yksinkertaisen tarkkuuden liukulukutietoelementtejä käsitellään nolla-arvoina, samalla kun säilytetään 32-bittisten yksinkertaisen tarkkuuden liukulukutietoelementtien etumerkkibitin arvo.
2. Patenttivaatimuksen 1 mukainen prosessori (260), missä muoto on BF16-muoto.
3. Patenttivaatimuksen 1 tai 2 mukainen pro- sessori (260), missä tuloksen ensimmäinen puolikas on alemman kertaluvun puoli tuloksesta ja tuloksen toinen puolisko on ylemmän kertaluvun puoli tuloksesta.
4. Jonkin patenttivaatimuksen 1 - 3 mukainen prosessori (260), missä ensimmäisen Jlähdeoperandin (266) sijainti on rekisteri- tai muistipaikka.
5. Jonkin patenttivaatimuksen 1 - 4 mukainen prosessori (260), missä ensimmäinen lähdeoperandi (266) ja toinen lähdeoperandi (268) koostuvat samasta määrästä bittejä, missä sama määrä bittejä on 128, 256 tai 512 bittiä.
6. Jonkin patenttivaatimuksen 1 - 5 mukainen prosessori (260), missä pyöristystä lähimpään tasapyö- ristystoimintaan käytetään riippumatta ohjausrekisterin määrittämästä pyöristystoiminnasta.
7. Jonkin patenttivaatimuksen 1 - 6 mukainen prosessori (260), missä muoto sisältää yhden implisiit- tisen mantissabitin.
8. Jonkin patenttivaatimuksen 1 - 7 mukainen prosessori (260), missä ensimmäinen tyyppi sulkee pois nollan.
9. Jonkin patenttivaatimuksen 1 - 8 mukainen prosessori (260), missä ensimmäinen tyyppi sulkee pois epänormaalin.
10. Jonkin patenttivaatimuksen 1 - 9 mukainen prosessori (260), missä ensimmäinen tyyppi sulkee pois äärettömän.
11. Jonkin patenttivaatimuksen 1-10 mukainen prosessori (260), missä ensimmäinen tyyppi ei sisällä NaN:a.
12. Prosessorin suorittama menetelmä (450), joka käsittää: dekoodataan muotomuunnoskäsky (473), joka to- teuttaa muotomuunnoksen 32-bittisestä yksinkertaisen tarkkuuden liukuluvusta 16-bittiseksi liukuluvuksi, muotomuunnoskäsky ilmaisee ensimmäisen lähdeoperandin sijainnin, toisen lähdeoperandin sijainnin, kohderekis- terin, kirjoituspeiterekisterin ja peitetyypin, ensim- mäinen lähdeoperandi sisältää ensimmäisen joukon 32- bittisiä yksinkertaisen tarkkuuden liukulukutietoele- menttejä, toinen lähdeoperandi sisältää toisen joukon 32-bittisiä yksinkertaisen tarkkuuden liukulukutie- toelementtejä, kirjoituspeiterekisteri tallentaa useita peitebittejä, joista kukin vastaa tietoelementtisijain- tia kohderekisterissä, peitetyyppi on joko nollaava peite tai yhdistävä peite; ja suoritetaan dekoodattu muotomuunnoskäsky (477) : kullekin ensimmäiselle joukolle 32-bitti- siä yksinkertaisen tarkkuuden liukulukutietoelement- tejä, jotka ovat ensimmäistä tyyppiä, muuntamaan 32- bittinen yksinkertaisen tarkkuuden liukulukutietoele- mentti 16-bittiseksi liukulukutietoelementiksi (276A- 276D) käyttämällä pyöristystä lähimpään parilliseen pyöristystoimintaan ja tallentamaan tulostietoelementti vastaavaan tietoelementtipaikkaan tuloksen ensimmäiseen puoliskoon kohderekisterissä (264), jos peitebitti, joka vastaa tietoelementtipaikkaa useissa peitebi- teissä, on asetettu, ja muuten tallentamaan peitetty tietoelementti mainittuun tietoelementtipaikkaan, ja kullekin toiselle joukolle 32-bittisiä yk- sinkertaisen tarkkuuden liukulukutietoelementtejä, jotka ovat ensimmäistä tyyppiä, muuntamaan 32-bittinen yksinkertaisen tarkkuuden liukulukutietoelementti 16- bittiseksi liukulukutietoelementiksi (276E-276H) käyt- tämällä pyöristystä lähimpään parilliseen pyöristystoi- mintaan ja tallentamaan tulostietoelementti vastaavaan tietoelementtipaikkaan tuloksen toiseen puolikkaaseen kohderekisterissä (264), jos peitebitti, joka vastaa tietoelementtipaikkaa mainituissa useissa peitebi- teissä, on asetettu, ja muuten tallentamaan peitetty tietoelementti mainittuun tietoelementtipaikkaan, koh-
derekisteriin (264) tallennetuilla tulostietoelemen- teillä on muoto, joka sisältää yhden etumerkkibitin, kahdeksan eksponenttibittiä ja seitsemän eksplisiit- tistä mantissabittiä, peitetty tietoelementti on nolla- 5 arvo, jos peitetyyppi (271) on nollaava peite, ja säi- lytettävä arvo, jos peitetyyppi (271) on yhdistävä peite, missä ensimmäinen tyyppi on normaali luku, missä mitä tahansa epänormaalia tai nollatie- toelementtiä ensimmäisessä joukossa 32-bittisiä yksin- kertaisen tarkkuuden liukulukutietoelementtejä ja toi- sessa joukossa 32-bittisiä yksinkertaisen tarkkuuden liukulukutietoelementtejä käsitellään nolla-arvoina, samalla kun säilytetään 32-bittisten yksinkertaisen tarkkuuden liukulukutietoelementtien etumerkkibitin arvo.
13. Koneella luettava väline, joka tallentaa koodia, joka suoritettuna aiheuttaa patenttivaatimuksen 1 mukaisen prosessorin suorittaa patenttivaatimuksen 12 mukainen menetelmä (450).
FIEP21169540.8T 2018-11-09 2019-10-08 Järjestelmät ja menetelmät käskyjen suorittamiseksi muuntaa 16-bittiseen liukulukumuotoon FI3889768T3 (fi)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16/186,384 US11372643B2 (en) 2018-11-09 2018-11-09 Systems and methods for performing instructions to convert to 16-bit floating-point format

Publications (1)

Publication Number Publication Date
FI3889768T3 true FI3889768T3 (fi) 2024-03-26

Family

ID=65631109

Family Applications (1)

Application Number Title Priority Date Filing Date
FIEP21169540.8T FI3889768T3 (fi) 2018-11-09 2019-10-08 Järjestelmät ja menetelmät käskyjen suorittamiseksi muuntaa 16-bittiseen liukulukumuotoon

Country Status (6)

Country Link
US (4) US11372643B2 (fi)
EP (4) EP3798827A1 (fi)
CN (3) CN113076139A (fi)
DK (1) DK3889768T3 (fi)
FI (1) FI3889768T3 (fi)
PL (1) PL3889768T3 (fi)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190220278A1 (en) * 2019-03-27 2019-07-18 Menachem Adelman Apparatus and method for down-converting and interleaving multiple floating point values
US11216275B1 (en) 2019-08-05 2022-01-04 Xilinx, Inc. Converting floating point data into integer data using a dynamically adjusted scale factor
KR20220030106A (ko) * 2020-09-02 2022-03-10 삼성전자주식회사 저장 장치, 저장 장치의 동작 방법 및 이를 포함한 전자 장치
US20220100507A1 (en) * 2020-09-26 2022-03-31 Intel Corporation Apparatuses, methods, and systems for instructions to convert 16-bit floating-point formats
US20220206743A1 (en) * 2020-12-26 2022-06-30 Intel Corporation Instructions to convert from fp16 to bf8
US20220206805A1 (en) * 2020-12-26 2022-06-30 Intel Corporation Instructions to convert from fp16 to bf8
US11531546B2 (en) 2021-03-08 2022-12-20 International Business Machines Corporation Hexadecimal floating point multiply and add instruction
US20220405123A1 (en) * 2021-06-17 2022-12-22 International Business Machines Corporation Detection of invalid machine-specific data types during data conversion
US11269632B1 (en) * 2021-06-17 2022-03-08 International Business Machines Corporation Data conversion to/from selected data type with implied rounding mode
US20230205527A1 (en) * 2021-12-23 2023-06-29 Intel Corporation Conversion instructions

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995122A (en) 1998-04-30 1999-11-30 Intel Corporation Method and apparatus for parallel conversion of color values from a single precision floating point format to an integer format
US6282554B1 (en) 1998-04-30 2001-08-28 Intel Corporation Method and apparatus for floating point operations and format conversion operations
US7330864B2 (en) * 2001-03-01 2008-02-12 Microsoft Corporation System and method for using native floating point microprocessor instructions to manipulate 16-bit floating point data representations
US9223751B2 (en) 2006-09-22 2015-12-29 Intel Corporation Performing rounding operations responsive to an instruction
US8667250B2 (en) * 2007-12-26 2014-03-04 Intel Corporation Methods, apparatus, and instructions for converting vector data
JP5309636B2 (ja) * 2008-03-21 2013-10-09 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US9600281B2 (en) * 2010-07-12 2017-03-21 International Business Machines Corporation Matrix multiplication operations using pair-wise load and splat operations
US9411585B2 (en) * 2011-09-16 2016-08-09 International Business Machines Corporation Multi-addressable register files and format conversions associated therewith
WO2013095535A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Floating point rounding processors, methods, systems, and instructions
WO2013095603A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Apparatus and method for down conversion of data types
CN104040484B (zh) * 2011-12-28 2018-06-19 英特尔公司 浮点缩放处理器、方法、系统和指令
CN104145245B (zh) * 2011-12-30 2018-01-23 英特尔公司 浮点舍入量确定处理器、方法、系统和指令
CN106030510A (zh) * 2014-03-26 2016-10-12 英特尔公司 三源操作数浮点加法处理器、方法、系统和指令
US20170061279A1 (en) 2015-01-14 2017-03-02 Intel Corporation Updating an artificial neural network using flexible fixed point representation
GB2543554B (en) 2015-10-22 2019-01-23 Advanced Risc Mach Ltd Handling exceptional conditions for vector arithmetic instruction
US20170177350A1 (en) 2015-12-18 2017-06-22 Intel Corporation Instructions and Logic for Set-Multiple-Vector-Elements Operations
US10891131B2 (en) 2016-09-22 2021-01-12 Intel Corporation Processors, methods, systems, and instructions to consolidate data elements and generate index updates
US20180121199A1 (en) * 2016-10-27 2018-05-03 Apple Inc. Fused Multiply-Add that Accepts Sources at a First Precision and Generates Results at a Second Precision
US10216479B2 (en) * 2016-12-06 2019-02-26 Arm Limited Apparatus and method for performing arithmetic operations to accumulate floating-point numbers
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
US10705839B2 (en) 2017-12-21 2020-07-07 Intel Corporation Apparatus and method for multiplying, summing, and accumulating sets of packed bytes
US10546044B2 (en) * 2018-05-15 2020-01-28 Apple Inc. Low precision convolution operations
US11093579B2 (en) * 2018-09-05 2021-08-17 Intel Corporation FP16-S7E8 mixed precision for deep learning and other algorithms

Also Published As

Publication number Publication date
EP3651019A2 (en) 2020-05-13
EP3651019A3 (en) 2020-07-22
DK3889768T3 (da) 2024-04-02
CN112527396B (zh) 2024-05-10
EP3798827A1 (en) 2021-03-31
EP3889768A1 (en) 2021-10-06
PL3889768T3 (pl) 2024-05-13
US20210124581A1 (en) 2021-04-29
US20190079762A1 (en) 2019-03-14
CN112527396A (zh) 2021-03-19
US11372643B2 (en) 2022-06-28
US11068263B2 (en) 2021-07-20
EP3889768B1 (en) 2024-01-10
EP3822774A1 (en) 2021-05-19
CN113076139A (zh) 2021-07-06
US11068262B2 (en) 2021-07-20
US20210124580A1 (en) 2021-04-29
CN111176730A (zh) 2020-05-19
US20220326948A1 (en) 2022-10-13

Similar Documents

Publication Publication Date Title
FI3889768T3 (fi) Järjestelmät ja menetelmät käskyjen suorittamiseksi muuntaa 16-bittiseen liukulukumuotoon
US10209989B2 (en) Accelerated interlane vector reduction instructions
US20190199370A1 (en) Floating point to fixed point conversion
US9400650B2 (en) Read and write masks update instruction for vectorization of recursive computations over interdependent data
CN109716290B (zh) 用于经融合的乘加的系统、装置和方法
EP3567472B1 (en) Systems, methods, and apparatuses utilizing an elastic floating-point number
KR101105474B1 (ko) 범위 검출을 수행하기 위한 명령어 및 로직
KR20130137700A (ko) 벡터 친숙형 명령어 형식 및 그의 실행
CN102473093A (zh) 对多个通道中的紧缩数据解压缩
US20220206805A1 (en) Instructions to convert from fp16 to bf8
US11249755B2 (en) Vector instructions for selecting and extending an unsigned sum of products of words and doublewords for accumulation
KR20160075639A (ko) 이미디에이트 핸들링 및 플래그 핸들링을 위한 프로세서 및 방법
US11106465B2 (en) Vector add-with-carry instruction
US20170192789A1 (en) Systems, Methods, and Apparatuses for Improving Vector Throughput
US10664277B2 (en) Systems, apparatuses and methods for dual complex by complex conjugate multiply of signed words
US11656870B2 (en) Systems, apparatuses, and methods for dual complex multiply add of signed words
US20220247561A1 (en) Processor hardware and instructions for lattice based cryptography
CN115525336A (zh) 用于针对矩阵乘法指令的指令的装置、方法和系统
WO2019005130A1 (en) APPARATUS AND METHOD FOR MULTIPLICATION AND ACCUMULATION OF COMPLEX VALUES
US20230305846A1 (en) Processor hardware and instructions for vectorized fused and-xor
WO2019005132A1 (en) APPARATUS AND METHOD FOR MULTIPLICATION AND CUMULATION OF COMPLEX VALUES
US11392379B2 (en) Instructions for vector multiplication of signed words with rounding
US11221849B2 (en) Instructions for vector multiplication of unsigned words with rounding
CN116339683A (zh) 零周期存储器初始化