From caac487ae23a9785602cf235f5b4a2b6749f2c18 Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Fri, 30 Aug 2019 19:10:42 +0200 Subject: fma --- test/monniaux/builtins/fma.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 test/monniaux/builtins/fma.c (limited to 'test/monniaux/builtins') 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 +#include +#include + +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; +} -- cgit From 9a19f2fdf735785947cc469d2ceef83cbe4f1679 Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Fri, 30 Aug 2019 19:23:24 +0200 Subject: fma with first negated operand --- test/monniaux/builtins/fma.c | 1 + 1 file changed, 1 insertion(+) (limited to 'test/monniaux/builtins') diff --git a/test/monniaux/builtins/fma.c b/test/monniaux/builtins/fma.c index 0952e8f3..18513502 100644 --- a/test/monniaux/builtins/fma.c +++ b/test/monniaux/builtins/fma.c @@ -8,5 +8,6 @@ int main(int argc, char **argv) { 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); + printf("%g %g %g\n", __builtin_fma(-x, y, z), fma(-x, y, z), (-x)*y + z); return 0; } -- cgit From 2f7f68f69b6408e4de6210c827b108eff011af51 Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Fri, 30 Aug 2019 19:39:58 +0200 Subject: macros for fma() fmaf() --- test/monniaux/builtins/fma.c | 1 + 1 file changed, 1 insertion(+) (limited to 'test/monniaux/builtins') diff --git a/test/monniaux/builtins/fma.c b/test/monniaux/builtins/fma.c index 18513502..4083e781 100644 --- a/test/monniaux/builtins/fma.c +++ b/test/monniaux/builtins/fma.c @@ -1,3 +1,4 @@ +#define COMPCERT_NO_FP_MACROS #include #include #include -- cgit