testsuite/i386: Fix XOP and FMA4 checking functions [PR98036].
authorUros Bizjak <ubizjak@gmail.com>
Fri, 27 Nov 2020 17:41:56 +0000 (18:41 +0100)
committerUros Bizjak <ubizjak@gmail.com>
Fri, 27 Nov 2020 17:42:43 +0000 (18:42 +0100)
Add missing returns and remove unnecessary postfix increments.

2020-11-27  Uroš Bizjak  <ubizjak@gmail.com>

PR testsuite/98036

gcc/testsuite/
* gcc.target/i386/fma4-256-maccXX.c (check_maccps):
Remove unnecessary postfix increment on a returned variable.
(check_maccpd): Ditto.
* gcc.target/i386/fma4-256-msubXX.c (check_msubps): Ditto.
(check_msubpd): Ditto.
* gcc.target/i386/fma4-256-nmaccXX.c (check_nmaccps): Ditto.
(check_nmaccpd): Ditto.
* gcc.target/i386/fma4-256-nmsubXX.c (check_nmsubps): Ditto.
(check_nmsubpd): Ditto.
* gcc.target/i386/fma4-maccXX.c (check_maccps): Ditto.
(check_maccpd): Ditto.
(check_maccss): Ditto.
(check_maccsd): Ditto.
* gcc.target/i386/fma4-msubXX.c (check_msubps): Ditto.
(check_msubpd): Ditto.
(check_msubss): Ditto.
(check_msubsd): Ditto.
* gcc.target/i386/fma4-nmaccXX.c (check_nmaccps): Ditto.
(check_nmaccpd): Ditto.
(check_nmaccss): Ditto.
(check_nmaccsd): Ditto.
* gcc.target/i386/fma4-nmsubXX.c (check_nmsubps): Ditto.
(check_nmsubpd): Ditto.
(check_nmsubss): Ditto.
(check_nmsubsd): Ditto.
* gcc.target/i386/xop-haddX.c (check_sbyte2word): Add missing return.
(check_sbyte2dword):
Remove unnecessary postfix increment on a returned value.
(check_sbyte2qword): Ditto.
(check_sword2dword): Add missing return.
(check_sword2qword):
Remove unnecessary postfix increment on a returned value.
(check_dword2qword): Add missing return.
* gcc.target/i386/xop-hadduX.c (check_byte2word): Add missing return.
(check_byte2dword):
Remove unnecessary postfix increment on a returned value.
(check_byte2qword): Ditto.
(check_word2dword): Add missing return.
(check_word2qword):
Remove unnecessary postfix increment on a returned value.
(check_word2qword): Add missing return.
* gcc.target/i386/xop-hsubX.c (check_sbyte2word): Add missing return.
(check_sword2dword): Ditto.
(check_sword2qword): Ditto.

gcc/testsuite/gcc.target/i386/fma4-256-maccXX.c
gcc/testsuite/gcc.target/i386/fma4-256-msubXX.c
gcc/testsuite/gcc.target/i386/fma4-256-nmaccXX.c
gcc/testsuite/gcc.target/i386/fma4-256-nmsubXX.c
gcc/testsuite/gcc.target/i386/fma4-maccXX.c
gcc/testsuite/gcc.target/i386/fma4-msubXX.c
gcc/testsuite/gcc.target/i386/fma4-nmaccXX.c
gcc/testsuite/gcc.target/i386/fma4-nmsubXX.c
gcc/testsuite/gcc.target/i386/xop-haddX.c
gcc/testsuite/gcc.target/i386/xop-hadduX.c
gcc/testsuite/gcc.target/i386/xop-hsubX.c

index 134200af72a904c7124fc65e58cb495280aabbba..ee0ddf171f4843dda432785e4c2211d57e6f3ecb 100644 (file)
@@ -17,7 +17,6 @@ union
   double d[NUM * 4];
 } dst, res, src1, src2, src3;
 
-
 /* Note that in macc*,msub*,mnmacc* and mnsub* instructions, the intermdediate 
    product is not rounded, only the addition is rounded. */
 
