From 7cac54fb0dffd050963e122e79f042f4c2f000c0 Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Fri, 17 Nov 2017 22:56:52 +0000 Subject: [PATCH] fmls.c: New test. 2017-11-17 Steve Ellcey * gcc.target/aarch64/fmls.c: New test. From-SVN: r254906 --- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.target/aarch64/fmls.c | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 gcc/testsuite/gcc.target/aarch64/fmls.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0dbe4731cc1..52ae4a1025f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2017-11-17 Steve Ellcey + + * gcc.target/aarch64/fmls.c: New test. + 2017-11-17 Steve Ellcey * gcc.target/aarch64/pr81356.c: New test. diff --git a/gcc/testsuite/gcc.target/aarch64/fmls.c b/gcc/testsuite/gcc.target/aarch64/fmls.c new file mode 100644 index 00000000000..1ea0e6ab232 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/fmls.c @@ -0,0 +1,19 @@ +/* { dg-do compile } */ +/* { dg-options "-O3" } */ + +#define vector __attribute__((vector_size(16))) +vector double a = {1.0,1.0}; +vector double b = {2.0,2.0}; +double x = 3.0; + + +void __attribute__ ((noinline)) +vf (double x, vector double *v1, vector double *v2, vector double *result) +{ + vector double s = v1[0]; + vector double t = -v2[0]; + vector double m = {x,x}; + vector double r = t * m + s; + result[0] = r; +} +/* { dg-final { scan-assembler-not "dup" } } */ -- 2.30.2