[gcc r14-6954] LoongArch: testsuite:Give up the detection of the gcc.dg/fma-{3, 4, 6, 7}.c file.

LuluCheng chenglulu@gcc.gnu.org
Fri Jan 5 12:28:54 GMT 2024


https://gcc.gnu.org/g:f8e4412b047e4f075b628203fda84e2b4e6842cc

commit r14-6954-gf8e4412b047e4f075b628203fda84e2b4e6842cc
Author: chenxiaolong <chenxiaolong@loongson.cn>
Date:   Fri Jan 5 11:43:29 2024 +0800

    LoongArch: testsuite:Give up the detection of the gcc.dg/fma-{3, 4, 6, 7}.c file.
    
    On the LoongArch architecture, the above four test cases need to be waived
    during testing. There are two situations:
    
    1. The function of fma-{3,6}.c test is to find the value of c-a*b, but on
    the LoongArch architecture, the function of the existing fnmsub instruction
    is to find the value of -(a*b - c);
    
    2. The function of fma-{4,7}.c test is to find the value of -(a*b)-c, but on
    the LoongArch architecture, the function of the existing fnmadd instruction
    is to find the value of -(a*b + c);
    
    Through the analysis of the above two cases, there will be positive and
    negative zero inequality.
    
    gcc/testsuite/ChangeLog
    
            * gcc.dg/fma-3.c: The intermediate file corresponding to the
            function does not produce the corresponding FNMA symbol, so the test
            rules should be skipped when testing.
            * gcc.dg/fma-4.c: The intermediate file corresponding to the
            function does not produce the corresponding FNMS symbol, so skip the
            test rules when testing.
            * gcc.dg/fma-6.c: The cause is the same as fma-3.c.
            * gcc.dg/fma-7.c: The cause is the same as fma-4.c

Diff:
---
 gcc/testsuite/gcc.dg/fma-3.c | 2 +-
 gcc/testsuite/gcc.dg/fma-4.c | 2 +-
 gcc/testsuite/gcc.dg/fma-6.c | 2 +-
 gcc/testsuite/gcc.dg/fma-7.c | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/fma-3.c b/gcc/testsuite/gcc.dg/fma-3.c
index 699aa2c9530..6649b54b6f9 100644
--- a/gcc/testsuite/gcc.dg/fma-3.c
+++ b/gcc/testsuite/gcc.dg/fma-3.c
@@ -12,4 +12,4 @@ f2 (double a, double b, double c)
   return c - a * b;
 }
 
-/* { dg-final { scan-tree-dump-times { = \.FNMA \(} 2 "widening_mul" { target scalar_all_fma } } } */
+/* { dg-final { scan-tree-dump-times { = \.FNMA \(} 2 "widening_mul" { target { scalar_all_fma && { ! loongarch*-*-* } } } } } */
diff --git a/gcc/testsuite/gcc.dg/fma-4.c b/gcc/testsuite/gcc.dg/fma-4.c
index bff928f1fac..f1701c1961a 100644
--- a/gcc/testsuite/gcc.dg/fma-4.c
+++ b/gcc/testsuite/gcc.dg/fma-4.c
@@ -12,4 +12,4 @@ f2 (double a, double b, double c)
   return -(a * b) - c;
 }
 
-/* { dg-final { scan-tree-dump-times { = \.FNMS \(} 2 "widening_mul" { target scalar_all_fma } } } */
+/* { dg-final { scan-tree-dump-times { = \.FNMS \(} 2 "widening_mul" { target { scalar_all_fma && { ! loongarch*-*-* } } } } } */
diff --git a/gcc/testsuite/gcc.dg/fma-6.c b/gcc/testsuite/gcc.dg/fma-6.c
index 87258cec4a2..9e49b62b6de 100644
--- a/gcc/testsuite/gcc.dg/fma-6.c
+++ b/gcc/testsuite/gcc.dg/fma-6.c
@@ -64,4 +64,4 @@ f10 (double a, double b, double c)
   return -__builtin_fma (a, b, -c);
 }
 
-/* { dg-final { scan-tree-dump-times { = \.FNMA \(} 14 "optimized" { target scalar_all_fma } } } */
+/* { dg-final { scan-tree-dump-times { = \.FNMA \(} 14 "optimized" { target { scalar_all_fma && { ! loongarch*-*-* } } } } } */
diff --git a/gcc/testsuite/gcc.dg/fma-7.c b/gcc/testsuite/gcc.dg/fma-7.c
index f409cc8ee3c..86aacad7b90 100644
--- a/gcc/testsuite/gcc.dg/fma-7.c
+++ b/gcc/testsuite/gcc.dg/fma-7.c
@@ -64,4 +64,4 @@ f10 (double a, double b, double c)
   return -__builtin_fma (a, b, c);
 }
 
-/* { dg-final { scan-tree-dump-times { = \.FNMS \(} 14 "optimized" { target scalar_all_fma } } } */
+/* { dg-final { scan-tree-dump-times { = \.FNMS \(} 14 "optimized" { target { scalar_all_fma && { ! loongarch*-*-* } } } } } */


More information about the Gcc-cvs mailing list