@@ -56,7 +55,7 @@ check_maccps ()
        if (dst.f[i + j] != res.f[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -70,7 +69,7 @@ check_maccpd ()
        if (dst.d[i + j] != res.d[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 static void
index d6cafb4d542e4bcb395b7cfc61250d6a0e248a43..0251eb2bce9cd0e493d1de4565c817fcc23ddc8e 100644 (file)
@@ -55,7 +55,7 @@ check_msubps ()
        if (dst.f[i + j] != res.f[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -69,7 +69,7 @@ check_msubpd ()
        if (dst.d[i + j] != res.d[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 static void
@@ -92,5 +92,4 @@ fma4_test (void)
   
   if (check_msubpd ()) 
     abort ();
-  
 }
index 261f302f2f705d545f3263d0982d1d4f63b31de0..d9671f3da433f1867915fa9bb13c8c3c8aa25ff9 100644 (file)
@@ -55,7 +55,7 @@ check_nmaccps ()
        if (dst.f[i + j] != res.f[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -69,7 +69,7 @@ check_nmaccpd ()
        if (dst.d[i + j] != res.d[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 static void
@@ -92,5 +92,4 @@ fma4_test (void)
   
   if (check_nmaccpd ()) 
     abort ();
-
 }
index ccbdf0e9d6fdbc956859180fce5a6fd0193022cc..385cd950b9713a9bff6548000a91f961c948966b 100644 (file)
@@ -55,7 +55,7 @@ check_nmsubps ()
        if (dst.f[i + j] != res.f[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -69,7 +69,7 @@ check_nmsubpd ()
        if (dst.d[i + j] != res.d[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 static void
@@ -92,5 +92,4 @@ fma4_test (void)
   
   if (check_nmsubpd (&dst.y[i], &src1.d[i * 2], &src2.d[i * 2], &src3.d[i * 2])) 
     abort ();
-
 }
index 4b4c00596a795db10bb53f61705ce055c070975e..d401d4ed4134cd00e61ed730d7c2171ef25bccd2 100644 (file)
@@ -17,7 +17,6 @@ union
   double d[NUM * 2];
 } dst, res, src1, src2, src3;
 
-
 /* Note that in macc*,msub*,mnmacc* and mnsub* instructions, the intermdediate 
    product is not rounded, only the addition is rounded. */
 
@@ -56,7 +55,7 @@ check_maccps ()
        if (dst.f[i + j] != res.f[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -70,7 +69,7 @@ check_maccpd ()
        if (dst.d[i + j] != res.d[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 
@@ -84,7 +83,7 @@ check_maccss ()
       if (dst.f[i] != res.f[i]) 
        check_fails++;
     }  
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -97,7 +96,7 @@ check_maccsd ()
       if (dst.d[i] != res.d[i]) 
        check_fails++;
     }
-  return check_fails++;
+  return check_fails;
 }
 
 static void
@@ -132,5 +131,4 @@ fma4_test (void)
   
   if (check_maccsd ()) 
     abort ();
-
 }
index eed75580e8d32e198749a9f4b856afa6bb743437..192cb5d624cc7ec4cf82fd2c2ce4c27bfc7c2581 100644 (file)
@@ -55,7 +55,7 @@ check_msubps ()
        if (dst.f[i + j] != res.f[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -69,10 +69,9 @@ check_msubpd ()
        if (dst.d[i + j] != res.d[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
-
 static int
 check_msubss ()
 {
@@ -83,7 +82,7 @@ check_msubss ()
       if (dst.f[i] != res.f[i]) 
        check_fails++;
     }  
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -96,7 +95,7 @@ check_msubsd ()
       if (dst.d[i] != res.d[i]) 
        check_fails++;
     }
-  return check_fails++;
+  return check_fails;
 }
 
 static void
index 9abf74604777f03ed53a41b679915fbd57c0daa2..7a89fb0820c2e66d2e14f522486ecba8776b9fd4 100644 (file)
@@ -55,7 +55,7 @@ check_nmaccps ()
        if (dst.f[i + j] != res.f[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -69,10 +69,9 @@ check_nmaccpd ()
        if (dst.d[i + j] != res.d[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
-
 static int
 check_nmaccss ()
 {
@@ -83,7 +82,7 @@ check_nmaccss ()
       if (dst.f[i] != res.f[i]) 
        check_fails++;
     }  
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -96,7 +95,7 @@ check_nmaccsd ()
       if (dst.d[i] != res.d[i]) 
        check_fails++;
     }
-  return check_fails++;
+  return check_fails;
 }
 
 static void
@@ -112,7 +111,6 @@ fma4_test (void)
   if (check_nmaccps ()) 
     abort ();
   
-
   for (i = 0; i < NUM; i++)
     dst.x[i] = _mm_nmacc_ss (src1.x[i], src2.x[i], src3.x[i]);
   
@@ -126,12 +124,10 @@ fma4_test (void)
   
   if (check_nmaccpd ()) 
     abort ();
-  
 
   for (i = 0; i < NUM; i++)
     dst.y[i] = _mm_nmacc_sd (src1.y[i], src2.y[i], src3.y[i]);
   
   if (check_nmaccsd ()) 
     abort ();
-
 }
index 85fbecddb3daa71e4af83df649c9ebf4886b74b0..c0bce417e110a838bfa70f1d94d15fc0f1123588 100644 (file)
@@ -55,7 +55,7 @@ check_nmsubps ()
        if (dst.f[i + j] != res.f[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -69,10 +69,9 @@ check_nmsubpd ()
        if (dst.d[i + j] != res.d[i + j]) 
          check_fails++;
       }
-  return check_fails++;
+  return check_fails;
 }
 
-
 static int
 check_nmsubss ()
 {
@@ -83,7 +82,7 @@ check_nmsubss ()
       if (dst.f[i] != res.f[i]) 
        check_fails++;
     }  
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -96,7 +95,7 @@ check_nmsubsd ()
       if (dst.d[i] != res.d[i]) 
        check_fails++;
     }
-  return check_fails++;
+  return check_fails;
 }
 
 static void
@@ -111,7 +110,6 @@ fma4_test (void)
   
   if (check_nmsubps (&dst.x[i], &src1.f[i * 4], &src2.f[i * 4], &src3.f[i * 4])) 
     abort ();
-  
 
   for (i = 0; i < NUM; i++)
     dst.x[i] = _mm_nmsub_ss (src1.x[i], src2.x[i], src3.x[i]);
@@ -126,12 +124,10 @@ fma4_test (void)
   
   if (check_nmsubpd (&dst.y[i], &src1.d[i * 2], &src2.d[i * 2], &src3.d[i * 2])) 
     abort ();
-  
 
   for (i = 0; i < NUM; i++)
     dst.y[i] = _mm_nmsub_sd (src1.y[i], src2.y[i], src3.y[i]);
   
   if (check_nmsubsd (&dst.y[i], &src1.d[i * 2], &src2.d[i * 2], &src3.d[i * 2])) 
     abort ();
-
 }
index 7d3220baffef7c0f832e25ba86396e0f9a3aef4b..68f27528c23fa2a9c956dc7e40a8625bafce8da2 100644 (file)
@@ -34,7 +34,6 @@ init_sword ()
     src1.si[i] = i;
 }
 
-
 static void
 init_sdword ()
 {
@@ -58,6 +57,7 @@ check_sbyte2word ()
            check_fails++;      
        }
     }
+  return check_fails;
 }
 
 static int 
@@ -76,7 +76,7 @@ check_sbyte2dword ()
            check_fails++;
        }
     }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -96,14 +96,14 @@ check_sbyte2qword ()
            check_fails++;
        }
     }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
 check_sword2dword ()
 {
   int i, j, s, t, check_fails = 0;
-  for (i = 0; i < (NUM * 8); i = i + 8)
+  for (i = 0; i < NUM * 8; i = i + 8)
     {
       for (j = 0; j < 4; j++)
        {
@@ -114,6 +114,7 @@ check_sword2dword ()
            check_fails++;      
        }
     }
+  return check_fails;
 }
 
 static int 
@@ -132,14 +133,14 @@ check_sword2qword ()
            check_fails++;
        }
     }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
 check_dword2qword ()
 {
   int i, j, s, t, check_fails = 0;
-  for (i = 0; i < (NUM * 4); i = i + 4)
+  for (i = 0; i < NUM * 4; i = i + 4)
     {
       for (j = 0; j < 2; j++)
        {
@@ -150,6 +151,7 @@ check_dword2qword ()
            check_fails++;      
        }
     }
+  return check_fails;
 }
 
 static void
@@ -163,15 +165,13 @@ xop_test (void)
     dst.x[i] = _mm_haddw_epi8 (src1.x[i]);
   
   if (check_sbyte2word())
-  abort ();
-  
+    abort ();
 
-  for (i = 0; i < (NUM ); i++)
+  for (i = 0; i < NUM; i++)
     dst.x[i] = _mm_haddd_epi8 (src1.x[i]);
   
   if (check_sbyte2dword())
     abort (); 
-  
 
   for (i = 0; i < NUM; i++)
     dst.x[i] = _mm_haddq_epi8 (src1.x[i]);
@@ -179,10 +179,9 @@ xop_test (void)
   if (check_sbyte2qword())
     abort ();
 
-
   init_sword ();
 
-  for (i = 0; i < (NUM ); i++)
+  for (i = 0; i < NUM; i++)
     dst.x[i] = _mm_haddd_epi16 (src1.x[i]);
   
   if (check_sword2dword())
@@ -193,14 +192,12 @@ xop_test (void)
   
   if (check_sword2qword())
     abort ();
 
   init_sdword ();
 
-    for (i = 0; i < NUM; i++)
+  for (i = 0; i < NUM; i++)
     dst.x[i] = _mm_haddq_epi32 (src1.x[i]);
   
   if (check_dword2qword())
     abort ();
-
 }
index 9c7ea9a2a6017f84ca221c345b8f986e3136dec3..06a4a2ec6dfe56b0c16b9bc6752e0b7e486cd441 100644 (file)
@@ -34,7 +34,6 @@ init_word ()
     src1.si[i] = i;
 }
 
-
 static void
 init_dword ()
 {
@@ -58,6 +57,7 @@ check_byte2word ()
            check_fails++;      
        }
     }
