[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