From: Philip Reames Date: Mon, 22 Apr 2019 18:51:58 +0000 (+0000) Subject: [Tests] Revise a test as requested by reviewer in D59703 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fe022fd6209a9f7bad0d64ac792e72b32a63319e;p=llvm [Tests] Revise a test as requested by reviewer in D59703 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358907 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Transforms/InstCombine/masked_intrinsics.ll b/test/Transforms/InstCombine/masked_intrinsics.ll index 66f04a17682..d71402e1192 100644 --- a/test/Transforms/InstCombine/masked_intrinsics.ll +++ b/test/Transforms/InstCombine/masked_intrinsics.ll @@ -4,7 +4,7 @@ declare <2 x double> @llvm.masked.load.v2f64.p0v2f64(<2 x double>* %ptrs, i32, <2 x i1> %mask, <2 x double> %src0) declare void @llvm.masked.store.v2f64.p0v2f64(<2 x double> %val, <2 x double>* %ptrs, i32, <2 x i1> %mask) declare <2 x double> @llvm.masked.gather.v2f64.v2p0f64(<2 x double*> %ptrs, i32, <2 x i1> %mask, <2 x double> %passthru) -declare <4 x double> @llvm.masked.gather.v4f64.p0v4f64(<4 x double*> %ptrs, i32, <4 x i1> %mask, <4 x double> %passthru) +declare <4 x double> @llvm.masked.gather.v4f64.v4p0f64(<4 x double*> %ptrs, i32, <4 x i1> %mask, <4 x double> %passthru) declare void @llvm.masked.scatter.v2f64.v2p0f64(<2 x double> %val, <2 x double*> %ptrs, i32, <2 x i1> %mask) define <2 x double> @load_zeromask(<2 x double>* %ptr, <2 x double> %passthru) { @@ -64,7 +64,7 @@ define double @load_all(double* %base, double %pt) { ; CHECK-NEXT: ret double [[ELT]] ; %ptrs = getelementptr double, double* %base, <4 x i64> - %res = call <4 x double> @llvm.masked.gather.v4f64.p0v4f64(<4 x double*> %ptrs, i32 4, <4 x i1> , <4 x double> undef) + %res = call <4 x double> @llvm.masked.gather.v4f64.v4p0f64(<4 x double*> %ptrs, i32 4, <4 x i1> , <4 x double> undef) %elt = extractelement <4 x double> %res, i64 2 ret double %elt } @@ -201,18 +201,19 @@ define <2 x double> @gather_onemask(<2 x double*> %ptrs, <2 x double> %passthru) ret <2 x double> %res } -define <2 x double> @gather_lane0(double* %base, double %pt) { -; CHECK-LABEL: @gather_lane0( -; CHECK-NEXT: [[PTRS:%.*]] = getelementptr double, double* [[BASE:%.*]], <2 x i64> -; CHECK-NEXT: [[PT_V2:%.*]] = insertelement <2 x double> undef, double [[PT:%.*]], i64 1 -; CHECK-NEXT: [[RES:%.*]] = call <2 x double> @llvm.masked.gather.v2f64.v2p0f64(<2 x double*> [[PTRS]], i32 4, <2 x i1> , <2 x double> [[PT_V2]]) -; CHECK-NEXT: ret <2 x double> [[RES]] +define <4 x double> @gather_lane2(double* %base, double %pt) { +; CHECK-LABEL: @gather_lane2( +; CHECK-NEXT: [[PTRS:%.*]] = getelementptr double, double* [[BASE:%.*]], <4 x i64> +; CHECK-NEXT: [[PT_V1:%.*]] = insertelement <4 x double> undef, double [[PT:%.*]], i64 0 +; CHECK-NEXT: [[PT_V2:%.*]] = shufflevector <4 x double> [[PT_V1]], <4 x double> undef, <4 x i32> +; CHECK-NEXT: [[RES:%.*]] = call <4 x double> @llvm.masked.gather.v4f64.v4p0f64(<4 x double*> [[PTRS]], i32 4, <4 x i1> , <4 x double> [[PT_V2]]) +; CHECK-NEXT: ret <4 x double> [[RES]] ; - %ptrs = getelementptr double, double *%base, <2 x i64> - %pt_v1 = insertelement <2 x double> undef, double %pt, i64 0 - %pt_v2 = insertelement <2 x double> %pt_v1, double %pt, i64 1 - %res = call <2 x double> @llvm.masked.gather.v2f64.v2p0f64(<2 x double*> %ptrs, i32 4, <2 x i1> , <2 x double> %pt_v2) - ret <2 x double> %res + %ptrs = getelementptr double, double *%base, <4 x i64> + %pt_v1 = insertelement <4 x double> undef, double %pt, i64 0 + %pt_v2 = shufflevector <4 x double> %pt_v1, <4 x double> undef, <4 x i32> zeroinitializer + %res = call <4 x double> @llvm.masked.gather.v4f64.v4p0f64(<4 x double*> %ptrs, i32 4, <4 x i1> , <4 x double> %pt_v2) + ret <4 x double> %res } define <2 x double> @gather_lane0_maybe(double* %base, double %pt,