/* PR rtl-optimization/18861 */
/* { dg-do compile } */
/* { dg-options "-O2" } */

extern void abort (void);

int
foo (int code)
{
  if (code >= 3)
    switch (code)
      {
      case 3: return 4;
      case 4: return 3;
      case 5: return 6;
      case 6: return 7;
      case 7: return 8;
      case 8: return 5;
      default: abort ();
      }
  switch (code)
    {
    case 3: return 4;
    case 4: return 3;
    case 5: return 6;
    case 6: return 7;
    case 7: return 8;
    case 8: return 5;
    default: abort ();
    }
}
