https://gcc.gnu.org/g:7a456056ff9c2edc67cfcdf7bb8fe86176c66ec7

commit r16-6751-g7a456056ff9c2edc67cfcdf7bb8fe86176c66ec7
Author: Andrew Pinski <[email protected]>
Date:   Tue Jan 13 11:43:42 2026 -0800

    testsuite/aarch64: Fix aarch64/signbitv2sf.c [PR122522]
    
    The problem here is after some heurstics changes the check
    loop is now unrolled so we eliminate the array. This means
    the check for not having -2147483648 no longer works as
    we don't handle SLP in this case.
    So the best option is to force the check loop not to unroll
    (no vectorize) as this is just testing we SLP the normal
    signbit places rather than dealing with the checking loop.
    
    Pushed as obvious after testing the testcase on aarch64-linux-gnu.
    
            PR testsuite/122522
    gcc/testsuite/ChangeLog:
    
            * gcc.target/aarch64/signbitv2sf.c (main): Disable
            unrolling and vectorizer for the checking loop.
    
    Signed-off-by: Andrew Pinski <[email protected]>

Diff:
---
 gcc/testsuite/gcc.target/aarch64/signbitv2sf.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/testsuite/gcc.target/aarch64/signbitv2sf.c 
b/gcc/testsuite/gcc.target/aarch64/signbitv2sf.c
index 2587bfedd538..e67de487788d 100644
--- a/gcc/testsuite/gcc.target/aarch64/signbitv2sf.c
+++ b/gcc/testsuite/gcc.target/aarch64/signbitv2sf.c
@@ -27,6 +27,8 @@ main ()
   foo (out + 4, in + 4);
   foo (out + 6, in + 6);
 
+  #pragma GCC novector
+  #pragma GCC unroll(0)
   for (i = 0; i < N; i++)
   {
     if (in[i] >= 0.0 && out[i])

Reply via email to