29 lines · plain
1; RUN: opt < %s -passes=loop-vectorize -S 2>&1 | FileCheck %s2 3%type = type { [3 x double] }4 5define void @getScalarFunc(ptr %A, ptr %C, ptr %B) {6; CHECK-LABEL: getScalarFunc7; 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.body11 12for.body: 13 %i = phi i64 [ %inc, %for.body ], [ 0, %entry ]14 %dummyload2 = load double, ptr %A, align 815 %arrayidx.i24 = getelementptr inbounds %type, ptr %B, i64 %i, i32 0, i32 016 %_15 = load double, ptr %arrayidx.i24, align 817 %call10 = tail call fast double @atan(double %_15) #018 %inc = add i64 %i, 119 %cmp = icmp ugt i64 1000, %inc20 br i1 %cmp, label %for.body, label %for.end21 22for.end: 23 ret void24}25 26declare double @atan(double) local_unnamed_addr27declare <2 x double> @vector_atan(<2 x double>) #028attributes #0 = { nounwind readnone "vector-function-abi-variant"="_ZGV_LLVM_N2v_atan(vector_atan)" }29