SM4 acceleration processors, methods, systems, and instructions
First Claim
Patent Images
1. A processor comprising:
- a plurality of packed data registers;
a decode unit to decode an instruction, the instruction to indicate one or more source packed data operands, the one or more source packed data operands to have four 32-bit results of four prior SM4 cryptographic rounds, and four 32-bit values; and
an execution unit coupled with the decode unit and coupled with the plurality of the packed data registers, the execution unit, in response to the decode of the instruction, to store four 32-bit results of four immediately subsequent and sequential SM4 cryptographic rounds in a destination storage location that is to be indicated by the instruction.
0 Assignments
0 Petitions
Accused Products
Abstract
A processor of an aspect includes a plurality of packed data registers, and a decode unit to decode an instruction. The instruction is to indicate one or more source packed data operands. The one or more source packed data operands are to have four 32-bit results of four prior SM4 cryptographic rounds, and four 32-bit values. The processor also includes an execution unit coupled with the decode unit and the plurality of the packed data registers. The execution unit, in response to the instruction, is to store four 32-bit results of four immediately subsequent and sequential SM4 cryptographic rounds in a destination storage location that is to be indicated by the instruction.
12 Citations
30 Claims
-
1. A processor comprising:
-
a plurality of packed data registers; a decode unit to decode an instruction, the instruction to indicate one or more source packed data operands, the one or more source packed data operands to have four 32-bit results of four prior SM4 cryptographic rounds, and four 32-bit values; and an execution unit coupled with the decode unit and coupled with the plurality of the packed data registers, the execution unit, in response to the decode of the instruction, to store four 32-bit results of four immediately subsequent and sequential SM4 cryptographic rounds in a destination storage location that is to be indicated by the instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method in a processor comprising:
-
receiving an instruction, the instruction indicating one or more source packed data operands, the one or more source packed data operands having four 32-bit results of four prior SM4 cryptographic rounds, and four 32-bit values; and storing four 32-bit results of four immediately subsequent and sequential SM4 cryptographic rounds in a destination storage location in response to the instruction, the destination storage location indicated by the instruction. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A processor comprising:
-
a plurality of packed data registers, wherein each of the packed data registers is to store at least 128-bits; a decode unit to decode an instruction, the instruction to indicate a first 128-bit source packed data, a second 128-bit source packed data, and a destination packed data register of the plurality of packed data registers, the first 128-bit source packed data to include four 32-bit results of four prior SM4 encryption rounds, the second 128-bit source packed data to include four 32-bit round keys for the four prior SM4 encryption rounds; and an execution unit coupled with the decode unit, and coupled with the plurality of the packed data registers, the execution unit, in response to the decode of the instruction, to store a 128-bit result packed data in the destination packed data register, the 128-bit result packed data to include four 32-bit results of four immediately subsequent and sequential SM4 encryption rounds. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A processor comprising:
-
a plurality of packed data registers, wherein each of the packed data registers is to store at least 128-bits; a decode unit to decode an instruction, the instruction to indicate a first 128-bit source packed data, a second 128-bit source packed data, and a destination packed data register of the plurality of packed data registers, the first 128-bit source packed data to include four 32-bit round keys for four prior SM4 key expansion rounds, the second 128-bit source packed data to include four 32-bit key generation constants for the four prior SM4 key expansion rounds; and an execution unit coupled with the decode unit, and coupled with the plurality of the packed data registers, the execution unit, in response to the decode of the instruction, to store a 128-bit result packed data in the destination packed data register, the 128-bit result packed data to include four 32-bit round keys for four immediately subsequent and sequential SM4 key expansion rounds. - View Dependent Claims (27, 28, 29, 30)
-
Specification