Lines Matching refs:SVE
5 …-over-epilogue=scalar-epilogue -scalable-vectorization=on -S -o - | FileCheck --check-prefix=SVE %s
42 ; SVE-LABEL: @test(
43 ; SVE-NEXT: entry:
44 ; SVE-NEXT: [[CMP6:%.*]] = icmp sgt i32 [[SIZE:%.*]], 0
45 ; SVE-NEXT: br i1 [[CMP6]], label [[FOR_BODY_PREHEADER:%.*]], label [[FOR_COND_CLEANUP:%.*]]
46 ; SVE: for.body.preheader:
47 ; SVE-NEXT: [[WIDE_TRIP_COUNT:%.*]] = zext i32 [[SIZE]] to i64
48 ; SVE-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
49 ; SVE-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
50 ; SVE-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i64 [[WIDE_TRIP_COUNT]], [[TMP1]]
51 ; SVE-NEXT: br i1 [[MIN_ITERS_CHECK]], label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
52 ; SVE: vector.ph:
53 ; SVE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
54 ; SVE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
55 ; SVE-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[WIDE_TRIP_COUNT]], [[TMP3]]
56 ; SVE-NEXT: [[N_VEC:%.*]] = sub i64 [[WIDE_TRIP_COUNT]], [[N_MOD_VF]]
57 ; SVE-NEXT: br label [[VECTOR_BODY:%.*]]
58 ; SVE: vector.body:
59 ; SVE-NEXT: [[INDEX:%.*]] = phi i64 [ 0, [[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ]
60 ; SVE-NEXT: [[VEC_PHI:%.*]] = phi <vscale x 2 x double> [ insertelement (<vscale x 2 x double> s…
61 ; SVE-NEXT: [[TMP4:%.*]] = add i64 [[INDEX]], 0
62 ; SVE-NEXT: [[TMP5:%.*]] = getelementptr inbounds i32, ptr [[OFFSET:%.*]], i64 [[TMP4]]
63 ; SVE-NEXT: [[TMP6:%.*]] = getelementptr inbounds i32, ptr [[TMP5]], i32 0
64 ; SVE-NEXT: [[WIDE_LOAD:%.*]] = load <vscale x 2 x i32>, ptr [[TMP6]], align 4
65 ; SVE-NEXT: [[TMP7:%.*]] = sext <vscale x 2 x i32> [[WIDE_LOAD]] to <vscale x 2 x i64>
66 ; SVE-NEXT: [[TMP8:%.*]] = getelementptr inbounds double, ptr [[DATA:%.*]], <vscale x 2 x i64> […
67 ; SVE-NEXT: [[WIDE_MASKED_GATHER:%.*]] = call <vscale x 2 x double> @llvm.masked.gather.nxv2f64.…
68 ; SVE-NEXT: [[TMP9]] = fadd <vscale x 2 x double> [[VEC_PHI]], [[WIDE_MASKED_GATHER]]
69 ; SVE-NEXT: [[TMP10:%.*]] = call i64 @llvm.vscale.i64()
70 ; SVE-NEXT: [[TMP11:%.*]] = mul i64 [[TMP10]], 2
71 ; SVE-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], [[TMP11]]
72 ; SVE-NEXT: [[TMP12:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
73 ; SVE-NEXT: br i1 [[TMP12]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOO…