1 // RUN: %clang_cc1 -triple x86_64-unknown-unknown %s -O3 -emit-llvm -S -verify -o /dev/null 2 // REQUIRES: x86-registered-target 3 4 // Test verifies optimization failures generated by the backend are handled 5 // correctly by clang. LLVM tests verify all of the failure conditions. 6 7 void test_switch(int *A, int *B, int Length) { 8 #pragma clang loop vectorize(enable) unroll(disable) 9 for (int i = 0; i < Length; i++) { 10 switch (A[i]) { 11 case 0: 12 B[i] = 1; 13 break; 14 case 1: 15 B[i] = 2; 16 break; 17 default: 18 B[i] = 3; 19 } 20 } 21 /* expected-warning {{loop not vectorized: failed explicitly specified loop vectorization}} */ } 22