1 /* PR tree-optimization/84436 */ 2 /* { dg-options "-O2 -fdump-tree-switchconv -fdump-tree-optimized" } */ 3 /* { dg-do run } */ 4 5 signed char 6 __attribute__ ((noipa)) foo(signed char how)7foo (signed char how) 8 { 9 switch (how) { 10 case -4: how = 96; break; 11 case -3: how = -120; break; 12 case -2: how = -80; break; 13 case -1: how = -40; break; 14 case 0: how = 0; break; 15 case 1: how = 40; break; 16 } 17 return how; 18 } 19 main()20int main() 21 { 22 if (foo (-4) != 96) 23 __builtin_abort (); 24 25 if (foo (-3) != -120) 26 __builtin_abort (); 27 28 if (foo (0) != 0) 29 __builtin_abort (); 30 31 if (foo (123) != 123) 32 __builtin_abort (); 33 34 return 0; 35 } 36 37 /* { dg-final { scan-tree-dump-times "40 *\\*" 1 "switchconv" } } */ 38 /* { dg-final { scan-tree-dump-not "switch" "optimized" } } */ 39