Analysis shows that after the CD-DCE change we produce better code which makes if-to-switch run into case-values-threshold on some architectures, thus the switch is deemed to simple to be worth generating. The following statically provides --param case-values-threshold to make the testcase less target dependent.
Tested on x86_64-unknown-linux-gnu, pushed. 2021-11-18 Richard Biener <rguent...@suse.de> PR testsuite/103278 * gcc.dg/tree-ssa/if-to-switch-3.c: Supply --param case-values-threshold=4. --- gcc/testsuite/gcc.dg/tree-ssa/if-to-switch-3.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.dg/tree-ssa/if-to-switch-3.c b/gcc/testsuite/gcc.dg/tree-ssa/if-to-switch-3.c index 707e6304892..a55231b3341 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/if-to-switch-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/if-to-switch-3.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-iftoswitch-optimized" } */ +/* Supplying case-values-threshold makes the testcase less target dependent. */ +/* { dg-options "-O2 -fdump-tree-iftoswitch-optimized --param case-values-threshold=4" } */ int IsMySuperRandomChar(int aChar) { -- 2.31.1