From 2aec4088835ae5996ef818b326a0ff133307dbc5 Mon Sep 17 00:00:00 2001 From: Andrew Carlotti Date: Mon, 7 Nov 2022 14:35:08 +0000 Subject: [PATCH] Modify test, to prevent the next patch breaking it The upcoming c[lt]z idiom recognition patch eliminates the need for a brute force computation of the iteration count of these loops. The test is intended to verify that ivcanon can determine the loop count when the condition is given by a chain of constant computations. We replace the constant operations with a more complicated chain that should resist future idiom recognition. gcc/testsuite/ChangeLog: * gcc.dg/pr77975.c: Make tests more robust. --- gcc/testsuite/gcc.dg/pr77975.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gcc/testsuite/gcc.dg/pr77975.c b/gcc/testsuite/gcc.dg/pr77975.c index 148cebd..a187ce2 100644 --- a/gcc/testsuite/gcc.dg/pr77975.c +++ b/gcc/testsuite/gcc.dg/pr77975.c @@ -7,10 +7,11 @@ unsigned int foo (unsigned int *b) { - unsigned int a = 3; + unsigned int a = 8; while (a) { - a >>= 1; + a += 5; + a &= 44; *b += a; } return a; @@ -21,10 +22,11 @@ foo (unsigned int *b) unsigned int bar (unsigned int *b) { - unsigned int a = 7; + unsigned int a = 3; while (a) { - a >>= 1; + a += 5; + a &= 44; *b += a; } return a; -- 2.7.4