aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorchenxiaolong <chenxiaolong@loongson.cn>2024-01-05 11:43:29 +0800
committerLulu Cheng <chenglulu@loongson.cn>2024-01-05 20:28:02 +0800
commitf8e4412b047e4f075b628203fda84e2b4e6842cc (patch)
tree63de5915fc8e95730ade24d1c36bfe74c9e83779 /gcc
parentb2de0b84c502245ac11159472729036048ed5130 (diff)
downloadgcc-f8e4412b047e4f075b628203fda84e2b4e6842cc.zip
gcc-f8e4412b047e4f075b628203fda84e2b4e6842cc.tar.gz
gcc-f8e4412b047e4f075b628203fda84e2b4e6842cc.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.dg/fma-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/fma-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/fma-6.c2
-rw-r--r--gcc/testsuite/gcc.dg/fma-7.c2
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 699aa2c..6649b54 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 bff928f..f1701c1 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 87258ce..9e49b62 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 f409cc8..86aacad 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*-*-* } } } } } */