[LLVMdev] FPOpFusion = Fast and Multiply-and-add combines

Tim Northover t.p.northover at gmail.com
Wed Aug 6 20:59:43 PDT 2014


> "Each of the computational operations that return a numeric result specified
> by this standard shall be performed as if it first produced an intermediate
> result correct to infinite precision and with unbounded range, and then
> rounded that intermediate result, ..."
>
> which perfectly fits what the muladd instructions in PPC and also in avx2
> are doing: using infinite precision after the multiply.

There are two operations in "a + b * c". Using muladd omits the second
requirement ("and then rounded that intermediate result") on the
first.

IEEE describes a completely separate "fusedMultiplyAdd" operation with
the "muladd" semantics.

Cheers.

Tim.



More information about the llvm-dev mailing list