[gcc r12-6430] testsuite: Fix regression on m32 by r12-6087 [PR103820]

Xiong Hu Luo luoxhu@gcc.gnu.org
Tue Jan 11 08:24:53 GMT 2022


https://gcc.gnu.org/g:0552605b7b27dc6beed62e71bd05bc1efd191c0d

commit r12-6430-g0552605b7b27dc6beed62e71bd05bc1efd191c0d
Author: Xionghu Luo <luoxhu@linux.ibm.com>
Date:   Mon Jan 10 20:05:56 2022 -0600

    testsuite: Fix regression on m32 by r12-6087 [PR103820]
    
    r12-6087 will avoid move cold bb out of hot loop, while the original
    intent of this testcase is to hoist divides out of loop and CSE them to
    only one divide.  So increase the loop count to turn the cold bb to hot
    bb again.  Then the 3 divides could be rewritten with same reciptmp.
    
    Tested pass on Power-Linux {32,64}, x86 {64,32} and i686-linux.
    
    gcc/testsuite/ChangeLog:
    
            PR testsuite/103820
            * gcc.dg/tree-ssa/recip-3.c: Adjust.

Diff:
---
 gcc/testsuite/gcc.dg/tree-ssa/recip-3.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/tree-ssa/recip-3.c b/gcc/testsuite/gcc.dg/tree-ssa/recip-3.c
index 641c91e719e..410b28044b4 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/recip-3.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/recip-3.c
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fno-trapping-math -funsafe-math-optimizations -fdump-tree-recip" } */
 
-double F[2] = { 0.0, 0.0 }, e;
+double F[5] = { 0.0, 0.0 }, e;
 
 /* In this case the optimization is interesting.  */
 float h ()
@@ -13,7 +13,7 @@ float h ()
 	d = 2.*e;
 	E = 1. - d;
 
-	for( i=0; i < 2; i++ )
+	for( i=0; i < 5; i++ )
 		if( d > 0.01 )
 		{
 			P = ( W < E ) ? (W - E)/d : (E - W)/d;
@@ -23,4 +23,4 @@ float h ()
 	F[0] += E / d;
 }
 
-/* { dg-final { scan-tree-dump-times " / " 5 "recip" } } */
+/* { dg-final { scan-tree-dump-times " / " 1 "recip" } } */


More information about the Gcc-cvs mailing list