https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116683
--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Alex Coplan <acop...@gcc.gnu.org>: https://gcc.gnu.org/g:7faadb1f261c6b8ef988c400c39ec7df09839dbe commit r15-4106-g7faadb1f261c6b8ef988c400c39ec7df09839dbe Author: Alex Coplan <alex.cop...@arm.com> Date: Thu Sep 26 16:36:48 2024 +0100 testsuite: Prevent unrolling of main in LTO test [PR116683] In r15-3585-g9759f6299d9633cabac540e5c893341c708093ac I added a test which started failing on PowerPC. The test checks that we unroll exactly one loop three times with the following: // { dg-final { scan-ltrans-rtl-dump-times "Unrolled loop 3 times" 1 "loop2_unroll" } } which passes on most targets. However, on PowerPC, the loop in main gets unrolled too, causing the scan-ltrans-rtl-dump-times check to fail as the statement now appears twice in the dump. I think the extra unrolling is due to different unrolling heuristics in the rs6000 port. This patch therefore explicitly tries to block the unrolling in main with an appropriate #pragma. gcc/testsuite/ChangeLog: PR testsuite/116683 * g++.dg/ext/pragma-unroll-lambda-lto.C (main): Add #pragma to prevent unrolling of the setup loop.