diff options
Diffstat (limited to 'llvm/test/Transforms/LoopVectorize/minmax_reduction.ll')
-rw-r--r-- | llvm/test/Transforms/LoopVectorize/minmax_reduction.ll | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/llvm/test/Transforms/LoopVectorize/minmax_reduction.ll b/llvm/test/Transforms/LoopVectorize/minmax_reduction.ll index 502fd8b9383..bade561c9e3 100644 --- a/llvm/test/Transforms/LoopVectorize/minmax_reduction.ll +++ b/llvm/test/Transforms/LoopVectorize/minmax_reduction.ll @@ -10,7 +10,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 ; Turn this into a max reduction. Make sure we use a splat to initialize the ; vector for the reduction. -; CHECK: @max_red +; CHECK-LABEL: @max_red( ; CHECK: %[[VAR:.*]] = insertelement <2 x i32> undef, i32 %max, i32 0 ; CHECK: {{.*}} = shufflevector <2 x i32> %[[VAR]], <2 x i32> undef, <2 x i32> zeroinitializer ; CHECK: icmp sgt <2 x i32> @@ -41,7 +41,7 @@ for.end: ; Turn this into a max reduction. The select has its inputs reversed therefore ; this is a max reduction. -; CHECK: @max_red_inverse_select +; CHECK-LABEL: @max_red_inverse_select( ; CHECK: icmp slt <2 x i32> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -69,7 +69,7 @@ for.end: } ; Turn this into a min reduction. -; CHECK: @min_red +; CHECK-LABEL: @min_red( ; CHECK: icmp slt <2 x i32> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -98,7 +98,7 @@ for.end: ; Turn this into a min reduction. The select has its inputs reversed therefore ; this is a min reduction. -; CHECK: @min_red_inverse_select +; CHECK-LABEL: @min_red_inverse_select( ; CHECK: icmp sgt <2 x i32> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -128,7 +128,7 @@ for.end: ; Unsigned tests. ; Turn this into a max reduction. -; CHECK: @umax_red +; CHECK-LABEL: @umax_red( ; CHECK: icmp ugt <2 x i32> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -157,7 +157,7 @@ for.end: ; Turn this into a max reduction. The select has its inputs reversed therefore ; this is a max reduction. -; CHECK: @umax_red_inverse_select +; CHECK-LABEL: @umax_red_inverse_select( ; CHECK: icmp ult <2 x i32> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -185,7 +185,7 @@ for.end: } ; Turn this into a min reduction. -; CHECK: @umin_red +; CHECK-LABEL: @umin_red( ; CHECK: icmp ult <2 x i32> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -214,7 +214,7 @@ for.end: ; Turn this into a min reduction. The select has its inputs reversed therefore ; this is a min reduction. -; CHECK: @umin_red_inverse_select +; CHECK-LABEL: @umin_red_inverse_select( ; CHECK: icmp ugt <2 x i32> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -243,7 +243,7 @@ for.end: ; SGE -> SLT ; Turn this into a min reduction (select inputs are reversed). -; CHECK: @sge_min_red +; CHECK-LABEL: @sge_min_red( ; CHECK: icmp sge <2 x i32> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -272,7 +272,7 @@ for.end: ; SLE -> SGT ; Turn this into a max reduction (select inputs are reversed). -; CHECK: @sle_min_red +; CHECK-LABEL: @sle_min_red( ; CHECK: icmp sle <2 x i32> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -301,7 +301,7 @@ for.end: ; UGE -> ULT ; Turn this into a min reduction (select inputs are reversed). -; CHECK: @uge_min_red +; CHECK-LABEL: @uge_min_red( ; CHECK: icmp uge <2 x i32> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -330,7 +330,7 @@ for.end: ; ULE -> UGT ; Turn this into a max reduction (select inputs are reversed). -; CHECK: @ule_min_red +; CHECK-LABEL: @ule_min_red( ; CHECK: icmp ule <2 x i32> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -358,7 +358,7 @@ for.end: } ; No reduction. -; CHECK: @no_red_1 +; CHECK-LABEL: @no_red_1( ; CHECK-NOT: icmp <2 x i32> define i32 @no_red_1(i32 %max) { entry: @@ -382,7 +382,7 @@ for.end: ret i32 %max.red.0 } -; CHECK: @no_red_2 +; CHECK-LABEL: @no_red_2( ; CHECK-NOT: icmp <2 x i32> define i32 @no_red_2(i32 %max) { entry: @@ -411,7 +411,7 @@ for.end: ; Maximum. ; Turn this into a max reduction in the presence of a no-nans-fp-math attribute. -; CHECK: @max_red_float +; CHECK-LABEL: @max_red_float( ; CHECK: fcmp ogt <2 x float> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -437,7 +437,7 @@ for.end: ret float %max.red.0 } -; CHECK: @max_red_float_ge +; CHECK-LABEL: @max_red_float_ge( ; CHECK: fcmp oge <2 x float> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -463,7 +463,7 @@ for.end: ret float %max.red.0 } -; CHECK: @inverted_max_red_float +; CHECK-LABEL: @inverted_max_red_float( ; CHECK: fcmp olt <2 x float> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -489,7 +489,7 @@ for.end: ret float %max.red.0 } -; CHECK: @inverted_max_red_float_le +; CHECK-LABEL: @inverted_max_red_float_le( ; CHECK: fcmp ole <2 x float> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -541,7 +541,7 @@ for.end: ret float %max.red.0 } -; CHECK: @unordered_max_red_float_ge +; CHECK-LABEL: @unordered_max_red_float_ge( ; CHECK: fcmp uge <2 x float> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -593,7 +593,7 @@ for.end: ret float %max.red.0 } -; CHECK: @inverted_unordered_max_red_float_le +; CHECK-LABEL: @inverted_unordered_max_red_float_le( ; CHECK: fcmp ule <2 x float> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -622,7 +622,7 @@ for.end: ; Minimum. ; Turn this into a min reduction in the presence of a no-nans-fp-math attribute. -; CHECK: @min_red_float +; CHECK-LABEL: @min_red_float( ; CHECK: fcmp olt <2 x float> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -648,7 +648,7 @@ for.end: ret float %min.red.0 } -; CHECK: @min_red_float_le +; CHECK-LABEL: @min_red_float_le( ; CHECK: fcmp ole <2 x float> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -674,7 +674,7 @@ for.end: ret float %min.red.0 } -; CHECK: @inverted_min_red_float +; CHECK-LABEL: @inverted_min_red_float( ; CHECK: fcmp ogt <2 x float> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -700,7 +700,7 @@ for.end: ret float %min.red.0 } -; CHECK: @inverted_min_red_float_ge +; CHECK-LABEL: @inverted_min_red_float_ge( ; CHECK: fcmp oge <2 x float> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -752,7 +752,7 @@ for.end: ret float %min.red.0 } -; CHECK: @unordered_min_red_float_le +; CHECK-LABEL: @unordered_min_red_float_le( ; CHECK: fcmp ule <2 x float> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -804,7 +804,7 @@ for.end: ret float %min.red.0 } -; CHECK: @inverted_unordered_min_red_float_ge +; CHECK-LABEL: @inverted_unordered_min_red_float_ge( ; CHECK: fcmp uge <2 x float> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -831,7 +831,7 @@ for.end: } ; Make sure we handle doubles, too. -; CHECK: @min_red_double +; CHECK-LABEL: @min_red_double( ; CHECK: fcmp olt <2 x double> ; CHECK: select <2 x i1> ; CHECK: middle.block @@ -859,7 +859,7 @@ for.end: ; Don't this into a max reduction. The no-nans-fp-math attribute is missing -; CHECK: @max_red_float_nans +; CHECK-LABEL: @max_red_float_nans( ; CHECK-NOT: <2 x float> define float @max_red_float_nans(float %max) { |