1; RUN: opt < %s -passes=loop-vectorize -S 2>&1 | FileCheck %s 2 3%type = type { [3 x double] } 4 5define void @getScalarFunc(double* %A, double* %C, %type* %B) { 6; CHECK-LABEL: getScalarFunc 7; This check will catch also the massv version of the function. 8; CHECK-NOT: call fast <{{[0-9]+}} x double> @{{.*}}atan(<{{[0-9]+}} x double> %{{[0-9]+}}) 9entry: 10 br label %for.body 11 12for.body: 13 %i = phi i64 [ %inc, %for.body ], [ 0, %entry ] 14 %dummyload2 = load double, double* %A, align 8 15 %arrayidx.i24 = getelementptr inbounds %type, %type* %B, i64 %i, i32 0, i32 0 16 %_15 = load double, double* %arrayidx.i24, align 8 17 %call10 = tail call fast double @atan(double %_15) #0 18 %inc = add i64 %i, 1 19 %cmp = icmp ugt i64 1000, %inc 20 br i1 %cmp, label %for.body, label %for.end 21 22for.end: 23 ret void 24} 25 26declare double @atan(double) local_unnamed_addr 27declare <2 x double> @vector_atan(<2 x double>) #0 28attributes #0 = { nounwind readnone "vector-function-abi-variant"="_ZGV_LLVM_N2v_atan(vector_atan)" } 29