+  return check_fails;
 }
 
 static int 
@@ -76,7 +76,7 @@ check_byte2dword ()
            check_fails++;
        }
     }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
@@ -96,14 +96,14 @@ check_byte2qword ()
            check_fails++;
        }
     }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
 check_word2dword ()
 {
   int i, j, s, t, check_fails = 0;
-  for (i = 0; i < (NUM * 8); i = i + 8)
+  for (i = 0; i < NUM * 8; i = i + 8)
     {
       for (j = 0; j < 4; j++)
        {
@@ -114,6 +114,7 @@ check_word2dword ()
            check_fails++;      
        }
     }
+  return check_fails;
 }
 
 static int 
@@ -132,14 +133,14 @@ check_word2qword ()
            check_fails++;
        }
     }
-  return check_fails++;
+  return check_fails;
 }
 
 static int
 check_dword2qword ()
 {
   int i, j, s, t, check_fails = 0;
-  for (i = 0; i < (NUM * 4); i = i + 4)
+  for (i = 0; i < NUM * 4; i = i + 4)
     {
       for (j = 0; j < 2; j++)
        {
@@ -150,6 +151,7 @@ check_dword2qword ()
            check_fails++;      
        }
     }
+  return check_fails;
 }
 
 static void
@@ -167,7 +169,7 @@ xop_test (void)
   abort ();
   
   /* Check haddubd */
-  for (i = 0; i < (NUM ); i++)
+  for (i = 0; i < NUM; i++)
     dst.x[i] = _mm_haddd_epu8 (src1.x[i]);
   
   if (check_byte2dword())
@@ -183,14 +185,13 @@ xop_test (void)
   /* Check hadduwd */
   init_word ();
 
-  for (i = 0; i < (NUM ); i++)
+  for (i = 0; i < NUM; i++)
     dst.x[i] = _mm_haddd_epu16 (src1.x[i]);
   
   if (check_word2dword())
     abort (); 
    
   /* Check haddbuwq */
   for (i = 0; i < NUM; i++)
     dst.x[i] = _mm_haddq_epu16 (src1.x[i]);
   
@@ -199,7 +200,8 @@ xop_test (void)
  
   /* Check hadudq */
   init_dword ();
-    for (i = 0; i < NUM; i++)
+  
+  for (i = 0; i < NUM; i++)
     dst.x[i] = _mm_haddq_epu32 (src1.x[i]);
   
   if (check_dword2qword())
index f0fa9b312f24c9c3a37024a72a961001c531f4e8..e4c4373805fc9ea35bcd5b834d7cd39e80d0d068 100644 (file)
@@ -34,7 +34,6 @@ init_sword ()
     src1.si[i] = i;
 }
 
-
 static void
 init_sdword ()
 {
@@ -58,13 +57,14 @@ check_sbyte2word ()
            check_fails++;      
        }
     }
+  return check_fails;
 }
 
 static int
 check_sword2dword ()
 {
   int i, j, s, t, check_fails = 0;
-  for (i = 0; i < (NUM * 8); i = i + 8)
+  for (i = 0; i < NUM * 8; i = i + 8)
     {
       for (j = 0; j < 4; j++)
        {
@@ -75,13 +75,14 @@ check_sword2dword ()
            check_fails++;      
        }
     }
+  return check_fails;
 }
 
 static int
 check_dword2qword ()
 {
   int i, j, s, t, check_fails = 0;
-  for (i = 0; i < (NUM * 4); i = i + 4)
+  for (i = 0; i < NUM * 4; i = i + 4)
     {
       for (j = 0; j < 2; j++)
        {
@@ -92,6 +93,7 @@ check_dword2qword ()
            check_fails++;      
        }
     }
+  return check_fails;
 }
 
 static void
@@ -106,13 +108,12 @@ xop_test (void)
     dst.x[i] = _mm_hsubw_epi8 (src1.x[i]);
   
   if (check_sbyte2word())
-  abort ();
-  
+    abort ();
 
   /* Check hsubwd */
   init_sword ();
 
-  for (i = 0; i < (NUM ); i++)
+  for (i = 0; i < NUM; i++)
     dst.x[i] = _mm_hsubd_epi16 (src1.x[i]);
   
   if (check_sword2dword())
@@ -120,7 +121,8 @@ xop_test (void)
    
    /* Check hsubdq */
   init_sdword ();
-    for (i = 0; i < NUM; i++)
+
+  for (i = 0; i < NUM; i++)
     dst.x[i] = _mm_hsubq_epi32 (src1.x[i]);
   
   if (check_dword2qword())