aboutsummaryrefslogtreecommitdiffstats
path: root/test/monniaux/builtins
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-08-30 19:10:42 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-08-30 19:10:42 +0200
commitcaac487ae23a9785602cf235f5b4a2b6749f2c18 (patch)
treee81ae59a6e06a0373afdfbf8f1ee94f16a2770f2 /test/monniaux/builtins
parent1522f289301f37da0324570297c65256d8a32316 (diff)
downloadcompcert-kvx-caac487ae23a9785602cf235f5b4a2b6749f2c18.tar.gz
compcert-kvx-caac487ae23a9785602cf235f5b4a2b6749f2c18.zip
fma
Diffstat (limited to 'test/monniaux/builtins')
-rw-r--r--test/monniaux/builtins/fma.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/monniaux/builtins/fma.c b/test/monniaux/builtins/fma.c
new file mode 100644
index 00000000..0952e8f3
--- /dev/null
+++ b/test/monniaux/builtins/fma.c
@@ -0,0 +1,12 @@
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+int main(int argc, char **argv) {
+ if (argc < 4) return 1;
+ double x = strtod(argv[1], NULL);
+ double y = strtod(argv[2], NULL);
+ double z = strtod(argv[3], NULL);
+ printf("%g %g %g\n", __builtin_fma(x, y, z), fma(x, y, z), x*y + z);
+ return 0;
+}