Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations
First Claim
1. In a data processing system that executes a program of instructions, a method for multiplying complex numbers comprising the steps of:
- A) receiving a first instruction;
B) in response to said first instruction;
B1) reading eight data elements stored as packed data, a first subset of said eight data elements including two representations of each of the components of a first complex number, a second subset of said eight data elements including two representations of each of the components of a second complex number, wherein each representation of said components either represents the positive or negative of said component; and
B2) generating a resulting complex number representing the product of said first and second complex numbers using said first and second subsets.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention provides a method and apparatus for storing complex data in formats which allow efficient complex multiplication operations to be performed and for performing such complex multiplication operations. According to one aspect of the invention, a method for multiplying complex numbers is provided for use in a data processing system. In response to receiving an instruction, eight data elements are read and used to generate a resulting complex number. These eight data elements were previously stored as packed data and include two representations of each of the components of a first and second complex number. Each of these representations is signed such that it represents either the positive or negative of said component. As a result of the manner in which these eight data elements are stored, the resulting complex number represents the product of the first and second complex numbers. According to another aspect of the invention, a machine-readable medium is described. This machine-readable medium has stored thereon data representing sequences of instructions which, when executed by a processor, cause that processor to perform the above described method.
-
Citations
40 Claims
-
1. In a data processing system that executes a program of instructions, a method for multiplying complex numbers comprising the steps of:
-
A) receiving a first instruction; B) in response to said first instruction; B1) reading eight data elements stored as packed data, a first subset of said eight data elements including two representations of each of the components of a first complex number, a second subset of said eight data elements including two representations of each of the components of a second complex number, wherein each representation of said components either represents the positive or negative of said component; and B2) generating a resulting complex number representing the product of said first and second complex numbers using said first and second subsets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. In a data processing system that executes a program of instructions, a method comprising the steps of:
-
A) receiving a first instruction; B) in response to said first instruction; B1) reading a first set of eight data elements, said first set of eight data elements including one representation of each of the components of a first, second, third and fourth complex number; and B2) generating the real component of both a first and second resulting complex number using said first set of eight data elements, said first resulting complex number representing the product of said first and second complex numbers, said second resulting complex number representing the product of said third and fourth complex numbers; C) receiving a second instruction; and D) in response to said second instruction; D1) reading a second set of eight data elements, said second set of eight data elements including one representation of each of the components of said first, second, third, and fourth complex number; and D2) generating the imaginary component of both said first and second resulting complex number using said second set of eight data elements. - View Dependent Claims (22)
-
-
23. A machine-readable medium having stored thereon data representing sequences of instructions, said sequences of instructions which, when executed by a processor, cause said processor to perform steps of:
-
A) reading a first instruction; B) in response to said first instruction; B1) reading eight data elements stored as packed data, a first subset of said eight data elements including two representations of each of the components of a first complex number, a second subset of said eight data elements including two representations of each of the components of a second complex number, wherein each representation of said components either represents the positive or negative of said component; and B2) generating a resulting complex number representing the product of said first and second complex numbers using said first and second subsets. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification