NOTE: This is currently only a proposal as referenced in an RFC on llvm-dev mailing list.
This patch creates explicit ordered and unordered reduction intrinsics for
fadd and fmul and adds functionality to auto-upgrade existing LLVM IR
and bitcode to use the new intrinsics.
llvm.experimental.vector.reduce.fadd -> llvm.experimental.vector.reduce.ordered.fadd
fast llvm.experimental.vector.reduce.fadd -> llvm.experimental.vector.reduce.unordered.fadd
llvm.experimental.vector.reduce.fmul -> llvm.experimental.vector.reduce.ordered.fmul
fast llvm.experimental.vector.reduce.fmul -> llvm.experimental.vector.reduce.unordered.fmul