This patch fixes the problem that the loop in the tsvc s176 function is
optimized and removed because `iterations/LEN_1D` is 0 (where iterations
is set to 10000, LEN_1D is set to 32000 in tsvc.h).
This testcase passed on x86 and AArch64 system.
Best,
Lehua
gcc/testsuite/ChangeLog:
* gcc.dg/vect/tsvc/vect-tsvc-s176.c: Adjust iterations.
* gcc.dg/vect/tsvc/tsvc.h: Adjust expected rsult for s176.
} else if (!strcmp(name, "s175")) {
return 32009.023438f;
} else if (!strcmp(name, "s176")) {
- return 32000.f;
+ return 32063.902344f;
} else if (!strcmp(name, "s211")) {
return 63983.308594f;
} else if (!strcmp(name, "s212")) {
initialise_arrays(__func__);
int m = LEN_1D/2;
- for (int nl = 0; nl < 4*(iterations/LEN_1D); nl++) {
+ for (int nl = 0; nl < 4*(10*iterations/LEN_1D); nl++) {
for (int j = 0; j < (LEN_1D/2); j++) {
for (int i = 0; i < m; i++) {
a[i] += b[i+m-j-1] * c[j];
return 0;
}
-/* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" } } */