11036499

Systems, Apparatuses, and Methods for Controllable Sine And/Or Cosine Operations

PublishedJune 15, 2021
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. An apparatus comprising: a decoder to decode an instruction having fields for a packed data source operand, a packed data destination operand, and an immediate value, and execution circuitry to execute the decoded instruction to: compute at least a real output value and an imaginary output value based on at least a cosine calculation and a sine calculation, wherein the cosine and sine calculations are each based on an index value from the packed data source operand; add the index value with an index increment value from the packed data source operand to create an updated index value; and store the real output value, the imaginary output value, and the updated index value to the packed data destination operand.

2

2. The apparatus of claim 1 , wherein: the cosine calculation includes generating a cosine of a theta value, the theta value being based on the index value and a value of pi; the sine calculation includes generating a sine of the theta value; and the computation is based on the cosine calculation result, the sine calculation result, and an imaginary number, wherein the imaginary number is the square root of negative one.

3

3. The apparatus of claim 1 , wherein: the cosine and sine calculations are further based on an imaginary component control value from the immediate value and a real component control value from the immediate value; the imaginary component control value indicates whether an imaginary component of the computation is to be negated and whether the imaginary component of the computation is to include the cosine calculation or the sine calculation; and the real component control value indicates whether a real component of the computation is to be negated and whether the real component of the computation is to include the cosine calculation or the sine calculation.

4

4. The apparatus of claim 1 , wherein the execution circuitry, to compute at least the real output value and the imaginary output value, is further to: scale an intermediate real output value and an intermediate imaginary output value by a value of one-half (½) responsive to a scaling value of the immediate value having a first value to create the real output value and the imaginary output value.

5

5. The apparatus of claim 1 , wherein the execution circuitry is further to store the real output value and the imaginary output value at a location within the packed data destination operand based on an output selector value of the immediate value.

6

6. The apparatus of claim 5 , wherein: when the output selector value is a first value, the real output value and the imaginary output value are stored in a low quadword of the packed data destination operand; and when the output selector value is a second value, the real output value and the imaginary output value are stored in a high quadword of the packed data destination operand.

7

7. The apparatus of claim 5 , wherein the execution circuitry is further to: compute a negative real output value and a negative imaginary output value; and store the negative real output value and the negative imaginary output value within the packed data destination operand.

8

8. The apparatus of claim 1 , wherein the real output value and the imaginary output value are each signed Q1.15 values.

9

9. A method comprising: decoding an instruction having fields for a packed data source operand, a packed data destination operand, and an immediate value, and executing the decoded instruction to: compute at least a real output value and an imaginary output value based on at least a cosine calculation and a sine calculation, wherein the cosine and sine calculations are each based on an index value from the packed data source operand; add the index value with an index increment value from the packed data source operand to create an updated index value; and store the real output value, the imaginary output value, and the updated index value to the packed data destination operand.

10

10. The method of claim 9 , wherein: the cosine calculation includes generating a cosine of a theta value, the theta value being based on the index value and a value of pi; the sine calculation includes generating a sine of the theta value; and the computation is based on the cosine calculation result, the sine calculation result, and an imaginary number, wherein the imaginary number is the square root of negative one.

11

11. The method of claim 9 , wherein: the cosine and sine calculations are further based on an imaginary component control value from the immediate value and a real component control value from the immediate value; the imaginary component control value indicates whether an imaginary component of the computation is to be negated and whether the imaginary component of the computation is to include the cosine calculation or the sine calculation; and the real component control value indicates whether a real component of the computation is to be negated and whether the real component of the computation is to include the cosine calculation or the sine calculation.

12

12. The method of claim 9 , wherein the computation of at least the real output value and the imaginary output value includes: scaling an intermediate real output value and an intermediate imaginary output value by a value of one-half (½) responsive to a scaling value of the immediate value having a first value to create the real output value and the imaginary output value.

13

13. The method of claim 9 , wherein the execution further comprises storing the real output value and the imaginary output value at a location within the packed data destination operand based on an output selector value of the immediate value.

14

14. The method of claim 13 , wherein: when the output selector value is a first value, the real output value and the imaginary output value are stored in a low quadword of the packed data destination operand; and when the output selector value is a second value, the real output value and the imaginary output value are stored in a high quadword of the packed data destination operand.

15

15. The method of claim 13 , wherein the execution further comprises: computing a negative real output value and a negative imaginary output value; and storing the negative real output value and the negative imaginary output value within the packed data destination operand.

16

16. The method of claim 9 , wherein the real output value and the imaginary output value are each signed Q1.15 values.

17

17. A non-transitory machine-readable medium storing an instruction which, when executed by a processor, causes the processor to perform a method, the method comprising: decoding an instruction having fields for a packed data source operand, a packed data destination operand, and an immediate value, and executing the decoded instruction to: compute at least a real output value and an imaginary output value based on at least a cosine calculation and a sine calculation, wherein the cosine and sine calculations are each based on an index value from the packed data source operand; add the index value with an index increment value from the packed data source operand to create an updated index value; and store the real output value, the imaginary output value, and the updated index value to the packed data destination operand.

18

18. The non-transitory machine-readable medium of claim 17 , wherein: the cosine calculation includes generating a cosine of a theta value, the theta value being based on the index value and a value of pi; the sine calculation includes generating a sine of the theta value; and the computation is based on the cosine calculation result, the sine calculation result, and an imaginary number, wherein the imaginary number is the square root of negative one.

19

19. The non-transitory machine-readable medium of claim 17 , wherein: the cosine and sine calculations are further based on an imaginary component control value from the immediate value and a real component control value from the immediate value; the imaginary component control value indicates whether an imaginary component of the computation is to be negated and whether the imaginary component of the computation is to include the cosine calculation or the sine calculation; and the real component control value indicates whether a real component of the computation is to be negated and whether the real component of the computation is to include the cosine calculation or the sine calculation.

20

20. The non-transitory machine-readable medium of claim 17 , wherein the computation of at least the real output value and the imaginary output value includes: scaling an intermediate real output value and an intermediate imaginary output value by a value of 2 responsive to a scaling value of the immediate value having a first value to create the real output value and the imaginary output value.

Patent Metadata

Filing Date

Unknown

Publication Date

June 15, 2021

Inventors

Venkateswara R. MADDURI
Elmoustapha OULD-AHMED-VALL
Robert VALENTINE
Jesus CORBAL
Mark J. CHARNEY
Carl MURRAY
Milind GIRKAR
Bret TOLL

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SYSTEMS, APPARATUSES, AND METHODS FOR CONTROLLABLE SINE AND/OR COSINE OPERATIONS” (11036499). https://patentable.app/patents/11036499

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.