IP Library › Granted Patent US 9,477,441
Granted Patent B2
US 9,477,441 · App. 14/948,943 · Granted Oct 25, 2016

Double rounded combined floating-point multiply and add

Inventors: Sridhar Samudrala (Austin, TX); Grigorios Magklis (Barcelona, ES); Marc Lupon (Barcelona, ES); David R. Ditzel (Los Altos Hills, CA)
Assignee: Intel Corporation
G06F7/4876G06F7/483G06F7/485G06F7/4991G06F7/5443G06F2207/4802
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,477,441
App. No.
14/948,943
Granted
Oct 25, 2016
Kind
B2
Abstract

Methods, apparatus, instructions and logic are disclosed providing double rounded combined floating-point multiply and add functionality as scalar or vector SIMD instructions or as fused micro-operations. Embodiments include detecting floating-point (FP) multiplication operations and subsequent FP operations specifying as source operands results of the FP multiplications. The FP multiplications and the subsequent FP operations are encoded as combined FP operations including rounding of the results of FP multiplication followed by the subsequent FP operations. The encoding of said combined FP operations may be stored and executed as part of an executable thread portion using fused-multiply-add hardware that includes overflow detection for the product of FP multipliers, first and second FP adders to add third operand addend mantissas and the products of the FP multipliers with different rounding inputs based on overflow, or no overflow, in the products of the FP multiplier. Final results are selected respectively using overflow detection.

Claims (14)

1. A machine implemented method comprising:

detecting an executable thread portion comprising a first floating-point (FP) multiplication operation and a second FP operation, wherein the second FP operation specifies as a source operand a result of the first FP multiplication operation;

encoding the first FP multiplication operation and the second FP operation as a combined FP operation comprising a rounding of the result of the first FP multiplication operation followed by the second FP operation using the rounded result as the source operand;

storing the encoding of the combined FP operation; and

executing the stored encoding of the combined FP operation as part of the executable thread portion instead of separately executing the first FP multiplication operation and the second FP operation.

2. The machine implemented method of claim 1 , wherein the second FP operation is a FP addition operation.

3. The machine implemented method of claim 1 , wherein the second FP operation is a FP subtraction operation.

4. The machine implemented method of claim 1 , wherein the second FP operation is a FP conversion operation.

5. The machine implemented method of claim 1 , wherein the encoding of the combined FP operation is stored as a micro-op in a micro-op storage.

6. The machine implemented method of claim 5 , wherein detecting is performed by processor execution optimization logic.

7. The machine implemented method of claim 1 , wherein the encoding of the combined FP operation is stored as an instruction set architecture (ISA) macro-instruction.

8. The machine implemented method of claim 7 , wherein the encoding of the combined FP operation is stored as an ISA macro-instruction in an instruction cache.

9. The machine implemented method of claim 8 , wherein detecting is performed by processor ISA translation logic.

10. The machine implemented method of claim 7 , wherein detecting is performed by compiler optimization logic.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2016
From: SAMUDRALA, SRIDHAR; MAGKLIS, GRIGORIOS; LUPON, MARC; DITZEL, DAVID R.
To: INTEL CORPORATION
Reel/Frame 038999/0554 →
Continuity (2)
Division 13539198 · Jun 29, 2012
Related Publication 20160077802A1 · Mar 17, 2016