diff --git a/gcc/testsuite/gcc.dg/pr121656.c b/gcc/testsuite/gcc.dg/pr121656.c deleted file mode 100644 index 00b89418a31..00000000000 --- a/gcc/testsuite/gcc.dg/pr121656.c +++ /dev/null @@ -1,21 +0,0 @@ -/* { dg-do run } */ -/* { dg-options "-O1" } */ - -__attribute__ ((weak)) -void -foo (int b) -{ - if (b != 3) - __builtin_abort (); -} - -int a; -int -main () -{ - int b = 0; - if (a >= 0) - b += 3; - foo (b); - return 0; -} diff --git a/gcc/testsuite/gcc.dg/torture/pr121656.c b/gcc/testsuite/gcc.dg/torture/pr121656.c new file mode 100644 index 00000000000..343d414b292 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr121656.c @@ -0,0 +1,30 @@ +/* { dg-do run } */ + +/* This test fails to run at -O1 and above. This is caused by + + ebbeaf490c5 [PR rtl-optimization/120553] Improve selecting between constants based on sign bit test + + and has been fixed by + + 56ca14c4c4f Fix invalid right shift count with recent ifcvt changes + + */ + +__attribute__ ((noipa)) +void +foo (int b) +{ + if (b != 3) + __builtin_abort (); +} + +int a; +int +main () +{ + int b = 0; + if (a >= 0) + b += 3; + foo (b); + return 0; +}