// RUN: %clang -O1 -fvectorize -target x86_64-unknown-unknown -emit-llvm -Rpass-analysis -S %s -o - 2>&1 | FileCheck %s --check-prefix=RPASS
// RUN: %clang -O1 -fvectorize -target x86_64-unknown-unknown -emit-llvm -S %s -o - 2>&1 | FileCheck %s

// RPASS: {{.*}}:7:8: remark: loop not vectorized: loop contains a switch statement
// CHECK-NOT: {{.*}}:7:8: remark: loop not vectorized: loop contains a switch statement

double foo(int N, int *Array) {
  double v = 0.0;

  #pragma clang loop vectorize(enable)
  for (int i = 0; i < N; i++) {
    switch(Array[i]) {
    case 0: v += 1.0f; break;
    case 1: v -= 0.5f; break;
    case 2: v *= 2.0f; break;
    default: v = 0.0f;
    }
  }

  return v;
}
