Use builtins for fma/fmax/fmin/round on arm/arm64.

Bug: http://b/27829506
Test: ran tests and inspected arm/arm64/x86/x86-64 assembler
Change-Id: I8af60b44c75dddbb11949f208a8a70ed3cff12c8
diff --git a/libm/Android.bp b/libm/Android.bp
index da9c9a8..a4bdbb8 100644
--- a/libm/Android.bp
+++ b/libm/Android.bp
@@ -211,7 +211,7 @@
         "fake_long_double.c",
 
         // Home-grown stuff.
-        "fabs.cpp",
+        "builtins.cpp",
         "signbit.cpp",
     ],
 
@@ -291,6 +291,14 @@
                     "upstream-freebsd/lib/msun/src/e_sqrt.c",
                     "upstream-freebsd/lib/msun/src/e_sqrtf.c",
                     "upstream-freebsd/lib/msun/src/s_floor.c",
+                    "upstream-freebsd/lib/msun/src/s_fma.c",
+                    "upstream-freebsd/lib/msun/src/s_fmaf.c",
+                    "upstream-freebsd/lib/msun/src/s_fmax.c",
+                    "upstream-freebsd/lib/msun/src/s_fmaxf.c",
+                    "upstream-freebsd/lib/msun/src/s_fmin.c",
+                    "upstream-freebsd/lib/msun/src/s_fminf.c",
+                    "upstream-freebsd/lib/msun/src/s_round.c",
+                    "upstream-freebsd/lib/msun/src/s_roundf.c",
                 ],
             },
             instruction_set: "arm",
@@ -302,7 +310,6 @@
             srcs: [
                 "arm64/ceil.S",
                 "arm64/fenv.c",
-                "arm64/fma.S",
                 "arm64/floor.S",
                 "arm64/lrint.S",
                 "arm64/rint.S",
@@ -314,16 +321,22 @@
                 "upstream-freebsd/lib/msun/src/e_sqrtf.c",
                 "upstream-freebsd/lib/msun/src/s_ceil.c",
                 "upstream-freebsd/lib/msun/src/s_ceilf.c",
-                "upstream-freebsd/lib/msun/src/s_fma.c",
-                "upstream-freebsd/lib/msun/src/s_fmaf.c",
                 "upstream-freebsd/lib/msun/src/s_floor.c",
                 "upstream-freebsd/lib/msun/src/s_floorf.c",
+                "upstream-freebsd/lib/msun/src/s_fma.c",
+                "upstream-freebsd/lib/msun/src/s_fmaf.c",
+                "upstream-freebsd/lib/msun/src/s_fmax.c",
+                "upstream-freebsd/lib/msun/src/s_fmaxf.c",
+                "upstream-freebsd/lib/msun/src/s_fmin.c",
+                "upstream-freebsd/lib/msun/src/s_fminf.c",
                 "upstream-freebsd/lib/msun/src/s_llrint.c",
                 "upstream-freebsd/lib/msun/src/s_llrintf.c",
                 "upstream-freebsd/lib/msun/src/s_lrint.c",
                 "upstream-freebsd/lib/msun/src/s_lrintf.c",
                 "upstream-freebsd/lib/msun/src/s_rint.c",
                 "upstream-freebsd/lib/msun/src/s_rintf.c",
+                "upstream-freebsd/lib/msun/src/s_round.c",
+                "upstream-freebsd/lib/msun/src/s_roundf.c",
                 "upstream-freebsd/lib/msun/src/s_trunc.c",
                 "upstream-freebsd/lib/msun/src/s_truncf.c",
             ],