Vector Packed Concatenate-Shift for Modular Multiplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current instruction set architectures lack support for dual-source concatenation and shift of specific bits less than the length of one data lane, leading to inefficiencies in element-wise modular multiplication, particularly in polynomial multiplication for fully homomorphic encryption applications.

Innovation Solution

Introduce a set of instructions for vector packed concatenate and shift operations that allow specific bits from two sources to be concatenated and shifted, optimizing modular multiplication by reducing storage needs and enabling efficient extraction of desired results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional instruction set architectures are used for element-wise modular multiplication, then operations can be performed, but the process requires multiple separate instructions and intermediate storage, reducing efficiency

Engineering Contradiction:
Improvemodular multiplication performanceVSAvoidinstruction sequence complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines concatenation and shift operations into a single dual-source concatenate and shift instruction. This merging of previously separate operations (concatenation followed by shift) into one atomic instruction reduces the instruction sequence length and improves execution efficiency for element-wise modular multiplication operations

Inventive Principle:
Principle #5Merging (Combining)

2Manufacturing precision

If dual-source concatenation with specific bit selection is implemented, then precise bit manipulation is achieved, but the instruction set complexity increases

Engineering Contradiction:
Improvebit manipulation precisionVSAvoidinstruction set complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent enables selective manipulation of specific bit portions (fields) within data elements by allowing different source operands to contribute different numbers of bits to the result. This local quality approach allows precise control over which bits are concatenated and shifted, optimizing operations like modular multiplication where only specific bit ranges are needed

Inventive Principle:
Principle #3Local quality

3Reliability

If intermediate results are stored in full precision, then accuracy is maintained, but storage requirements increase

Engineering Contradiction:
Improvecalculation accuracyVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary number of bits from intermediate concatenation results based on the specific computational requirements. By allowing the destination operand to specify exactly how many bits are needed (rather than storing all bits from concatenation), the instruction reduces storage requirements while maintaining the precision needed for the specific application

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12613701B2Apparatus and method for vector packed concatenate and shift of specific portions of quadwords
Publication Date: 2026.04.28 INTEL CORP
  • US12613701B2 patent drawing
  • US12613701B2 patent drawing
  • US12613701B2 patent drawing

AI summary

Apparatus and method for performing vector packed concatenate and shift of portions of quadwords are described herein. An apparatus embodiment includes decoder circuitry to decode a first instruction and execution circuitry to execute the decoded instruction. The execute circuitry includes concatenation circuitry to concatenate a first field from each of a first plurality of data elements with a second field from a corresponding data element of the second plurality of data elements to generate a plurality of concatenated results, and shift circuitry to shift each of the plurality of concatenated results by a number of bit positions specified by a corresponding shift value to generate a plurality of shifted results, wherein a select plurality of bits from each of the plurality of shifted results is stored in a corresponding data element position of a destination register.