Abstract:
PROBLEM TO BE SOLVED: To provide a method of implementing a shift and XOR operation as an algorithm that makes use of SIMD related hardware.SOLUTION: An execution unit 108 includes logic to perform integer and floating point operations, and resides in a processor 102. The execution unit 108 includes logic to handle a packed instruction set 109. The execution unit 108 executes a first instruction and, in response to the first instruction, performs a shift and XOR on at least one value.
Abstract:
PROBLEM TO BE SOLVED: To provide a method and apparatus for significantly reducing the number of instructions required to perform a shift and XOR operation.SOLUTION: An apparatus comprises: a decoder to decode shift and XOR instructions having a first source operand storing a first value, a second source operand storing a shift amount, and a third source operand specifying or storing a second value; and an execution unit to shift the first value by the shift amount according to the decoded shift and XOR instructions, and apply XOR to the shifted value with the second value to generate an outcome of the shift and XOR instructions.
Abstract:
PROBLEM TO BE SOLVED: To execute a rotate instruction in an execution part of an instruction processing device without reading of a carry flag that requires much time by limiting parallel processing and/or speculative execution. SOLUTION: A rotate instruction which indicates a source operand and a rotate amount is received (221), and a result having the source operand rotated by the rotate amount is stored in a destination operand indicated by the rotate instruction (222), whereby execution of the rotate instruction completes without reading the carry flag (223). COPYRIGHT: (C)2011,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide bit manipulation instruction that increases processing speed. SOLUTION: An instruction indicating a source operand and a destination operand is received (101). A result is stored in the destination operand in response to the instruction. The result operand may have: a first range of bits having a first end explicitly specified by the instruction, in which each bit is identical in value to a bit of the source operand in a corresponding position; and a second range of bits that all have a same value regardless of values of bits of the source operand in corresponding positions (102). Execution of an instruction may complete without moving the first range of the result relative to the bits of identical value in the corresponding positions of the source operand, regardless of the location of the first range of bits in the result (103). COPYRIGHT: (C)2011,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a method and device for performing a cyclic redundancy check (CRC) operation on a data block by using a plurality of different n-bit polynomials. SOLUTION: A flexible CRC instruction performs a CRC operation by using a programmable n-bit polynomial. The n-bit polynomial is provided to the CRC instruction by storing the n-bit polynomial in one of two operands. COPYRIGHT: (C)2011,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a bit manipulation instruction with a high processing speed.SOLUTION: An instruction indicating a source operand and a destination operand is received (101). A result is stored in the destination operand in response to the instruction. The result operand may have: first range of bits having a first end explicitly specified by the instruction in which each bit is identical in value to a bit of the source operand in a corresponding position; and second range of bits that all have a same value regardless of values of bits of the source operand in corresponding positions (102). Execution of instruction may complete without moving the first range of the result relative to the bits of identical value in the corresponding positions of the source operand, regardless of the location of the first range of bits in the result (103).
Abstract:
PROBLEM TO BE SOLVED: To provide a new instruction that adds three source operands.SOLUTION: A method may comprise receiving an addition instruction. The addition instruction may indicate a first source operand, a second source operand and a third source operand. A sum of the first, second and third source operands may be stored as result of the addition instruction. The sum may be partly stored in a destination operand indicated by the addition instruction and may be partly stored in a plurality of flags. The instructions on other methods, apparatuses, systems, and machine-readable media are also included.
Abstract:
PROBLEM TO BE SOLVED: To provide a new instruction that adds three source operands. SOLUTION: A method may include receiving an add instruction. The add instruction may indicate a first source operand, a second source operand and a third source operand. A sum of the first, second and third source operands may be stored as a result of the add instruction. The sum may be partly stored in a destination operand indicated by the add instruction and may be partly stored in a plurality of flags. The instructions on other methods, apparatuses, systems, and machine-readable mediums are included. COPYRIGHT: (C)2011,JPO&INPIT
Abstract:
A technique of determining a message residue includes accessing a message and simultaneously determining a set of modular remainders with respect to a polynomial for different respective segments of the message. The technique also includes determining a modular remainder with respect to the polynomial for the message based on the set of modular remainders and a set of constants determined prior to accessing the message. The modular remainder with respect to the polynomial for the message is stored in a memory.