]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: Fix vect-mod-var.c for division by 0 [PR116461]
authorAndrew Pinski <quic_apinski@quicinc.com>
Fri, 23 Aug 2024 04:15:21 +0000 (21:15 -0700)
committerAndrew Pinski <quic_apinski@quicinc.com>
Fri, 23 Aug 2024 04:15:21 +0000 (21:15 -0700)
The testcase cc.dg/vect/vect-mod-var.c has an division by 0
which is undefined. On some targets (aarch64), the scalar and
the vectorized version, the result of division by 0 is the same.
While on other targets (x86), we get a SIGFAULT. On other targets (powerpc),
the results are different.

The fix is to make sure the testcase does not test division by 0 (or really mod by 0).

Pushed as obvious after testing on x86_64-linux-gnu to make sure the testcase passes
now.

PR testsuite/116461

gcc/testsuite/ChangeLog:

* gcc.dg/vect/vect-mod-var.c: Change the initialization loop so that
`b[i]` is never 0. Use 1 in those places.

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
gcc/testsuite/gcc.dg/vect/vect-mod-var.c

index eeed318c62b07679373ab96f2097529914125b66..c552941faef518fc8e67b7d17bc178e0eb73e50f 100644 (file)
@@ -23,6 +23,9 @@ main (void)
     {
       a[i] = BASE1 + i * 5;
       b[i] = BASE2 - i * 4;
+      /* b[i] cannot be 0 as that would cause undefined
+        behavior with respect to `% b[i]`. */
+      b[i] = b[i] ? b[i] : 1;
       __asm__ volatile ("");
     }