This removes previous special cases for each floating-point type in favour of a shared codepath. llvm-svn: 172189