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