Double rounded combined floating-point multiply and add
AssigneeIntel Corporation
InventorsSridhar Samudrala, Grigorios Magklis, Marc Lupon, David R. Ditzel
Life of this patent
Estimating the term…
Loading patent…
AssigneeIntel Corporation
InventorsSridhar Samudrala, Grigorios Magklis, Marc Lupon, David R. Ditzel
Estimating the term…
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.
A machine implemented method comprising:
An apparatus comprising:
The apparatus of claim 30, wherein the first operand multiplicand, the second operand multiplier, and the third operand are single instruction multiple data (SIMD) vector registers.
The apparatus of claim 31, wherein data elements of the first operand multiplicand, the second operand multiplier, and the third operand are 64-bit FP data elements.
The apparatus of claim 31, wherein data elements of the first operand multiplicand, the second operand multiplier, and the third operand are either 32-bit FP data elements or 16-bit FP data elements.
The apparatus of claim 30, wherein the first operand multiplicand, the second operand multiplier, and the third operand are scalar FP registers.
The apparatus of claim 34, wherein the scalar FP registers are on a FP stack.
A processor comprising:
The processor of claim 36, wherein data elements of the first operand multiplicand, the second operand multiplier, and the third operand are 64-bit FP data elements.
The processor of claim 36, wherein data elements of the first operand multiplicand, the second operand multiplier, and the third operand are 32-bit FP data elements.
The processor of claim 36, wherein said double-rounded combined floating-point (FP) multiply-add or multiply-subtract instruction is generated by processor instruction set architecture (ISA) translation logic.
The processor of claim 39, wherein the double-rounded combined FP multiply-add or multiply-subtract instruction is stored as an ISA macro-instruction in an instruction cache.
Dependencies are inferred from the claim text.