Similar to the existing bitwise reduction builtins, this lowers to a llvm.vector.reduce.add intrinsic call.
For other reductions, we've tried to share builtins for float/integer vectors, but the fadd reduction builtins also take a starting value argument. Technically I could support float by using default values, but we're probably better off with specific fadd reduction builtins for both arguments.
(Split off from D117829)