aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-09-07 00:54:31 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-09-07 00:58:33 +0200
commit24bdaac6682c36f5f7878321e8f9eb02c0993572 (patch)
tree3a42a487bf2c06da52b270d6e6784d16f806828e /validation
parent7524a9a874a75a477e9ddf2268ebccc2d3ee87ea (diff)
parent814cda15f647c14e0892deef3c57d73417e87b34 (diff)
downloadsparse-dev-24bdaac6682c36f5f7878321e8f9eb02c0993572.tar.gz
Merge branch 'linear-fma' into next
* add support for a new instruction: OP_FMA * teach sparse to linearize __builtin_fma()
Diffstat (limited to 'validation')
-rw-r--r--validation/linear/builtin-fma.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/validation/linear/builtin-fma.c b/validation/linear/builtin-fma.c
new file mode 100644
index 00000000..b1024f39
--- /dev/null
+++ b/validation/linear/builtin-fma.c
@@ -0,0 +1,19 @@
+double fma(double a, double x, double y)
+{
+ return __builtin_fma(a, x, y);
+}
+
+/*
+ * check-name: builtin-fma
+ * check-command: test-linearize -Wno-decl $file
+ *
+ * check-output-start
+fma:
+.L0:
+ <entry-point>
+ fmadd.64 %r4 <- %r1, %r2, %r3
+ ret.64 %r4
+
+
+ * check-output-end
+ */