Galois field multiply reduction and parallel hash
US-2024028341-A1 · Jan 25, 2024 · US
US9256437B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9256437-B2 |
| Application number | US-201313783906-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 4, 2013 |
| Priority date | Mar 29, 2012 |
| Publication date | Feb 9, 2016 |
| Grant date | Feb 9, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A computer-readable recording medium having stored therein a program for causing a computer to execute a digital signature process includes determining that a first specific instruction for executing parallel calculations of the same type, each calculation operating on a different piece of data, is generated by combining first and second instructions included in a first code, retrieving, from the first code, a third instruction for calculating data referenced by the first instruction and a fourth instruction for calculating data referenced by the second instruction, and selecting the third and fourth instructions as candidates of instructions to be combined with each other preferentially to generate a second specific instruction which is different from the first specific instruction.
Opening claim text (preview).
What is claimed is: 1. A code generation method, comprising: determining that a first specific instruction for executing parallel calculations of the same type, each calculation operating on a different piece of data, is generated by combining first and second instructions included in a first code, the first specific instruction using a first register to store the different pieces of data; retrieving, from the first code by tracing the first code from the first and second instructions to a beginning, a third instruction for calculating data referenced by the first instruction and a fourth instruction for calculating data referenced by the second instruction; selecting the third and fourth instructions as candidates of instructions to be combined with each other to generate a second specific instruction, which is different from the first specific instruction and is to be executed before the first specific instruction, the second specific instruction using a second register to store an execution result of the second specific instruction; determining whether to combine the third and fourth instructions to generate the second specific instruction by determining whether data included in the second register is to be transferred to the first register when the first specific instruction is to be executed after execution of the second specific instruction; and determining a combination of the first and second instructions by scanning an instruction queue included in the first code from the end to the beginning of the instruction queue. 2. A non-transitory computer-readable recording medium having stored therein a program for causing a computer to execute a process comprising: determining that a first specific instruction for executing parallel calculations of the same type, each calculation operating on a different piece of data, is generated by combining first and second instructions included in a first code, the first specific instruction using a first register to store the different pieces of data; retrieving, from the first code by tracing the first code from the first and second instructions to a beginning, a third instruction for calculating data referenced by the first instruction and a fourth instruction for calculating data referenced by the second instruction; selecting the third and fourth instructions as candidates of instructions to be combined with each other to generate a second specific instruction, which is different from the first specific instruction and is to be executed before the first specific instruction, the second specific instruction using a second register to store an execution result of the second specific instruction; determining whether to combine the third and fourth instructions to generate the second specific instruction by determining whether data included in the second register is to be transferred to the first register when the first specific instruction is to be executed after execution of the second specific instruction; and determining a combination of the first and second instructions by scanning an instruction queue included in the first code from the end to the beginning of the instruction queue. 3. An information processing apparatus comprising: a memory which stores a program; and a processor which executes, based on the program, a process including: determining that a first specific instruction for executing parallel calculations of the same type, each calculation operating on a different piece of data, is generated by combining first and second instructions included in a first code, the first specific instruction using a first register to store the different pieces of data, retrieving, from the first code by tracing the first code from the first and second instructions to a beginning, a third instruction for calculating data referenced by the first instruction and a fourth instruction for calculating data referenced by the second instruction, selecting the third and fourth instructions as candidates of instructions to be combined with each other to generate a second specific instruction, which is different from the first specific instruction and is to be executed before the first specific instruction, the second specific instruction using a second register to store an execution result of the second specific instruction, determining whether to combine the third and fourth instructions to generate the second specific instruction by determining whether data included in the second register is to be transferred to the first register when the first specific instruction is to be executed after execution of the second specific instruction, and determining a combination of the first and second instructions by scanning an instruction queue included in the first code from the end to the beginning of the instruction queue.
Compilation · CPC title
controlled by a single instruction for multiple data lanes [SIMD] · CPC title
from multiple instruction streams, e.g. multistreaming · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.