The issue in PR112344 is triggered only at -O2, so there is little value in running the test at lower optimization levels. At the same time the generated code at low and code-size optimization levels is taking a long time to execute because it loops a few billion iterations.
On the PRU simulator target the non-optimized test variants take more than 10 minutes, thus failing due to timeout. Even a native x86_64 takes a few seconds to run the non-optimized variants. Let's not waste cycles and run only the test configurations which triggered the issue described in the PR. On native x86_64 Linux: $ time make check-gcc-c -j10 RUNTESTFLAGS="dg-torture.exp=pr112344.c" ------------------------------------------ Time Previously With this patch ------------------------------------------ real 0m4,786s 0m1,694s user 0m7,031s 0m4,013s sys 0m3,300s 0m3,234s With PRU simulator: $ time make -j10 check-gcc-c RUNTESTFLAGS="--target_board=pru-sim dg-torture.exp=pr112344.c" ------------------------------------------ Time Previously With this patch ------------------------------------------ real 11m32,740s 0m1,897s user 11m34,301s 0m4,012s sys 0m2,178s 0m2,133s Ok for trunk? PR middle-end/112344 gcc/testsuite/ChangeLog: * gcc.dg/torture/pr112344.c: Run only for expensive speed optimizations. Signed-off-by: Dimitar Dimitrov <dimi...@dinux.eu> --- gcc/testsuite/gcc.dg/torture/pr112344.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/testsuite/gcc.dg/torture/pr112344.c b/gcc/testsuite/gcc.dg/torture/pr112344.c index c52d2c8304b..abcef51428f 100644 --- a/gcc/testsuite/gcc.dg/torture/pr112344.c +++ b/gcc/testsuite/gcc.dg/torture/pr112344.c @@ -1,6 +1,8 @@ /* { dg-do run } */ /* { dg-require-effective-target int32plus } */ +/* { dg-skip-if "triggered by expensive speed optimizations" { *-*-* } { "-O0" "-O1" "-Os" "-Oz" } { "" } } */ + int main () { -- 2.43.0