1 // RUN: %clang_cc1 -triple x86_64 -target-cpu x86-64 -S -O1 -vectorize-loops -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK-ENABLE-VECT
2 // RUN: %clang_cc1 -triple x86_64 -target-cpu x86-64 -S -O1 -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK-DISABLE-VECT
3 // RUN: %clang_cc1 -triple x86_64 -target-cpu x86-64 -fexperimental-new-pass-manager -S -O1 -vectorize-loops -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK-ENABLE-VECT
4 // RUN: %clang_cc1 -triple x86_64 -target-cpu x86-64 -fexperimental-new-pass-manager -S -O1 -emit-llvm -o - %s | FileCheck %s -check-prefix=CHECK-DISABLE-VECT
5 // REQUIRES: x86-registered-target
6 
7 // CHECK-ENABLE-VECT-LABEL: @for_test()
8 // CHECK-ENABLE-VECT: fmul <{{[0-9]+}} x double>
9 
10 // CHECK-DISABLE-VECT-LABEL: @for_test()
11 // CHECK-DISABLE-VECT: fmul double
12 // CHECK-DISABLE-VECT-NOT: fmul <{{[0-9]+}} x double>
13 
14 int printf(const char * restrict format, ...);
15 
16 void for_test() {
17   double A[1000], B[1000];
18   int L = 500;
19   for (int i = 0; i < L; i++) {
20     A[i] = i;
21   }
22   for (int i = 0; i < L; i++) {
23     B[i] = A[i]*5;
24   }
25   printf("%lf %lf\n", A[0], B[0]);
26 }
27