diff --git a/llvm/test/Transforms/InstCombine/X86/x86-avx2.ll b/llvm/test/Transforms/InstCombine/X86/x86-avx2.ll index f4045f788e2d..944b8b9b1521 100644 --- a/llvm/test/Transforms/InstCombine/X86/x86-avx2.ll +++ b/llvm/test/Transforms/InstCombine/X86/x86-avx2.ll @@ -6,7 +6,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" define <8 x i32> @identity_test_vpermd(<8 x i32> %a0) { ; CHECK-LABEL: @identity_test_vpermd( -; CHECK-NEXT: ret <8 x i32> %a0 +; CHECK-NEXT: ret <8 x i32> [[A0:%.*]] ; %a = tail call <8 x i32> @llvm.x86.avx2.permd(<8 x i32> %a0, <8 x i32> ) ret <8 x i32> %a @@ -14,7 +14,7 @@ define <8 x i32> @identity_test_vpermd(<8 x i32> %a0) { define <8 x float> @identity_test_vpermps(<8 x float> %a0) { ; CHECK-LABEL: @identity_test_vpermps( -; CHECK-NEXT: ret <8 x float> %a0 +; CHECK-NEXT: ret <8 x float> [[A0:%.*]] ; %a = tail call <8 x float> @llvm.x86.avx2.permps(<8 x float> %a0, <8 x i32> ) ret <8 x float> %a @@ -25,7 +25,7 @@ define <8 x float> @identity_test_vpermps(<8 x float> %a0) { define <8 x i32> @zero_test_vpermd(<8 x i32> %a0) { ; CHECK-LABEL: @zero_test_vpermd( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x i32> %a0, <8 x i32> undef, <8 x i32> zeroinitializer +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x i32> [[A0:%.*]], <8 x i32> undef, <8 x i32> zeroinitializer ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %a = tail call <8 x i32> @llvm.x86.avx2.permd(<8 x i32> %a0, <8 x i32> zeroinitializer) @@ -34,7 +34,7 @@ define <8 x i32> @zero_test_vpermd(<8 x i32> %a0) { define <8 x float> @zero_test_vpermps(<8 x float> %a0) { ; CHECK-LABEL: @zero_test_vpermps( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> %a0, <8 x float> undef, <8 x i32> zeroinitializer +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> [[A0:%.*]], <8 x float> undef, <8 x i32> zeroinitializer ; CHECK-NEXT: ret <8 x float> [[TMP1]] ; %a = tail call <8 x float> @llvm.x86.avx2.permps(<8 x float> %a0, <8 x i32> zeroinitializer) @@ -45,7 +45,7 @@ define <8 x float> @zero_test_vpermps(<8 x float> %a0) { define <8 x i32> @shuffle_test_vpermd(<8 x i32> %a0) { ; CHECK-LABEL: @shuffle_test_vpermd( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x i32> %a0, <8 x i32> undef, <8 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x i32> [[A0:%.*]], <8 x i32> undef, <8 x i32> ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %a = tail call <8 x i32> @llvm.x86.avx2.permd(<8 x i32> %a0, <8 x i32> ) @@ -54,7 +54,7 @@ define <8 x i32> @shuffle_test_vpermd(<8 x i32> %a0) { define <8 x float> @shuffle_test_vpermps(<8 x float> %a0) { ; CHECK-LABEL: @shuffle_test_vpermps( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> %a0, <8 x float> undef, <8 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> [[A0:%.*]], <8 x float> undef, <8 x i32> ; CHECK-NEXT: ret <8 x float> [[TMP1]] ; %a = tail call <8 x float> @llvm.x86.avx2.permps(<8 x float> %a0, <8 x i32> ) @@ -65,7 +65,7 @@ define <8 x float> @shuffle_test_vpermps(<8 x float> %a0) { define <8 x i32> @undef_test_vpermd(<8 x i32> %a0) { ; CHECK-LABEL: @undef_test_vpermd( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x i32> %a0, <8 x i32> undef, <8 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x i32> [[A0:%.*]], <8 x i32> undef, <8 x i32> ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %a = tail call <8 x i32> @llvm.x86.avx2.permd(<8 x i32> %a0, <8 x i32> ) @@ -74,7 +74,7 @@ define <8 x i32> @undef_test_vpermd(<8 x i32> %a0) { define <8 x float> @undef_test_vpermps(<8 x float> %a0) { ; CHECK-LABEL: @undef_test_vpermps( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> %a0, <8 x float> undef, <8 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> [[A0:%.*]], <8 x float> undef, <8 x i32> ; CHECK-NEXT: ret <8 x float> [[TMP1]] ; %a = tail call <8 x float> @llvm.x86.avx2.permps(<8 x float> %a0, <8 x i32> ) @@ -85,7 +85,7 @@ define <8 x float> @undef_test_vpermps(<8 x float> %a0) { define <8 x i32> @elts_test_vpermd(<8 x i32> %a0, i32 %a1) { ; CHECK-LABEL: @elts_test_vpermd( -; CHECK-NEXT: ret <8 x i32> %a0 +; CHECK-NEXT: ret <8 x i32> [[A0:%.*]] ; %1 = insertelement <8 x i32> , i32 %a1, i32 0 %2 = tail call <8 x i32> @llvm.x86.avx2.permd(<8 x i32> %a0, <8 x i32> %1) @@ -95,7 +95,7 @@ define <8 x i32> @elts_test_vpermd(<8 x i32> %a0, i32 %a1) { define <8 x float> @elts_test_vpermps(<8 x float> %a0, <8 x i32> %a1) { ; CHECK-LABEL: @elts_test_vpermps( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x float> @llvm.x86.avx2.permps(<8 x float> %a0, <8 x i32> %a1) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x float> @llvm.x86.avx2.permps(<8 x float> [[A0:%.*]], <8 x i32> [[A1:%.*]]) ; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <8 x float> [[TMP1]], <8 x float> undef, <8 x i32> zeroinitializer ; CHECK-NEXT: ret <8 x float> [[TMP2]] ; diff --git a/llvm/test/Transforms/InstCombine/X86/x86-avx512.ll b/llvm/test/Transforms/InstCombine/X86/x86-avx512.ll index 8491dec37a0d..83126449bcae 100644 --- a/llvm/test/Transforms/InstCombine/X86/x86-avx512.ll +++ b/llvm/test/Transforms/InstCombine/X86/x86-avx512.ll @@ -759,72 +759,72 @@ define i8 @test_cmp_sd(<2 x double> %a, <2 x double> %b, i8 %mask) { define i64 @test(float %f, double %d) { ; CHECK-LABEL: @test( ; CHECK-NEXT: [[V03:%.*]] = insertelement <4 x float> undef, float [[F:%.*]], i32 0 -; CHECK-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.x86.avx512.vcvtss2si32(<4 x float> [[V03]], i32 4) +; CHECK-NEXT: [[T0:%.*]] = tail call i32 @llvm.x86.avx512.vcvtss2si32(<4 x float> [[V03]], i32 4) ; CHECK-NEXT: [[V13:%.*]] = insertelement <4 x float> undef, float [[F]], i32 0 -; CHECK-NEXT: [[TMP1:%.*]] = tail call i64 @llvm.x86.avx512.vcvtss2si64(<4 x float> [[V13]], i32 4) +; CHECK-NEXT: [[T1:%.*]] = tail call i64 @llvm.x86.avx512.vcvtss2si64(<4 x float> [[V13]], i32 4) ; CHECK-NEXT: [[V23:%.*]] = insertelement <4 x float> undef, float [[F]], i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = tail call i32 @llvm.x86.avx512.cvttss2si(<4 x float> [[V23]], i32 4) +; CHECK-NEXT: [[T2:%.*]] = tail call i32 @llvm.x86.avx512.cvttss2si(<4 x float> [[V23]], i32 4) ; CHECK-NEXT: [[V33:%.*]] = insertelement <4 x float> undef, float [[F]], i32 0 -; CHECK-NEXT: [[TMP3:%.*]] = tail call i64 @llvm.x86.avx512.cvttss2si64(<4 x float> [[V33]], i32 4) +; CHECK-NEXT: [[T3:%.*]] = tail call i64 @llvm.x86.avx512.cvttss2si64(<4 x float> [[V33]], i32 4) ; CHECK-NEXT: [[V41:%.*]] = insertelement <2 x double> undef, double [[D:%.*]], i32 0 -; CHECK-NEXT: [[TMP4:%.*]] = tail call i32 @llvm.x86.avx512.vcvtsd2si32(<2 x double> [[V41]], i32 4) +; CHECK-NEXT: [[T4:%.*]] = tail call i32 @llvm.x86.avx512.vcvtsd2si32(<2 x double> [[V41]], i32 4) ; CHECK-NEXT: [[V51:%.*]] = insertelement <2 x double> undef, double [[D]], i32 0 -; CHECK-NEXT: [[TMP5:%.*]] = tail call i64 @llvm.x86.avx512.vcvtsd2si64(<2 x double> [[V51]], i32 4) +; CHECK-NEXT: [[T5:%.*]] = tail call i64 @llvm.x86.avx512.vcvtsd2si64(<2 x double> [[V51]], i32 4) ; CHECK-NEXT: [[V61:%.*]] = insertelement <2 x double> undef, double [[D]], i32 0 -; CHECK-NEXT: [[TMP6:%.*]] = tail call i32 @llvm.x86.avx512.cvttsd2si(<2 x double> [[V61]], i32 4) +; CHECK-NEXT: [[T6:%.*]] = tail call i32 @llvm.x86.avx512.cvttsd2si(<2 x double> [[V61]], i32 4) ; CHECK-NEXT: [[V71:%.*]] = insertelement <2 x double> undef, double [[D]], i32 0 -; CHECK-NEXT: [[TMP7:%.*]] = tail call i64 @llvm.x86.avx512.cvttsd2si64(<2 x double> [[V71]], i32 4) -; CHECK-NEXT: [[TMP8:%.*]] = add i32 [[TMP0]], [[TMP2]] -; CHECK-NEXT: [[TMP9:%.*]] = add i32 [[TMP4]], [[TMP6]] -; CHECK-NEXT: [[TMP10:%.*]] = add i32 [[TMP8]], [[TMP9]] -; CHECK-NEXT: [[TMP11:%.*]] = sext i32 [[TMP10]] to i64 -; CHECK-NEXT: [[TMP12:%.*]] = add i64 [[TMP1]], [[TMP3]] -; CHECK-NEXT: [[TMP13:%.*]] = add i64 [[TMP5]], [[TMP7]] -; CHECK-NEXT: [[TMP14:%.*]] = add i64 [[TMP12]], [[TMP13]] -; CHECK-NEXT: [[TMP15:%.*]] = add i64 [[TMP14]], [[TMP11]] -; CHECK-NEXT: ret i64 [[TMP15]] +; CHECK-NEXT: [[T7:%.*]] = tail call i64 @llvm.x86.avx512.cvttsd2si64(<2 x double> [[V71]], i32 4) +; CHECK-NEXT: [[T8:%.*]] = add i32 [[T0]], [[T2]] +; CHECK-NEXT: [[T9:%.*]] = add i32 [[T4]], [[T6]] +; CHECK-NEXT: [[T10:%.*]] = add i32 [[T8]], [[T9]] +; CHECK-NEXT: [[T11:%.*]] = sext i32 [[T10]] to i64 +; CHECK-NEXT: [[T12:%.*]] = add i64 [[T1]], [[T3]] +; CHECK-NEXT: [[T13:%.*]] = add i64 [[T5]], [[T7]] +; CHECK-NEXT: [[T14:%.*]] = add i64 [[T12]], [[T13]] +; CHECK-NEXT: [[T15:%.*]] = add i64 [[T14]], [[T11]] +; CHECK-NEXT: ret i64 [[T15]] ; %v00 = insertelement <4 x float> undef, float %f, i32 0 %v01 = insertelement <4 x float> %v00, float 0.000000e+00, i32 1 %v02 = insertelement <4 x float> %v01, float 0.000000e+00, i32 2 %v03 = insertelement <4 x float> %v02, float 0.000000e+00, i32 3 - %tmp0 = tail call i32 @llvm.x86.avx512.vcvtss2si32(<4 x float> %v03, i32 4) + %t0 = tail call i32 @llvm.x86.avx512.vcvtss2si32(<4 x float> %v03, i32 4) %v10 = insertelement <4 x float> undef, float %f, i32 0 %v11 = insertelement <4 x float> %v10, float 0.000000e+00, i32 1 %v12 = insertelement <4 x float> %v11, float 0.000000e+00, i32 2 %v13 = insertelement <4 x float> %v12, float 0.000000e+00, i32 3 - %tmp1 = tail call i64 @llvm.x86.avx512.vcvtss2si64(<4 x float> %v13, i32 4) + %t1 = tail call i64 @llvm.x86.avx512.vcvtss2si64(<4 x float> %v13, i32 4) %v20 = insertelement <4 x float> undef, float %f, i32 0 %v21 = insertelement <4 x float> %v20, float 0.000000e+00, i32 1 %v22 = insertelement <4 x float> %v21, float 0.000000e+00, i32 2 %v23 = insertelement <4 x float> %v22, float 0.000000e+00, i32 3 - %tmp2 = tail call i32 @llvm.x86.avx512.cvttss2si(<4 x float> %v23, i32 4) + %t2 = tail call i32 @llvm.x86.avx512.cvttss2si(<4 x float> %v23, i32 4) %v30 = insertelement <4 x float> undef, float %f, i32 0 %v31 = insertelement <4 x float> %v30, float 0.000000e+00, i32 1 %v32 = insertelement <4 x float> %v31, float 0.000000e+00, i32 2 %v33 = insertelement <4 x float> %v32, float 0.000000e+00, i32 3 - %tmp3 = tail call i64 @llvm.x86.avx512.cvttss2si64(<4 x float> %v33, i32 4) + %t3 = tail call i64 @llvm.x86.avx512.cvttss2si64(<4 x float> %v33, i32 4) %v40 = insertelement <2 x double> undef, double %d, i32 0 %v41 = insertelement <2 x double> %v40, double 0.000000e+00, i32 1 - %tmp4 = tail call i32 @llvm.x86.avx512.vcvtsd2si32(<2 x double> %v41, i32 4) + %t4 = tail call i32 @llvm.x86.avx512.vcvtsd2si32(<2 x double> %v41, i32 4) %v50 = insertelement <2 x double> undef, double %d, i32 0 %v51 = insertelement <2 x double> %v50, double 0.000000e+00, i32 1 - %tmp5 = tail call i64 @llvm.x86.avx512.vcvtsd2si64(<2 x double> %v51, i32 4) + %t5 = tail call i64 @llvm.x86.avx512.vcvtsd2si64(<2 x double> %v51, i32 4) %v60 = insertelement <2 x double> undef, double %d, i32 0 %v61 = insertelement <2 x double> %v60, double 0.000000e+00, i32 1 - %tmp6 = tail call i32 @llvm.x86.avx512.cvttsd2si(<2 x double> %v61, i32 4) + %t6 = tail call i32 @llvm.x86.avx512.cvttsd2si(<2 x double> %v61, i32 4) %v70 = insertelement <2 x double> undef, double %d, i32 0 %v71 = insertelement <2 x double> %v70, double 0.000000e+00, i32 1 - %tmp7 = tail call i64 @llvm.x86.avx512.cvttsd2si64(<2 x double> %v71, i32 4) - %tmp8 = add i32 %tmp0, %tmp2 - %tmp9 = add i32 %tmp4, %tmp6 - %tmp10 = add i32 %tmp8, %tmp9 - %tmp11 = sext i32 %tmp10 to i64 - %tmp12 = add i64 %tmp1, %tmp3 - %tmp13 = add i64 %tmp5, %tmp7 - %tmp14 = add i64 %tmp12, %tmp13 - %tmp15 = add i64 %tmp11, %tmp14 - ret i64 %tmp15 + %t7 = tail call i64 @llvm.x86.avx512.cvttsd2si64(<2 x double> %v71, i32 4) + %t8 = add i32 %t0, %t2 + %t9 = add i32 %t4, %t6 + %t10 = add i32 %t8, %t9 + %t11 = sext i32 %t10 to i64 + %t12 = add i64 %t1, %t3 + %t13 = add i64 %t5, %t7 + %t14 = add i64 %t12, %t13 + %t15 = add i64 %t11, %t14 + ret i64 %t15 } declare i32 @llvm.x86.avx512.vcvtss2si32(<4 x float>, i32) @@ -839,72 +839,72 @@ declare i64 @llvm.x86.avx512.cvttsd2si64(<2 x double>, i32) define i64 @test2(float %f, double %d) { ; CHECK-LABEL: @test2( ; CHECK-NEXT: [[V03:%.*]] = insertelement <4 x float> undef, float [[F:%.*]], i32 0 -; CHECK-NEXT: [[TMP0:%.*]] = tail call i32 @llvm.x86.avx512.vcvtss2usi32(<4 x float> [[V03]], i32 4) +; CHECK-NEXT: [[T0:%.*]] = tail call i32 @llvm.x86.avx512.vcvtss2usi32(<4 x float> [[V03]], i32 4) ; CHECK-NEXT: [[V13:%.*]] = insertelement <4 x float> undef, float [[F]], i32 0 -; CHECK-NEXT: [[TMP1:%.*]] = tail call i64 @llvm.x86.avx512.vcvtss2usi64(<4 x float> [[V13]], i32 4) +; CHECK-NEXT: [[T1:%.*]] = tail call i64 @llvm.x86.avx512.vcvtss2usi64(<4 x float> [[V13]], i32 4) ; CHECK-NEXT: [[V23:%.*]] = insertelement <4 x float> undef, float [[F]], i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = tail call i32 @llvm.x86.avx512.cvttss2usi(<4 x float> [[V23]], i32 4) +; CHECK-NEXT: [[T2:%.*]] = tail call i32 @llvm.x86.avx512.cvttss2usi(<4 x float> [[V23]], i32 4) ; CHECK-NEXT: [[V33:%.*]] = insertelement <4 x float> undef, float [[F]], i32 0 -; CHECK-NEXT: [[TMP3:%.*]] = tail call i64 @llvm.x86.avx512.cvttss2usi64(<4 x float> [[V33]], i32 4) +; CHECK-NEXT: [[T3:%.*]] = tail call i64 @llvm.x86.avx512.cvttss2usi64(<4 x float> [[V33]], i32 4) ; CHECK-NEXT: [[V41:%.*]] = insertelement <2 x double> undef, double [[D:%.*]], i32 0 -; CHECK-NEXT: [[TMP4:%.*]] = tail call i32 @llvm.x86.avx512.vcvtsd2usi32(<2 x double> [[V41]], i32 4) +; CHECK-NEXT: [[T4:%.*]] = tail call i32 @llvm.x86.avx512.vcvtsd2usi32(<2 x double> [[V41]], i32 4) ; CHECK-NEXT: [[V51:%.*]] = insertelement <2 x double> undef, double [[D]], i32 0 -; CHECK-NEXT: [[TMP5:%.*]] = tail call i64 @llvm.x86.avx512.vcvtsd2usi64(<2 x double> [[V51]], i32 4) +; CHECK-NEXT: [[T5:%.*]] = tail call i64 @llvm.x86.avx512.vcvtsd2usi64(<2 x double> [[V51]], i32 4) ; CHECK-NEXT: [[V61:%.*]] = insertelement <2 x double> undef, double [[D]], i32 0 -; CHECK-NEXT: [[TMP6:%.*]] = tail call i32 @llvm.x86.avx512.cvttsd2usi(<2 x double> [[V61]], i32 4) +; CHECK-NEXT: [[T6:%.*]] = tail call i32 @llvm.x86.avx512.cvttsd2usi(<2 x double> [[V61]], i32 4) ; CHECK-NEXT: [[V71:%.*]] = insertelement <2 x double> undef, double [[D]], i32 0 -; CHECK-NEXT: [[TMP7:%.*]] = tail call i64 @llvm.x86.avx512.cvttsd2usi64(<2 x double> [[V71]], i32 4) -; CHECK-NEXT: [[TMP8:%.*]] = add i32 [[TMP0]], [[TMP2]] -; CHECK-NEXT: [[TMP9:%.*]] = add i32 [[TMP4]], [[TMP6]] -; CHECK-NEXT: [[TMP10:%.*]] = add i32 [[TMP8]], [[TMP9]] -; CHECK-NEXT: [[TMP11:%.*]] = sext i32 [[TMP10]] to i64 -; CHECK-NEXT: [[TMP12:%.*]] = add i64 [[TMP1]], [[TMP3]] -; CHECK-NEXT: [[TMP13:%.*]] = add i64 [[TMP5]], [[TMP7]] -; CHECK-NEXT: [[TMP14:%.*]] = add i64 [[TMP12]], [[TMP13]] -; CHECK-NEXT: [[TMP15:%.*]] = add i64 [[TMP14]], [[TMP11]] -; CHECK-NEXT: ret i64 [[TMP15]] +; CHECK-NEXT: [[T7:%.*]] = tail call i64 @llvm.x86.avx512.cvttsd2usi64(<2 x double> [[V71]], i32 4) +; CHECK-NEXT: [[T8:%.*]] = add i32 [[T0]], [[T2]] +; CHECK-NEXT: [[T9:%.*]] = add i32 [[T4]], [[T6]] +; CHECK-NEXT: [[T10:%.*]] = add i32 [[T8]], [[T9]] +; CHECK-NEXT: [[T11:%.*]] = sext i32 [[T10]] to i64 +; CHECK-NEXT: [[T12:%.*]] = add i64 [[T1]], [[T3]] +; CHECK-NEXT: [[T13:%.*]] = add i64 [[T5]], [[T7]] +; CHECK-NEXT: [[T14:%.*]] = add i64 [[T12]], [[T13]] +; CHECK-NEXT: [[T15:%.*]] = add i64 [[T14]], [[T11]] +; CHECK-NEXT: ret i64 [[T15]] ; %v00 = insertelement <4 x float> undef, float %f, i32 0 %v01 = insertelement <4 x float> %v00, float 0.000000e+00, i32 1 %v02 = insertelement <4 x float> %v01, float 0.000000e+00, i32 2 %v03 = insertelement <4 x float> %v02, float 0.000000e+00, i32 3 - %tmp0 = tail call i32 @llvm.x86.avx512.vcvtss2usi32(<4 x float> %v03, i32 4) + %t0 = tail call i32 @llvm.x86.avx512.vcvtss2usi32(<4 x float> %v03, i32 4) %v10 = insertelement <4 x float> undef, float %f, i32 0 %v11 = insertelement <4 x float> %v10, float 0.000000e+00, i32 1 %v12 = insertelement <4 x float> %v11, float 0.000000e+00, i32 2 %v13 = insertelement <4 x float> %v12, float 0.000000e+00, i32 3 - %tmp1 = tail call i64 @llvm.x86.avx512.vcvtss2usi64(<4 x float> %v13, i32 4) + %t1 = tail call i64 @llvm.x86.avx512.vcvtss2usi64(<4 x float> %v13, i32 4) %v20 = insertelement <4 x float> undef, float %f, i32 0 %v21 = insertelement <4 x float> %v20, float 0.000000e+00, i32 1 %v22 = insertelement <4 x float> %v21, float 0.000000e+00, i32 2 %v23 = insertelement <4 x float> %v22, float 0.000000e+00, i32 3 - %tmp2 = tail call i32 @llvm.x86.avx512.cvttss2usi(<4 x float> %v23, i32 4) + %t2 = tail call i32 @llvm.x86.avx512.cvttss2usi(<4 x float> %v23, i32 4) %v30 = insertelement <4 x float> undef, float %f, i32 0 %v31 = insertelement <4 x float> %v30, float 0.000000e+00, i32 1 %v32 = insertelement <4 x float> %v31, float 0.000000e+00, i32 2 %v33 = insertelement <4 x float> %v32, float 0.000000e+00, i32 3 - %tmp3 = tail call i64 @llvm.x86.avx512.cvttss2usi64(<4 x float> %v33, i32 4) + %t3 = tail call i64 @llvm.x86.avx512.cvttss2usi64(<4 x float> %v33, i32 4) %v40 = insertelement <2 x double> undef, double %d, i32 0 %v41 = insertelement <2 x double> %v40, double 0.000000e+00, i32 1 - %tmp4 = tail call i32 @llvm.x86.avx512.vcvtsd2usi32(<2 x double> %v41, i32 4) + %t4 = tail call i32 @llvm.x86.avx512.vcvtsd2usi32(<2 x double> %v41, i32 4) %v50 = insertelement <2 x double> undef, double %d, i32 0 %v51 = insertelement <2 x double> %v50, double 0.000000e+00, i32 1 - %tmp5 = tail call i64 @llvm.x86.avx512.vcvtsd2usi64(<2 x double> %v51, i32 4) + %t5 = tail call i64 @llvm.x86.avx512.vcvtsd2usi64(<2 x double> %v51, i32 4) %v60 = insertelement <2 x double> undef, double %d, i32 0 %v61 = insertelement <2 x double> %v60, double 0.000000e+00, i32 1 - %tmp6 = tail call i32 @llvm.x86.avx512.cvttsd2usi(<2 x double> %v61, i32 4) + %t6 = tail call i32 @llvm.x86.avx512.cvttsd2usi(<2 x double> %v61, i32 4) %v70 = insertelement <2 x double> undef, double %d, i32 0 %v71 = insertelement <2 x double> %v70, double 0.000000e+00, i32 1 - %tmp7 = tail call i64 @llvm.x86.avx512.cvttsd2usi64(<2 x double> %v71, i32 4) - %tmp8 = add i32 %tmp0, %tmp2 - %tmp9 = add i32 %tmp4, %tmp6 - %tmp10 = add i32 %tmp8, %tmp9 - %tmp11 = sext i32 %tmp10 to i64 - %tmp12 = add i64 %tmp1, %tmp3 - %tmp13 = add i64 %tmp5, %tmp7 - %tmp14 = add i64 %tmp12, %tmp13 - %tmp15 = add i64 %tmp11, %tmp14 - ret i64 %tmp15 + %t7 = tail call i64 @llvm.x86.avx512.cvttsd2usi64(<2 x double> %v71, i32 4) + %t8 = add i32 %t0, %t2 + %t9 = add i32 %t4, %t6 + %t10 = add i32 %t8, %t9 + %t11 = sext i32 %t10 to i64 + %t12 = add i64 %t1, %t3 + %t13 = add i64 %t5, %t7 + %t14 = add i64 %t12, %t13 + %t15 = add i64 %t11, %t14 + ret i64 %t15 } declare i32 @llvm.x86.avx512.vcvtss2usi32(<4 x float>, i32) diff --git a/llvm/test/Transforms/InstCombine/X86/x86-f16c.ll b/llvm/test/Transforms/InstCombine/X86/x86-f16c.ll index 6b5b6cb26eda..dc0f3e454b00 100644 --- a/llvm/test/Transforms/InstCombine/X86/x86-f16c.ll +++ b/llvm/test/Transforms/InstCombine/X86/x86-f16c.ll @@ -11,7 +11,7 @@ declare <8 x float> @llvm.x86.vcvtph2ps.256(<8 x i16>) ; Only bottom 4 elements required. define <4 x float> @demand_vcvtph2ps_128(<8 x i16> %A) { ; CHECK-LABEL: @demand_vcvtph2ps_128( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.vcvtph2ps.128(<8 x i16> %A) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.vcvtph2ps.128(<8 x i16> [[A:%.*]]) ; CHECK-NEXT: ret <4 x float> [[TMP1]] ; %1 = shufflevector <8 x i16> %A, <8 x i16> undef, <8 x i32> @@ -22,7 +22,7 @@ define <4 x float> @demand_vcvtph2ps_128(<8 x i16> %A) { ; All 8 elements required. define <8 x float> @demand_vcvtph2ps_256(<8 x i16> %A) { ; CHECK-LABEL: @demand_vcvtph2ps_256( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x i16> %A, <8 x i16> undef, <8 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x i16> [[A:%.*]], <8 x i16> undef, <8 x i32> ; CHECK-NEXT: [[TMP2:%.*]] = tail call <8 x float> @llvm.x86.vcvtph2ps.256(<8 x i16> [[TMP1]]) ; CHECK-NEXT: ret <8 x float> [[TMP2]] ; diff --git a/llvm/test/Transforms/InstCombine/X86/x86-pshufb.ll b/llvm/test/Transforms/InstCombine/X86/x86-pshufb.ll index d3ffd1780109..8724c65b9ec8 100644 --- a/llvm/test/Transforms/InstCombine/X86/x86-pshufb.ll +++ b/llvm/test/Transforms/InstCombine/X86/x86-pshufb.ll @@ -5,7 +5,7 @@ define <16 x i8> @identity_test(<16 x i8> %InVec) { ; CHECK-LABEL: @identity_test( -; CHECK-NEXT: ret <16 x i8> %InVec +; CHECK-NEXT: ret <16 x i8> [[INVEC:%.*]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) ret <16 x i8> %1 @@ -13,7 +13,7 @@ define <16 x i8> @identity_test(<16 x i8> %InVec) { define <32 x i8> @identity_test_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @identity_test_avx2( -; CHECK-NEXT: ret <32 x i8> %InVec +; CHECK-NEXT: ret <32 x i8> [[INVEC:%.*]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) ret <32 x i8> %1 @@ -21,7 +21,7 @@ define <32 x i8> @identity_test_avx2(<32 x i8> %InVec) { define <64 x i8> @identity_test_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @identity_test_avx512( -; CHECK-NEXT: ret <64 x i8> %InVec +; CHECK-NEXT: ret <64 x i8> [[INVEC:%.*]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) ret <64 x i8> %1 @@ -58,7 +58,7 @@ define <64 x i8> @fold_to_zero_vector_avx512(<64 x i8> %InVec) { define <16 x i8> @splat_test(<16 x i8> %InVec) { ; CHECK-LABEL: @splat_test( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> %InVec, <16 x i8> undef, <16 x i32> zeroinitializer +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> [[INVEC:%.*]], <16 x i8> undef, <16 x i32> zeroinitializer ; CHECK-NEXT: ret <16 x i8> [[TMP1]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> zeroinitializer) @@ -72,7 +72,7 @@ define <16 x i8> @splat_test(<16 x i8> %InVec) { define <32 x i8> @splat_test_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @splat_test_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> %InVec, <32 x i8> undef, <32 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> [[INVEC:%.*]], <32 x i8> undef, <32 x i32> ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> zeroinitializer) @@ -81,7 +81,7 @@ define <32 x i8> @splat_test_avx2(<32 x i8> %InVec) { define <64 x i8> @splat_test_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @splat_test_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> %InVec, <64 x i8> undef, <64 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> [[INVEC:%.*]], <64 x i8> undef, <64 x i32> ; CHECK-NEXT: ret <64 x i8> [[TMP1]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> zeroinitializer) @@ -93,7 +93,7 @@ define <64 x i8> @splat_test_avx512(<64 x i8> %InVec) { define <16 x i8> @blend1(<16 x i8> %InVec) { ; CHECK-LABEL: @blend1( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> %InVec, <16 x i8> , <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> [[INVEC:%.*]], <16 x i8> , <16 x i32> ; CHECK-NEXT: ret <16 x i8> [[TMP1]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) @@ -102,7 +102,7 @@ define <16 x i8> @blend1(<16 x i8> %InVec) { define <16 x i8> @blend2(<16 x i8> %InVec) { ; CHECK-LABEL: @blend2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> %InVec, <16 x i8> , <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> [[INVEC:%.*]], <16 x i8> , <16 x i32> ; CHECK-NEXT: ret <16 x i8> [[TMP1]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) @@ -111,7 +111,7 @@ define <16 x i8> @blend2(<16 x i8> %InVec) { define <16 x i8> @blend3(<16 x i8> %InVec) { ; CHECK-LABEL: @blend3( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> %InVec, <16 x i8> , <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> [[INVEC:%.*]], <16 x i8> , <16 x i32> ; CHECK-NEXT: ret <16 x i8> [[TMP1]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) @@ -120,7 +120,7 @@ define <16 x i8> @blend3(<16 x i8> %InVec) { define <16 x i8> @blend4(<16 x i8> %InVec) { ; CHECK-LABEL: @blend4( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> %InVec, <16 x i8> , <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> [[INVEC:%.*]], <16 x i8> , <16 x i32> ; CHECK-NEXT: ret <16 x i8> [[TMP1]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) @@ -129,7 +129,7 @@ define <16 x i8> @blend4(<16 x i8> %InVec) { define <16 x i8> @blend5(<16 x i8> %InVec) { ; CHECK-LABEL: @blend5( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> %InVec, <16 x i8> , <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> [[INVEC:%.*]], <16 x i8> , <16 x i32> ; CHECK-NEXT: ret <16 x i8> [[TMP1]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) @@ -138,7 +138,7 @@ define <16 x i8> @blend5(<16 x i8> %InVec) { define <16 x i8> @blend6(<16 x i8> %InVec) { ; CHECK-LABEL: @blend6( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> %InVec, <16 x i8> , <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> [[INVEC:%.*]], <16 x i8> , <16 x i32> ; CHECK-NEXT: ret <16 x i8> [[TMP1]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) @@ -147,7 +147,7 @@ define <16 x i8> @blend6(<16 x i8> %InVec) { define <32 x i8> @blend1_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @blend1_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> %InVec, <32 x i8> , <32 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> [[INVEC:%.*]], <32 x i8> , <32 x i32> ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) @@ -156,7 +156,7 @@ define <32 x i8> @blend1_avx2(<32 x i8> %InVec) { define <32 x i8> @blend2_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @blend2_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> %InVec, <32 x i8> , <32 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> [[INVEC:%.*]], <32 x i8> , <32 x i32> ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) @@ -165,7 +165,7 @@ define <32 x i8> @blend2_avx2(<32 x i8> %InVec) { define <32 x i8> @blend3_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @blend3_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> %InVec, <32 x i8> , <32 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> [[INVEC:%.*]], <32 x i8> , <32 x i32> ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) @@ -174,7 +174,7 @@ define <32 x i8> @blend3_avx2(<32 x i8> %InVec) { define <32 x i8> @blend4_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @blend4_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> %InVec, <32 x i8> , <32 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> [[INVEC:%.*]], <32 x i8> , <32 x i32> ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) @@ -183,7 +183,7 @@ define <32 x i8> @blend4_avx2(<32 x i8> %InVec) { define <32 x i8> @blend5_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @blend5_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> %InVec, <32 x i8> , <32 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> [[INVEC:%.*]], <32 x i8> , <32 x i32> ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) @@ -192,7 +192,7 @@ define <32 x i8> @blend5_avx2(<32 x i8> %InVec) { define <32 x i8> @blend6_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @blend6_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> %InVec, <32 x i8> , <32 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> [[INVEC:%.*]], <32 x i8> , <32 x i32> ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) @@ -201,7 +201,7 @@ define <32 x i8> @blend6_avx2(<32 x i8> %InVec) { define <64 x i8> @blend1_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @blend1_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> %InVec, <64 x i8> , <64 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> [[INVEC:%.*]], <64 x i8> , <64 x i32> ; CHECK-NEXT: ret <64 x i8> [[TMP1]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) @@ -210,7 +210,7 @@ define <64 x i8> @blend1_avx512(<64 x i8> %InVec) { define <64 x i8> @blend2_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @blend2_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> %InVec, <64 x i8> , <64 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> [[INVEC:%.*]], <64 x i8> , <64 x i32> ; CHECK-NEXT: ret <64 x i8> [[TMP1]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) @@ -219,7 +219,7 @@ define <64 x i8> @blend2_avx512(<64 x i8> %InVec) { define <64 x i8> @blend3_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @blend3_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> %InVec, <64 x i8> , <64 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> [[INVEC:%.*]], <64 x i8> , <64 x i32> ; CHECK-NEXT: ret <64 x i8> [[TMP1]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) @@ -228,7 +228,7 @@ define <64 x i8> @blend3_avx512(<64 x i8> %InVec) { define <64 x i8> @blend4_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @blend4_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> %InVec, <64 x i8> , <64 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> [[INVEC:%.*]], <64 x i8> , <64 x i32> ; CHECK-NEXT: ret <64 x i8> [[TMP1]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) @@ -237,7 +237,7 @@ define <64 x i8> @blend4_avx512(<64 x i8> %InVec) { define <64 x i8> @blend5_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @blend5_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> %InVec, <64 x i8> , <64 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> [[INVEC:%.*]], <64 x i8> , <64 x i32> ; CHECK-NEXT: ret <64 x i8> [[TMP1]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) @@ -246,7 +246,7 @@ define <64 x i8> @blend5_avx512(<64 x i8> %InVec) { define <64 x i8> @blend6_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @blend6_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> %InVec, <64 x i8> , <64 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> [[INVEC:%.*]], <64 x i8> , <64 x i32> ; CHECK-NEXT: ret <64 x i8> [[TMP1]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) @@ -256,7 +256,7 @@ define <64 x i8> @blend6_avx512(<64 x i8> %InVec) { ; movq idiom. define <16 x i8> @movq_idiom(<16 x i8> %InVec) { ; CHECK-LABEL: @movq_idiom( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> %InVec, <16 x i8> , <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> [[INVEC:%.*]], <16 x i8> , <16 x i32> ; CHECK-NEXT: ret <16 x i8> [[TMP1]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) @@ -265,7 +265,7 @@ define <16 x i8> @movq_idiom(<16 x i8> %InVec) { define <32 x i8> @movq_idiom_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @movq_idiom_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> %InVec, <32 x i8> , <32 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> [[INVEC:%.*]], <32 x i8> , <32 x i32> ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) @@ -274,7 +274,7 @@ define <32 x i8> @movq_idiom_avx2(<32 x i8> %InVec) { define <64 x i8> @movq_idiom_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @movq_idiom_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> %InVec, <64 x i8> , <64 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> [[INVEC:%.*]], <64 x i8> , <64 x i32> ; CHECK-NEXT: ret <64 x i8> [[TMP1]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) @@ -285,7 +285,7 @@ define <64 x i8> @movq_idiom_avx512(<64 x i8> %InVec) { define <16 x i8> @permute1(<16 x i8> %InVec) { ; CHECK-LABEL: @permute1( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> %InVec, <16 x i8> undef, <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> [[INVEC:%.*]], <16 x i8> undef, <16 x i32> ; CHECK-NEXT: ret <16 x i8> [[TMP1]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) @@ -294,7 +294,7 @@ define <16 x i8> @permute1(<16 x i8> %InVec) { define <16 x i8> @permute2(<16 x i8> %InVec) { ; CHECK-LABEL: @permute2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> %InVec, <16 x i8> undef, <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> [[INVEC:%.*]], <16 x i8> undef, <16 x i32> ; CHECK-NEXT: ret <16 x i8> [[TMP1]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) @@ -303,7 +303,7 @@ define <16 x i8> @permute2(<16 x i8> %InVec) { define <32 x i8> @permute1_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @permute1_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> %InVec, <32 x i8> undef, <32 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> [[INVEC:%.*]], <32 x i8> undef, <32 x i32> ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) @@ -312,7 +312,7 @@ define <32 x i8> @permute1_avx2(<32 x i8> %InVec) { define <32 x i8> @permute2_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @permute2_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> %InVec, <32 x i8> undef, <32 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> [[INVEC:%.*]], <32 x i8> undef, <32 x i32> ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) @@ -321,7 +321,7 @@ define <32 x i8> @permute2_avx2(<32 x i8> %InVec) { define <64 x i8> @permute1_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @permute1_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> %InVec, <64 x i8> undef, <64 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> [[INVEC:%.*]], <64 x i8> undef, <64 x i32> ; CHECK-NEXT: ret <64 x i8> [[TMP1]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) @@ -330,7 +330,7 @@ define <64 x i8> @permute1_avx512(<64 x i8> %InVec) { define <64 x i8> @permute2_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @permute2_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> %InVec, <64 x i8> undef, <64 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> [[INVEC:%.*]], <64 x i8> undef, <64 x i32> ; CHECK-NEXT: ret <64 x i8> [[TMP1]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) @@ -342,7 +342,7 @@ define <64 x i8> @permute2_avx512(<64 x i8> %InVec) { define <16 x i8> @identity_test2_2(<16 x i8> %InVec) { ; CHECK-LABEL: @identity_test2_2( -; CHECK-NEXT: ret <16 x i8> %InVec +; CHECK-NEXT: ret <16 x i8> [[INVEC:%.*]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) ret <16 x i8> %1 @@ -350,7 +350,7 @@ define <16 x i8> @identity_test2_2(<16 x i8> %InVec) { define <32 x i8> @identity_test_avx2_2(<32 x i8> %InVec) { ; CHECK-LABEL: @identity_test_avx2_2( -; CHECK-NEXT: ret <32 x i8> %InVec +; CHECK-NEXT: ret <32 x i8> [[INVEC:%.*]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) ret <32 x i8> %1 @@ -358,7 +358,7 @@ define <32 x i8> @identity_test_avx2_2(<32 x i8> %InVec) { define <64 x i8> @identity_test_avx512_2(<64 x i8> %InVec) { ; CHECK-LABEL: @identity_test_avx512_2( -; CHECK-NEXT: ret <64 x i8> %InVec +; CHECK-NEXT: ret <64 x i8> [[INVEC:%.*]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) ret <64 x i8> %1 @@ -390,7 +390,7 @@ define <64 x i8> @fold_to_zero_vector_avx512_2(<64 x i8> %InVec) { define <16 x i8> @permute3(<16 x i8> %InVec) { ; CHECK-LABEL: @permute3( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> %InVec, <16 x i8> undef, <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> [[INVEC:%.*]], <16 x i8> undef, <16 x i32> ; CHECK-NEXT: ret <16 x i8> [[TMP1]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) @@ -399,7 +399,7 @@ define <16 x i8> @permute3(<16 x i8> %InVec) { define <32 x i8> @permute3_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @permute3_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> %InVec, <32 x i8> undef, <32 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> [[INVEC:%.*]], <32 x i8> undef, <32 x i32> ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) @@ -408,7 +408,7 @@ define <32 x i8> @permute3_avx2(<32 x i8> %InVec) { define <64 x i8> @permute3_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @permute3_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> %InVec, <64 x i8> undef, <64 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> [[INVEC:%.*]], <64 x i8> undef, <64 x i32> ; CHECK-NEXT: ret <64 x i8> [[TMP1]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) @@ -419,7 +419,7 @@ define <64 x i8> @permute3_avx512(<64 x i8> %InVec) { define <16 x i8> @fold_with_undef_elts(<16 x i8> %InVec) { ; CHECK-LABEL: @fold_with_undef_elts( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> %InVec, <16 x i8> , <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x i8> [[INVEC:%.*]], <16 x i8> , <16 x i32> ; CHECK-NEXT: ret <16 x i8> [[TMP1]] ; %1 = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> ) @@ -428,7 +428,7 @@ define <16 x i8> @fold_with_undef_elts(<16 x i8> %InVec) { define <32 x i8> @fold_with_undef_elts_avx2(<32 x i8> %InVec) { ; CHECK-LABEL: @fold_with_undef_elts_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> %InVec, <32 x i8> , <32 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <32 x i8> [[INVEC:%.*]], <32 x i8> , <32 x i32> ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> ) @@ -437,7 +437,7 @@ define <32 x i8> @fold_with_undef_elts_avx2(<32 x i8> %InVec) { define <64 x i8> @fold_with_undef_elts_avx512(<64 x i8> %InVec) { ; CHECK-LABEL: @fold_with_undef_elts_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> %InVec, <64 x i8> , <64 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <64 x i8> [[INVEC:%.*]], <64 x i8> , <64 x i32> ; CHECK-NEXT: ret <64 x i8> [[TMP1]] ; %1 = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> ) @@ -472,7 +472,7 @@ define <64 x i8> @fold_with_allundef_elts_avx512(<64 x i8> %InVec) { define <16 x i8> @demanded_elts_insertion(<16 x i8> %InVec, <16 x i8> %BaseMask, i8 %M0, i8 %M15) { ; CHECK-LABEL: @demanded_elts_insertion( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %InVec, <16 x i8> %BaseMask) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> [[INVEC:%.*]], <16 x i8> [[BASEMASK:%.*]]) ; CHECK-NEXT: [[TMP2:%.*]] = shufflevector <16 x i8> [[TMP1]], <16 x i8> undef, <16 x i32> ; CHECK-NEXT: ret <16 x i8> [[TMP2]] ; @@ -485,7 +485,7 @@ define <16 x i8> @demanded_elts_insertion(<16 x i8> %InVec, <16 x i8> %BaseMask, define <32 x i8> @demanded_elts_insertion_avx2(<32 x i8> %InVec, <32 x i8> %BaseMask, i8 %M0, i8 %M22) { ; CHECK-LABEL: @demanded_elts_insertion_avx2( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> %InVec, <32 x i8> %BaseMask) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> [[INVEC:%.*]], <32 x i8> [[BASEMASK:%.*]]) ; CHECK-NEXT: ret <32 x i8> [[TMP1]] ; %1 = insertelement <32 x i8> %BaseMask, i8 %M0, i32 0 @@ -497,8 +497,8 @@ define <32 x i8> @demanded_elts_insertion_avx2(<32 x i8> %InVec, <32 x i8> %Base define <64 x i8> @demanded_elts_insertion_avx512(<64 x i8> %InVec, <64 x i8> %BaseMask, i8 %M0, i8 %M30) { ; CHECK-LABEL: @demanded_elts_insertion_avx512( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <64 x i8> undef, i8 %M0, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> %InVec, <64 x i8> [[TMP1]]) +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <64 x i8> undef, i8 [[M0:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = tail call <64 x i8> @llvm.x86.avx512.pshuf.b.512(<64 x i8> [[INVEC:%.*]], <64 x i8> [[TMP1]]) ; CHECK-NEXT: [[TMP3:%.*]] = shufflevector <64 x i8> [[TMP2]], <64 x i8> undef, <64 x i32> zeroinitializer ; CHECK-NEXT: ret <64 x i8> [[TMP3]] ; diff --git a/llvm/test/Transforms/InstCombine/X86/x86-sse.ll b/llvm/test/Transforms/InstCombine/X86/x86-sse.ll index 830782b3b209..d58b083df2b6 100644 --- a/llvm/test/Transforms/InstCombine/X86/x86-sse.ll +++ b/llvm/test/Transforms/InstCombine/X86/x86-sse.ll @@ -4,7 +4,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" define float @test_rcp_ss_0(float %a) { ; CHECK-LABEL: @test_rcp_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 ; CHECK-NEXT: [[TMP2:%.*]] = tail call <4 x float> @llvm.x86.sse.rcp.ss(<4 x float> [[TMP1]]) ; CHECK-NEXT: [[TMP3:%.*]] = extractelement <4 x float> [[TMP2]], i32 0 ; CHECK-NEXT: ret float [[TMP3]] @@ -33,7 +33,7 @@ define float @test_rcp_ss_1(float %a) { define float @test_sqrt_ss_0(float %a) { ; CHECK-LABEL: @test_sqrt_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = call float @llvm.sqrt.f32(float %a) +; CHECK-NEXT: [[TMP1:%.*]] = call float @llvm.sqrt.f32(float [[A:%.*]]) ; CHECK-NEXT: ret float [[TMP1]] ; %1 = insertelement <4 x float> undef, float %a, i32 0 @@ -60,7 +60,7 @@ define float @test_sqrt_ss_2(float %a) { define float @test_rsqrt_ss_0(float %a) { ; CHECK-LABEL: @test_rsqrt_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 ; CHECK-NEXT: [[TMP2:%.*]] = tail call <4 x float> @llvm.x86.sse.rsqrt.ss(<4 x float> [[TMP1]]) ; CHECK-NEXT: [[TMP3:%.*]] = extractelement <4 x float> [[TMP2]], i32 0 ; CHECK-NEXT: ret float [[TMP3]] @@ -89,7 +89,7 @@ define float @test_rsqrt_ss_3(float %a) { define float @test_add_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_add_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = fadd float %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = fadd float [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: ret float [[TMP1]] ; %1 = insertelement <4 x float> undef, float %a, i32 0 @@ -121,7 +121,7 @@ define float @test_add_ss_1(float %a, float %b) { define float @test_sub_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_sub_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = fsub float %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = fsub float [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: ret float [[TMP1]] ; %1 = insertelement <4 x float> undef, float %a, i32 0 @@ -153,7 +153,7 @@ define float @test_sub_ss_2(float %a, float %b) { define float @test_mul_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_mul_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = fmul float %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = fmul float [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: ret float [[TMP1]] ; %1 = insertelement <4 x float> undef, float %a, i32 0 @@ -185,7 +185,7 @@ define float @test_mul_ss_3(float %a, float %b) { define float @test_div_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_div_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = fdiv float %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = fdiv float [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: ret float [[TMP1]] ; %1 = insertelement <4 x float> undef, float %a, i32 0 @@ -217,7 +217,7 @@ define float @test_div_ss_1(float %a, float %b) { define <4 x float> @test_min_ss(<4 x float> %a, <4 x float> %b) { ; CHECK-LABEL: @test_min_ss( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.min.ss(<4 x float> %a, <4 x float> %b) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.min.ss(<4 x float> [[A:%.*]], <4 x float> [[B:%.*]]) ; CHECK-NEXT: ret <4 x float> [[TMP1]] ; %1 = insertelement <4 x float> %b, float 1.000000e+00, i32 1 @@ -229,8 +229,8 @@ define <4 x float> @test_min_ss(<4 x float> %a, <4 x float> %b) { define float @test_min_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_min_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call <4 x float> @llvm.x86.sse.min.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: [[TMP4:%.*]] = extractelement <4 x float> [[TMP3]], i32 0 ; CHECK-NEXT: ret float [[TMP4]] @@ -264,7 +264,7 @@ define float @test_min_ss_2(float %a, float %b) { define <4 x float> @test_max_ss(<4 x float> %a, <4 x float> %b) { ; CHECK-LABEL: @test_max_ss( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.max.ss(<4 x float> %a, <4 x float> %b) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.max.ss(<4 x float> [[A:%.*]], <4 x float> [[B:%.*]]) ; CHECK-NEXT: ret <4 x float> [[TMP1]] ; %1 = insertelement <4 x float> %b, float 1.000000e+00, i32 1 @@ -276,8 +276,8 @@ define <4 x float> @test_max_ss(<4 x float> %a, <4 x float> %b) { define float @test_max_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_max_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call <4 x float> @llvm.x86.sse.max.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: [[TMP4:%.*]] = extractelement <4 x float> [[TMP3]], i32 0 ; CHECK-NEXT: ret float [[TMP4]] @@ -311,7 +311,7 @@ define float @test_max_ss_3(float %a, float %b) { define <4 x float> @test_cmp_ss(<4 x float> %a, <4 x float> %b) { ; CHECK-LABEL: @test_cmp_ss( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.cmp.ss(<4 x float> %a, <4 x float> %b, i8 0) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.cmp.ss(<4 x float> [[A:%.*]], <4 x float> [[B:%.*]], i8 0) ; CHECK-NEXT: ret <4 x float> [[TMP1]] ; %1 = insertelement <4 x float> %b, float 1.000000e+00, i32 1 @@ -323,8 +323,8 @@ define <4 x float> @test_cmp_ss(<4 x float> %a, <4 x float> %b) { define float @test_cmp_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_cmp_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call <4 x float> @llvm.x86.sse.cmp.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]], i8 0) ; CHECK-NEXT: [[R:%.*]] = extractelement <4 x float> [[TMP3]], i32 0 ; CHECK-NEXT: ret float [[R]] @@ -358,8 +358,8 @@ define float @test_cmp_ss_1(float %a, float %b) { define i32 @test_comieq_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_comieq_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.comieq.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: ret i32 [[TMP3]] ; @@ -377,8 +377,8 @@ define i32 @test_comieq_ss_0(float %a, float %b) { define i32 @test_comige_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_comige_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.comige.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: ret i32 [[TMP3]] ; @@ -396,8 +396,8 @@ define i32 @test_comige_ss_0(float %a, float %b) { define i32 @test_comigt_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_comigt_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.comigt.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: ret i32 [[TMP3]] ; @@ -415,8 +415,8 @@ define i32 @test_comigt_ss_0(float %a, float %b) { define i32 @test_comile_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_comile_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.comile.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: ret i32 [[TMP3]] ; @@ -434,8 +434,8 @@ define i32 @test_comile_ss_0(float %a, float %b) { define i32 @test_comilt_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_comilt_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.comilt.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: ret i32 [[TMP3]] ; @@ -453,8 +453,8 @@ define i32 @test_comilt_ss_0(float %a, float %b) { define i32 @test_comineq_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_comineq_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.comineq.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: ret i32 [[TMP3]] ; @@ -472,8 +472,8 @@ define i32 @test_comineq_ss_0(float %a, float %b) { define i32 @test_ucomieq_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_ucomieq_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.ucomieq.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: ret i32 [[TMP3]] ; @@ -491,8 +491,8 @@ define i32 @test_ucomieq_ss_0(float %a, float %b) { define i32 @test_ucomige_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_ucomige_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.ucomige.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: ret i32 [[TMP3]] ; @@ -510,8 +510,8 @@ define i32 @test_ucomige_ss_0(float %a, float %b) { define i32 @test_ucomigt_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_ucomigt_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.ucomigt.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: ret i32 [[TMP3]] ; @@ -529,8 +529,8 @@ define i32 @test_ucomigt_ss_0(float %a, float %b) { define i32 @test_ucomile_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_ucomile_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.ucomile.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: ret i32 [[TMP3]] ; @@ -548,8 +548,8 @@ define i32 @test_ucomile_ss_0(float %a, float %b) { define i32 @test_ucomilt_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_ucomilt_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.ucomilt.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: ret i32 [[TMP3]] ; @@ -567,8 +567,8 @@ define i32 @test_ucomilt_ss_0(float %a, float %b) { define i32 @test_ucomineq_ss_0(float %a, float %b) { ; CHECK-LABEL: @test_ucomineq_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float [[B:%.*]], i32 0 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.ucomineq.ss(<4 x float> [[TMP1]], <4 x float> [[TMP2]]) ; CHECK-NEXT: ret i32 [[TMP3]] ; diff --git a/llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll b/llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll index 306577fae825..1fc6b55b664f 100644 --- a/llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll +++ b/llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll @@ -8,7 +8,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" define <8 x i16> @sse2_psrai_w_0(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psrai_w_0( -; CHECK-NEXT: ret <8 x i16> %v +; CHECK-NEXT: ret <8 x i16> [[V:%.*]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psrai.w(<8 x i16> %v, i32 0) ret <8 x i16> %1 @@ -16,7 +16,7 @@ define <8 x i16> @sse2_psrai_w_0(<8 x i16> %v) { define <8 x i16> @sse2_psrai_w_15(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psrai_w_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psrai.w(<8 x i16> %v, i32 15) @@ -25,7 +25,7 @@ define <8 x i16> @sse2_psrai_w_15(<8 x i16> %v) { define <8 x i16> @sse2_psrai_w_64(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psrai_w_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psrai.w(<8 x i16> %v, i32 64) @@ -34,7 +34,7 @@ define <8 x i16> @sse2_psrai_w_64(<8 x i16> %v) { define <4 x i32> @sse2_psrai_d_0(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psrai_d_0( -; CHECK-NEXT: ret <4 x i32> %v +; CHECK-NEXT: ret <4 x i32> [[V:%.*]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psrai.d(<4 x i32> %v, i32 0) ret <4 x i32> %1 @@ -42,7 +42,7 @@ define <4 x i32> @sse2_psrai_d_0(<4 x i32> %v) { define <4 x i32> @sse2_psrai_d_15(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psrai_d_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psrai.d(<4 x i32> %v, i32 15) @@ -51,7 +51,7 @@ define <4 x i32> @sse2_psrai_d_15(<4 x i32> %v) { define <4 x i32> @sse2_psrai_d_64(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psrai_d_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psrai.d(<4 x i32> %v, i32 64) @@ -60,7 +60,7 @@ define <4 x i32> @sse2_psrai_d_64(<4 x i32> %v) { define <16 x i16> @avx2_psrai_w_0(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psrai_w_0( -; CHECK-NEXT: ret <16 x i16> %v +; CHECK-NEXT: ret <16 x i16> [[V:%.*]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psrai.w(<16 x i16> %v, i32 0) ret <16 x i16> %1 @@ -68,7 +68,7 @@ define <16 x i16> @avx2_psrai_w_0(<16 x i16> %v) { define <16 x i16> @avx2_psrai_w_15(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psrai_w_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psrai.w(<16 x i16> %v, i32 15) @@ -77,7 +77,7 @@ define <16 x i16> @avx2_psrai_w_15(<16 x i16> %v) { define <16 x i16> @avx2_psrai_w_64(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psrai_w_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psrai.w(<16 x i16> %v, i32 64) @@ -86,7 +86,7 @@ define <16 x i16> @avx2_psrai_w_64(<16 x i16> %v) { define <8 x i32> @avx2_psrai_d_0(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrai_d_0( -; CHECK-NEXT: ret <8 x i32> %v +; CHECK-NEXT: ret <8 x i32> [[V:%.*]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrai.d(<8 x i32> %v, i32 0) ret <8 x i32> %1 @@ -94,7 +94,7 @@ define <8 x i32> @avx2_psrai_d_0(<8 x i32> %v) { define <8 x i32> @avx2_psrai_d_15(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrai_d_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrai.d(<8 x i32> %v, i32 15) @@ -103,7 +103,7 @@ define <8 x i32> @avx2_psrai_d_15(<8 x i32> %v) { define <8 x i32> @avx2_psrai_d_64(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrai_d_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrai.d(<8 x i32> %v, i32 64) @@ -112,7 +112,7 @@ define <8 x i32> @avx2_psrai_d_64(<8 x i32> %v) { define <2 x i64> @avx512_psrai_q_128_0(<2 x i64> %v) { ; CHECK-LABEL: @avx512_psrai_q_128_0( -; CHECK-NEXT: ret <2 x i64> %v +; CHECK-NEXT: ret <2 x i64> [[V:%.*]] ; %1 = tail call <2 x i64> @llvm.x86.avx512.psrai.q.128(<2 x i64> %v, i32 0) ret <2 x i64> %1 @@ -120,7 +120,7 @@ define <2 x i64> @avx512_psrai_q_128_0(<2 x i64> %v) { define <2 x i64> @avx512_psrai_q_128_15(<2 x i64> %v) { ; CHECK-LABEL: @avx512_psrai_q_128_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> [[V:%.*]], ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.avx512.psrai.q.128(<2 x i64> %v, i32 15) @@ -129,7 +129,7 @@ define <2 x i64> @avx512_psrai_q_128_15(<2 x i64> %v) { define <2 x i64> @avx512_psrai_q_128_64(<2 x i64> %v) { ; CHECK-LABEL: @avx512_psrai_q_128_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> [[V:%.*]], ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.avx512.psrai.q.128(<2 x i64> %v, i32 64) @@ -138,7 +138,7 @@ define <2 x i64> @avx512_psrai_q_128_64(<2 x i64> %v) { define <4 x i64> @avx512_psrai_q_256_0(<4 x i64> %v) { ; CHECK-LABEL: @avx512_psrai_q_256_0( -; CHECK-NEXT: ret <4 x i64> %v +; CHECK-NEXT: ret <4 x i64> [[V:%.*]] ; %1 = tail call <4 x i64> @llvm.x86.avx512.psrai.q.256(<4 x i64> %v, i32 0) ret <4 x i64> %1 @@ -146,7 +146,7 @@ define <4 x i64> @avx512_psrai_q_256_0(<4 x i64> %v) { define <4 x i64> @avx512_psrai_q_256_15(<4 x i64> %v) { ; CHECK-LABEL: @avx512_psrai_q_256_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx512.psrai.q.256(<4 x i64> %v, i32 15) @@ -155,7 +155,7 @@ define <4 x i64> @avx512_psrai_q_256_15(<4 x i64> %v) { define <4 x i64> @avx512_psrai_q_256_64(<4 x i64> %v) { ; CHECK-LABEL: @avx512_psrai_q_256_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx512.psrai.q.256(<4 x i64> %v, i32 64) @@ -164,7 +164,7 @@ define <4 x i64> @avx512_psrai_q_256_64(<4 x i64> %v) { define <32 x i16> @avx512_psrai_w_512_0(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrai_w_512_0( -; CHECK-NEXT: ret <32 x i16> %v +; CHECK-NEXT: ret <32 x i16> [[V:%.*]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrai.w.512(<32 x i16> %v, i32 0) ret <32 x i16> %1 @@ -172,7 +172,7 @@ define <32 x i16> @avx512_psrai_w_512_0(<32 x i16> %v) { define <32 x i16> @avx512_psrai_w_512_15(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrai_w_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrai.w.512(<32 x i16> %v, i32 15) @@ -181,7 +181,7 @@ define <32 x i16> @avx512_psrai_w_512_15(<32 x i16> %v) { define <32 x i16> @avx512_psrai_w_512_64(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrai_w_512_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrai.w.512(<32 x i16> %v, i32 64) @@ -190,7 +190,7 @@ define <32 x i16> @avx512_psrai_w_512_64(<32 x i16> %v) { define <16 x i32> @avx512_psrai_d_512_0(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrai_d_512_0( -; CHECK-NEXT: ret <16 x i32> %v +; CHECK-NEXT: ret <16 x i32> [[V:%.*]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrai.d.512(<16 x i32> %v, i32 0) ret <16 x i32> %1 @@ -198,7 +198,7 @@ define <16 x i32> @avx512_psrai_d_512_0(<16 x i32> %v) { define <16 x i32> @avx512_psrai_d_512_15(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrai_d_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrai.d.512(<16 x i32> %v, i32 15) @@ -207,7 +207,7 @@ define <16 x i32> @avx512_psrai_d_512_15(<16 x i32> %v) { define <16 x i32> @avx512_psrai_d_512_64(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrai_d_512_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrai.d.512(<16 x i32> %v, i32 64) @@ -216,7 +216,7 @@ define <16 x i32> @avx512_psrai_d_512_64(<16 x i32> %v) { define <8 x i64> @avx512_psrai_q_512_0(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrai_q_512_0( -; CHECK-NEXT: ret <8 x i64> %v +; CHECK-NEXT: ret <8 x i64> [[V:%.*]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrai.q.512(<8 x i64> %v, i32 0) ret <8 x i64> %1 @@ -224,7 +224,7 @@ define <8 x i64> @avx512_psrai_q_512_0(<8 x i64> %v) { define <8 x i64> @avx512_psrai_q_512_15(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrai_q_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrai.q.512(<8 x i64> %v, i32 15) @@ -233,7 +233,7 @@ define <8 x i64> @avx512_psrai_q_512_15(<8 x i64> %v) { define <8 x i64> @avx512_psrai_q_512_64(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrai_q_512_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrai.q.512(<8 x i64> %v, i32 64) @@ -246,7 +246,7 @@ define <8 x i64> @avx512_psrai_q_512_64(<8 x i64> %v) { define <8 x i16> @sse2_psrli_w_0(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psrli_w_0( -; CHECK-NEXT: ret <8 x i16> %v +; CHECK-NEXT: ret <8 x i16> [[V:%.*]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psrli.w(<8 x i16> %v, i32 0) ret <8 x i16> %1 @@ -254,7 +254,7 @@ define <8 x i16> @sse2_psrli_w_0(<8 x i16> %v) { define <8 x i16> @sse2_psrli_w_15(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psrli_w_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psrli.w(<8 x i16> %v, i32 15) @@ -271,7 +271,7 @@ define <8 x i16> @sse2_psrli_w_64(<8 x i16> %v) { define <4 x i32> @sse2_psrli_d_0(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psrli_d_0( -; CHECK-NEXT: ret <4 x i32> %v +; CHECK-NEXT: ret <4 x i32> [[V:%.*]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psrli.d(<4 x i32> %v, i32 0) ret <4 x i32> %1 @@ -279,7 +279,7 @@ define <4 x i32> @sse2_psrli_d_0(<4 x i32> %v) { define <4 x i32> @sse2_psrli_d_15(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psrli_d_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psrli.d(<4 x i32> %v, i32 15) @@ -296,7 +296,7 @@ define <4 x i32> @sse2_psrli_d_64(<4 x i32> %v) { define <2 x i64> @sse2_psrli_q_0(<2 x i64> %v) { ; CHECK-LABEL: @sse2_psrli_q_0( -; CHECK-NEXT: ret <2 x i64> %v +; CHECK-NEXT: ret <2 x i64> [[V:%.*]] ; %1 = tail call <2 x i64> @llvm.x86.sse2.psrli.q(<2 x i64> %v, i32 0) ret <2 x i64> %1 @@ -304,7 +304,7 @@ define <2 x i64> @sse2_psrli_q_0(<2 x i64> %v) { define <2 x i64> @sse2_psrli_q_15(<2 x i64> %v) { ; CHECK-LABEL: @sse2_psrli_q_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <2 x i64> [[V:%.*]], ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.sse2.psrli.q(<2 x i64> %v, i32 15) @@ -321,7 +321,7 @@ define <2 x i64> @sse2_psrli_q_64(<2 x i64> %v) { define <16 x i16> @avx2_psrli_w_0(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psrli_w_0( -; CHECK-NEXT: ret <16 x i16> %v +; CHECK-NEXT: ret <16 x i16> [[V:%.*]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psrli.w(<16 x i16> %v, i32 0) ret <16 x i16> %1 @@ -329,7 +329,7 @@ define <16 x i16> @avx2_psrli_w_0(<16 x i16> %v) { define <16 x i16> @avx2_psrli_w_15(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psrli_w_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psrli.w(<16 x i16> %v, i32 15) @@ -346,7 +346,7 @@ define <16 x i16> @avx2_psrli_w_64(<16 x i16> %v) { define <8 x i32> @avx2_psrli_d_0(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrli_d_0( -; CHECK-NEXT: ret <8 x i32> %v +; CHECK-NEXT: ret <8 x i32> [[V:%.*]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrli.d(<8 x i32> %v, i32 0) ret <8 x i32> %1 @@ -354,7 +354,7 @@ define <8 x i32> @avx2_psrli_d_0(<8 x i32> %v) { define <8 x i32> @avx2_psrli_d_15(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrli_d_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrli.d(<8 x i32> %v, i32 15) @@ -371,7 +371,7 @@ define <8 x i32> @avx2_psrli_d_64(<8 x i32> %v) { define <4 x i64> @avx2_psrli_q_0(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psrli_q_0( -; CHECK-NEXT: ret <4 x i64> %v +; CHECK-NEXT: ret <4 x i64> [[V:%.*]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.psrli.q(<4 x i64> %v, i32 0) ret <4 x i64> %1 @@ -379,7 +379,7 @@ define <4 x i64> @avx2_psrli_q_0(<4 x i64> %v) { define <4 x i64> @avx2_psrli_q_15(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psrli_q_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.psrli.q(<4 x i64> %v, i32 15) @@ -396,7 +396,7 @@ define <4 x i64> @avx2_psrli_q_64(<4 x i64> %v) { define <32 x i16> @avx512_psrli_w_512_0(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrli_w_512_0( -; CHECK-NEXT: ret <32 x i16> %v +; CHECK-NEXT: ret <32 x i16> [[V:%.*]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrli.w.512(<32 x i16> %v, i32 0) ret <32 x i16> %1 @@ -404,7 +404,7 @@ define <32 x i16> @avx512_psrli_w_512_0(<32 x i16> %v) { define <32 x i16> @avx512_psrli_w_512_15(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrli_w_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrli.w.512(<32 x i16> %v, i32 15) @@ -421,7 +421,7 @@ define <32 x i16> @avx512_psrli_w_512_64(<32 x i16> %v) { define <16 x i32> @avx512_psrli_d_512_0(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrli_d_512_0( -; CHECK-NEXT: ret <16 x i32> %v +; CHECK-NEXT: ret <16 x i32> [[V:%.*]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrli.d.512(<16 x i32> %v, i32 0) ret <16 x i32> %1 @@ -429,7 +429,7 @@ define <16 x i32> @avx512_psrli_d_512_0(<16 x i32> %v) { define <16 x i32> @avx512_psrli_d_512_15(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrli_d_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrli.d.512(<16 x i32> %v, i32 15) @@ -446,7 +446,7 @@ define <16 x i32> @avx512_psrli_d_512_64(<16 x i32> %v) { define <8 x i64> @avx512_psrli_q_512_0(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrli_q_512_0( -; CHECK-NEXT: ret <8 x i64> %v +; CHECK-NEXT: ret <8 x i64> [[V:%.*]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrli.q.512(<8 x i64> %v, i32 0) ret <8 x i64> %1 @@ -454,7 +454,7 @@ define <8 x i64> @avx512_psrli_q_512_0(<8 x i64> %v) { define <8 x i64> @avx512_psrli_q_512_15(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrli_q_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrli.q.512(<8 x i64> %v, i32 15) @@ -475,7 +475,7 @@ define <8 x i64> @avx512_psrli_q_512_64(<8 x i64> %v) { define <8 x i16> @sse2_pslli_w_0(<8 x i16> %v) { ; CHECK-LABEL: @sse2_pslli_w_0( -; CHECK-NEXT: ret <8 x i16> %v +; CHECK-NEXT: ret <8 x i16> [[V:%.*]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.pslli.w(<8 x i16> %v, i32 0) ret <8 x i16> %1 @@ -483,7 +483,7 @@ define <8 x i16> @sse2_pslli_w_0(<8 x i16> %v) { define <8 x i16> @sse2_pslli_w_15(<8 x i16> %v) { ; CHECK-LABEL: @sse2_pslli_w_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.pslli.w(<8 x i16> %v, i32 15) @@ -500,7 +500,7 @@ define <8 x i16> @sse2_pslli_w_64(<8 x i16> %v) { define <4 x i32> @sse2_pslli_d_0(<4 x i32> %v) { ; CHECK-LABEL: @sse2_pslli_d_0( -; CHECK-NEXT: ret <4 x i32> %v +; CHECK-NEXT: ret <4 x i32> [[V:%.*]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.pslli.d(<4 x i32> %v, i32 0) ret <4 x i32> %1 @@ -508,7 +508,7 @@ define <4 x i32> @sse2_pslli_d_0(<4 x i32> %v) { define <4 x i32> @sse2_pslli_d_15(<4 x i32> %v) { ; CHECK-LABEL: @sse2_pslli_d_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.pslli.d(<4 x i32> %v, i32 15) @@ -525,7 +525,7 @@ define <4 x i32> @sse2_pslli_d_64(<4 x i32> %v) { define <2 x i64> @sse2_pslli_q_0(<2 x i64> %v) { ; CHECK-LABEL: @sse2_pslli_q_0( -; CHECK-NEXT: ret <2 x i64> %v +; CHECK-NEXT: ret <2 x i64> [[V:%.*]] ; %1 = tail call <2 x i64> @llvm.x86.sse2.pslli.q(<2 x i64> %v, i32 0) ret <2 x i64> %1 @@ -533,7 +533,7 @@ define <2 x i64> @sse2_pslli_q_0(<2 x i64> %v) { define <2 x i64> @sse2_pslli_q_15(<2 x i64> %v) { ; CHECK-LABEL: @sse2_pslli_q_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <2 x i64> [[V:%.*]], ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.sse2.pslli.q(<2 x i64> %v, i32 15) @@ -550,7 +550,7 @@ define <2 x i64> @sse2_pslli_q_64(<2 x i64> %v) { define <16 x i16> @avx2_pslli_w_0(<16 x i16> %v) { ; CHECK-LABEL: @avx2_pslli_w_0( -; CHECK-NEXT: ret <16 x i16> %v +; CHECK-NEXT: ret <16 x i16> [[V:%.*]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.pslli.w(<16 x i16> %v, i32 0) ret <16 x i16> %1 @@ -558,7 +558,7 @@ define <16 x i16> @avx2_pslli_w_0(<16 x i16> %v) { define <16 x i16> @avx2_pslli_w_15(<16 x i16> %v) { ; CHECK-LABEL: @avx2_pslli_w_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.pslli.w(<16 x i16> %v, i32 15) @@ -575,7 +575,7 @@ define <16 x i16> @avx2_pslli_w_64(<16 x i16> %v) { define <8 x i32> @avx2_pslli_d_0(<8 x i32> %v) { ; CHECK-LABEL: @avx2_pslli_d_0( -; CHECK-NEXT: ret <8 x i32> %v +; CHECK-NEXT: ret <8 x i32> [[V:%.*]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.pslli.d(<8 x i32> %v, i32 0) ret <8 x i32> %1 @@ -583,7 +583,7 @@ define <8 x i32> @avx2_pslli_d_0(<8 x i32> %v) { define <8 x i32> @avx2_pslli_d_15(<8 x i32> %v) { ; CHECK-LABEL: @avx2_pslli_d_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.pslli.d(<8 x i32> %v, i32 15) @@ -600,7 +600,7 @@ define <8 x i32> @avx2_pslli_d_64(<8 x i32> %v) { define <4 x i64> @avx2_pslli_q_0(<4 x i64> %v) { ; CHECK-LABEL: @avx2_pslli_q_0( -; CHECK-NEXT: ret <4 x i64> %v +; CHECK-NEXT: ret <4 x i64> [[V:%.*]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.pslli.q(<4 x i64> %v, i32 0) ret <4 x i64> %1 @@ -608,7 +608,7 @@ define <4 x i64> @avx2_pslli_q_0(<4 x i64> %v) { define <4 x i64> @avx2_pslli_q_15(<4 x i64> %v) { ; CHECK-LABEL: @avx2_pslli_q_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.pslli.q(<4 x i64> %v, i32 15) @@ -625,7 +625,7 @@ define <4 x i64> @avx2_pslli_q_64(<4 x i64> %v) { define <32 x i16> @avx512_pslli_w_512_0(<32 x i16> %v) { ; CHECK-LABEL: @avx512_pslli_w_512_0( -; CHECK-NEXT: ret <32 x i16> %v +; CHECK-NEXT: ret <32 x i16> [[V:%.*]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.pslli.w.512(<32 x i16> %v, i32 0) ret <32 x i16> %1 @@ -633,7 +633,7 @@ define <32 x i16> @avx512_pslli_w_512_0(<32 x i16> %v) { define <32 x i16> @avx512_pslli_w_512_15(<32 x i16> %v) { ; CHECK-LABEL: @avx512_pslli_w_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.pslli.w.512(<32 x i16> %v, i32 15) @@ -650,7 +650,7 @@ define <32 x i16> @avx512_pslli_w_512_64(<32 x i16> %v) { define <16 x i32> @avx512_pslli_d_512_0(<16 x i32> %v) { ; CHECK-LABEL: @avx512_pslli_d_512_0( -; CHECK-NEXT: ret <16 x i32> %v +; CHECK-NEXT: ret <16 x i32> [[V:%.*]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.pslli.d.512(<16 x i32> %v, i32 0) ret <16 x i32> %1 @@ -658,7 +658,7 @@ define <16 x i32> @avx512_pslli_d_512_0(<16 x i32> %v) { define <16 x i32> @avx512_pslli_d_512_15(<16 x i32> %v) { ; CHECK-LABEL: @avx512_pslli_d_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.pslli.d.512(<16 x i32> %v, i32 15) @@ -675,7 +675,7 @@ define <16 x i32> @avx512_pslli_d_512_64(<16 x i32> %v) { define <8 x i64> @avx512_pslli_q_512_0(<8 x i64> %v) { ; CHECK-LABEL: @avx512_pslli_q_512_0( -; CHECK-NEXT: ret <8 x i64> %v +; CHECK-NEXT: ret <8 x i64> [[V:%.*]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.pslli.q.512(<8 x i64> %v, i32 0) ret <8 x i64> %1 @@ -683,7 +683,7 @@ define <8 x i64> @avx512_pslli_q_512_0(<8 x i64> %v) { define <8 x i64> @avx512_pslli_q_512_15(<8 x i64> %v) { ; CHECK-LABEL: @avx512_pslli_q_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.pslli.q.512(<8 x i64> %v, i32 15) @@ -704,7 +704,7 @@ define <8 x i64> @avx512_pslli_q_512_64(<8 x i64> %v) { define <8 x i16> @sse2_psra_w_0(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psra_w_0( -; CHECK-NEXT: ret <8 x i16> %v +; CHECK-NEXT: ret <8 x i16> [[V:%.*]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psra.w(<8 x i16> %v, <8 x i16> zeroinitializer) ret <8 x i16> %1 @@ -712,7 +712,7 @@ define <8 x i16> @sse2_psra_w_0(<8 x i16> %v) { define <8 x i16> @sse2_psra_w_15(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psra_w_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psra.w(<8 x i16> %v, <8 x i16> ) @@ -721,7 +721,7 @@ define <8 x i16> @sse2_psra_w_15(<8 x i16> %v) { define <8 x i16> @sse2_psra_w_15_splat(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psra_w_15_splat( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psra.w(<8 x i16> %v, <8 x i16> ) @@ -730,7 +730,7 @@ define <8 x i16> @sse2_psra_w_15_splat(<8 x i16> %v) { define <8 x i16> @sse2_psra_w_64(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psra_w_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psra.w(<8 x i16> %v, <8 x i16> ) @@ -739,7 +739,7 @@ define <8 x i16> @sse2_psra_w_64(<8 x i16> %v) { define <4 x i32> @sse2_psra_d_0(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psra_d_0( -; CHECK-NEXT: ret <4 x i32> %v +; CHECK-NEXT: ret <4 x i32> [[V:%.*]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psra.d(<4 x i32> %v, <4 x i32> zeroinitializer) ret <4 x i32> %1 @@ -747,7 +747,7 @@ define <4 x i32> @sse2_psra_d_0(<4 x i32> %v) { define <4 x i32> @sse2_psra_d_15(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psra_d_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psra.d(<4 x i32> %v, <4 x i32> ) @@ -756,7 +756,7 @@ define <4 x i32> @sse2_psra_d_15(<4 x i32> %v) { define <4 x i32> @sse2_psra_d_15_splat(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psra_d_15_splat( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psra.d(<4 x i32> %v, <4 x i32> ) @@ -765,7 +765,7 @@ define <4 x i32> @sse2_psra_d_15_splat(<4 x i32> %v) { define <4 x i32> @sse2_psra_d_64(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psra_d_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psra.d(<4 x i32> %v, <4 x i32> ) @@ -774,7 +774,7 @@ define <4 x i32> @sse2_psra_d_64(<4 x i32> %v) { define <16 x i16> @avx2_psra_w_0(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psra_w_0( -; CHECK-NEXT: ret <16 x i16> %v +; CHECK-NEXT: ret <16 x i16> [[V:%.*]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psra.w(<16 x i16> %v, <8 x i16> zeroinitializer) ret <16 x i16> %1 @@ -782,7 +782,7 @@ define <16 x i16> @avx2_psra_w_0(<16 x i16> %v) { define <16 x i16> @avx2_psra_w_15(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psra_w_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psra.w(<16 x i16> %v, <8 x i16> ) @@ -791,7 +791,7 @@ define <16 x i16> @avx2_psra_w_15(<16 x i16> %v) { define <16 x i16> @avx2_psra_w_15_splat(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psra_w_15_splat( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psra.w(<16 x i16> %v, <8 x i16> ) @@ -800,7 +800,7 @@ define <16 x i16> @avx2_psra_w_15_splat(<16 x i16> %v) { define <16 x i16> @avx2_psra_w_64(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psra_w_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psra.w(<16 x i16> %v, <8 x i16> ) @@ -809,7 +809,7 @@ define <16 x i16> @avx2_psra_w_64(<16 x i16> %v) { define <8 x i32> @avx2_psra_d_0(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psra_d_0( -; CHECK-NEXT: ret <8 x i32> %v +; CHECK-NEXT: ret <8 x i32> [[V:%.*]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psra.d(<8 x i32> %v, <4 x i32> zeroinitializer) ret <8 x i32> %1 @@ -817,7 +817,7 @@ define <8 x i32> @avx2_psra_d_0(<8 x i32> %v) { define <8 x i32> @avx2_psra_d_15(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psra_d_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psra.d(<8 x i32> %v, <4 x i32> ) @@ -826,7 +826,7 @@ define <8 x i32> @avx2_psra_d_15(<8 x i32> %v) { define <8 x i32> @avx2_psra_d_15_splat(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psra_d_15_splat( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psra.d(<8 x i32> %v, <4 x i32> ) @@ -835,7 +835,7 @@ define <8 x i32> @avx2_psra_d_15_splat(<8 x i32> %v) { define <8 x i32> @avx2_psra_d_64(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psra_d_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psra.d(<8 x i32> %v, <4 x i32> ) @@ -844,7 +844,7 @@ define <8 x i32> @avx2_psra_d_64(<8 x i32> %v) { define <2 x i64> @avx512_psra_q_128_0(<2 x i64> %v) { ; CHECK-LABEL: @avx512_psra_q_128_0( -; CHECK-NEXT: ret <2 x i64> %v +; CHECK-NEXT: ret <2 x i64> [[V:%.*]] ; %1 = tail call <2 x i64> @llvm.x86.avx512.psra.q.128(<2 x i64> %v, <2 x i64> zeroinitializer) ret <2 x i64> %1 @@ -852,7 +852,7 @@ define <2 x i64> @avx512_psra_q_128_0(<2 x i64> %v) { define <2 x i64> @avx512_psra_q_128_15(<2 x i64> %v) { ; CHECK-LABEL: @avx512_psra_q_128_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> [[V:%.*]], ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.avx512.psra.q.128(<2 x i64> %v, <2 x i64> ) @@ -861,7 +861,7 @@ define <2 x i64> @avx512_psra_q_128_15(<2 x i64> %v) { define <2 x i64> @avx512_psra_q_128_64(<2 x i64> %v) { ; CHECK-LABEL: @avx512_psra_q_128_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> [[V:%.*]], ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.avx512.psra.q.128(<2 x i64> %v, <2 x i64> ) @@ -870,7 +870,7 @@ define <2 x i64> @avx512_psra_q_128_64(<2 x i64> %v) { define <4 x i64> @avx512_psra_q_256_0(<4 x i64> %v) { ; CHECK-LABEL: @avx512_psra_q_256_0( -; CHECK-NEXT: ret <4 x i64> %v +; CHECK-NEXT: ret <4 x i64> [[V:%.*]] ; %1 = tail call <4 x i64> @llvm.x86.avx512.psra.q.256(<4 x i64> %v, <2 x i64> zeroinitializer) ret <4 x i64> %1 @@ -878,7 +878,7 @@ define <4 x i64> @avx512_psra_q_256_0(<4 x i64> %v) { define <4 x i64> @avx512_psra_q_256_15(<4 x i64> %v) { ; CHECK-LABEL: @avx512_psra_q_256_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx512.psra.q.256(<4 x i64> %v, <2 x i64> ) @@ -887,7 +887,7 @@ define <4 x i64> @avx512_psra_q_256_15(<4 x i64> %v) { define <4 x i64> @avx512_psra_q_256_64(<4 x i64> %v) { ; CHECK-LABEL: @avx512_psra_q_256_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx512.psra.q.256(<4 x i64> %v, <2 x i64> ) @@ -896,7 +896,7 @@ define <4 x i64> @avx512_psra_q_256_64(<4 x i64> %v) { define <32 x i16> @avx512_psra_w_512_0(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psra_w_512_0( -; CHECK-NEXT: ret <32 x i16> %v +; CHECK-NEXT: ret <32 x i16> [[V:%.*]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psra.w.512(<32 x i16> %v, <8 x i16> zeroinitializer) ret <32 x i16> %1 @@ -904,7 +904,7 @@ define <32 x i16> @avx512_psra_w_512_0(<32 x i16> %v) { define <32 x i16> @avx512_psra_w_512_15(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psra_w_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psra.w.512(<32 x i16> %v, <8 x i16> ) @@ -913,7 +913,7 @@ define <32 x i16> @avx512_psra_w_512_15(<32 x i16> %v) { define <32 x i16> @avx512_psra_w_512_15_splat(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psra_w_512_15_splat( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psra.w.512(<32 x i16> %v, <8 x i16> ) @@ -922,7 +922,7 @@ define <32 x i16> @avx512_psra_w_512_15_splat(<32 x i16> %v) { define <32 x i16> @avx512_psra_w_512_64(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psra_w_512_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psra.w.512(<32 x i16> %v, <8 x i16> ) @@ -931,7 +931,7 @@ define <32 x i16> @avx512_psra_w_512_64(<32 x i16> %v) { define <16 x i32> @avx512_psra_d_512_0(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psra_d_512_0( -; CHECK-NEXT: ret <16 x i32> %v +; CHECK-NEXT: ret <16 x i32> [[V:%.*]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psra.d.512(<16 x i32> %v, <4 x i32> zeroinitializer) ret <16 x i32> %1 @@ -939,7 +939,7 @@ define <16 x i32> @avx512_psra_d_512_0(<16 x i32> %v) { define <16 x i32> @avx512_psra_d_512_15(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psra_d_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psra.d.512(<16 x i32> %v, <4 x i32> ) @@ -948,7 +948,7 @@ define <16 x i32> @avx512_psra_d_512_15(<16 x i32> %v) { define <16 x i32> @avx512_psra_d_512_15_splat(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psra_d_512_15_splat( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psra.d.512(<16 x i32> %v, <4 x i32> ) @@ -957,7 +957,7 @@ define <16 x i32> @avx512_psra_d_512_15_splat(<16 x i32> %v) { define <16 x i32> @avx512_psra_d_512_64(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psra_d_512_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psra.d.512(<16 x i32> %v, <4 x i32> ) @@ -966,7 +966,7 @@ define <16 x i32> @avx512_psra_d_512_64(<16 x i32> %v) { define <8 x i64> @avx512_psra_q_512_0(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psra_q_512_0( -; CHECK-NEXT: ret <8 x i64> %v +; CHECK-NEXT: ret <8 x i64> [[V:%.*]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psra.q.512(<8 x i64> %v, <2 x i64> zeroinitializer) ret <8 x i64> %1 @@ -974,7 +974,7 @@ define <8 x i64> @avx512_psra_q_512_0(<8 x i64> %v) { define <8 x i64> @avx512_psra_q_512_15(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psra_q_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psra.q.512(<8 x i64> %v, <2 x i64> ) @@ -983,7 +983,7 @@ define <8 x i64> @avx512_psra_q_512_15(<8 x i64> %v) { define <8 x i64> @avx512_psra_q_512_64(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psra_q_512_64( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psra.q.512(<8 x i64> %v, <2 x i64> ) @@ -996,7 +996,7 @@ define <8 x i64> @avx512_psra_q_512_64(<8 x i64> %v) { define <8 x i16> @sse2_psrl_w_0(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psrl_w_0( -; CHECK-NEXT: ret <8 x i16> %v +; CHECK-NEXT: ret <8 x i16> [[V:%.*]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psrl.w(<8 x i16> %v, <8 x i16> zeroinitializer) ret <8 x i16> %1 @@ -1004,7 +1004,7 @@ define <8 x i16> @sse2_psrl_w_0(<8 x i16> %v) { define <8 x i16> @sse2_psrl_w_15(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psrl_w_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psrl.w(<8 x i16> %v, <8 x i16> ) @@ -1029,7 +1029,7 @@ define <8 x i16> @sse2_psrl_w_64(<8 x i16> %v) { define <4 x i32> @sse2_psrl_d_0(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psrl_d_0( -; CHECK-NEXT: ret <4 x i32> %v +; CHECK-NEXT: ret <4 x i32> [[V:%.*]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psrl.d(<4 x i32> %v, <4 x i32> zeroinitializer) ret <4 x i32> %1 @@ -1037,7 +1037,7 @@ define <4 x i32> @sse2_psrl_d_0(<4 x i32> %v) { define <4 x i32> @sse2_psrl_d_15(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psrl_d_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psrl.d(<4 x i32> %v, <4 x i32> ) @@ -1062,7 +1062,7 @@ define <4 x i32> @sse2_psrl_d_64(<4 x i32> %v) { define <2 x i64> @sse2_psrl_q_0(<2 x i64> %v) { ; CHECK-LABEL: @sse2_psrl_q_0( -; CHECK-NEXT: ret <2 x i64> %v +; CHECK-NEXT: ret <2 x i64> [[V:%.*]] ; %1 = tail call <2 x i64> @llvm.x86.sse2.psrl.q(<2 x i64> %v, <2 x i64> zeroinitializer) ret <2 x i64> %1 @@ -1070,7 +1070,7 @@ define <2 x i64> @sse2_psrl_q_0(<2 x i64> %v) { define <2 x i64> @sse2_psrl_q_15(<2 x i64> %v) { ; CHECK-LABEL: @sse2_psrl_q_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <2 x i64> [[V:%.*]], ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.sse2.psrl.q(<2 x i64> %v, <2 x i64> ) @@ -1087,7 +1087,7 @@ define <2 x i64> @sse2_psrl_q_64(<2 x i64> %v) { define <16 x i16> @avx2_psrl_w_0(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psrl_w_0( -; CHECK-NEXT: ret <16 x i16> %v +; CHECK-NEXT: ret <16 x i16> [[V:%.*]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psrl.w(<16 x i16> %v, <8 x i16> zeroinitializer) ret <16 x i16> %1 @@ -1095,7 +1095,7 @@ define <16 x i16> @avx2_psrl_w_0(<16 x i16> %v) { define <16 x i16> @avx2_psrl_w_15(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psrl_w_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psrl.w(<16 x i16> %v, <8 x i16> ) @@ -1120,7 +1120,7 @@ define <16 x i16> @avx2_psrl_w_64(<16 x i16> %v) { define <8 x i32> @avx2_psrl_d_0(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrl_d_0( -; CHECK-NEXT: ret <8 x i32> %v +; CHECK-NEXT: ret <8 x i32> [[V:%.*]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrl.d(<8 x i32> %v, <4 x i32> zeroinitializer) ret <8 x i32> %1 @@ -1128,7 +1128,7 @@ define <8 x i32> @avx2_psrl_d_0(<8 x i32> %v) { define <8 x i32> @avx2_psrl_d_15(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrl_d_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrl.d(<8 x i32> %v, <4 x i32> ) @@ -1153,7 +1153,7 @@ define <8 x i32> @avx2_psrl_d_64(<8 x i32> %v) { define <4 x i64> @avx2_psrl_q_0(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psrl_q_0( -; CHECK-NEXT: ret <4 x i64> %v +; CHECK-NEXT: ret <4 x i64> [[V:%.*]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.psrl.q(<4 x i64> %v, <2 x i64> zeroinitializer) ret <4 x i64> %1 @@ -1161,7 +1161,7 @@ define <4 x i64> @avx2_psrl_q_0(<4 x i64> %v) { define <4 x i64> @avx2_psrl_q_15(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psrl_q_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.psrl.q(<4 x i64> %v, <2 x i64> ) @@ -1178,7 +1178,7 @@ define <4 x i64> @avx2_psrl_q_64(<4 x i64> %v) { define <32 x i16> @avx512_psrl_w_512_0(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrl_w_512_0( -; CHECK-NEXT: ret <32 x i16> %v +; CHECK-NEXT: ret <32 x i16> [[V:%.*]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrl.w.512(<32 x i16> %v, <8 x i16> zeroinitializer) ret <32 x i16> %1 @@ -1186,7 +1186,7 @@ define <32 x i16> @avx512_psrl_w_512_0(<32 x i16> %v) { define <32 x i16> @avx512_psrl_w_512_15(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrl_w_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrl.w.512(<32 x i16> %v, <8 x i16> ) @@ -1211,7 +1211,7 @@ define <32 x i16> @avx512_psrl_w_512_64(<32 x i16> %v) { define <16 x i32> @avx512_psrl_d_512_0(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrl_d_512_0( -; CHECK-NEXT: ret <16 x i32> %v +; CHECK-NEXT: ret <16 x i32> [[V:%.*]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrl.d.512(<16 x i32> %v, <4 x i32> zeroinitializer) ret <16 x i32> %1 @@ -1219,7 +1219,7 @@ define <16 x i32> @avx512_psrl_d_512_0(<16 x i32> %v) { define <16 x i32> @avx512_psrl_d_512_15(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrl_d_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrl.d.512(<16 x i32> %v, <4 x i32> ) @@ -1244,7 +1244,7 @@ define <16 x i32> @avx512_psrl_d_512_64(<16 x i32> %v) { define <8 x i64> @avx512_psrl_q_512_0(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrl_q_512_0( -; CHECK-NEXT: ret <8 x i64> %v +; CHECK-NEXT: ret <8 x i64> [[V:%.*]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrl.q.512(<8 x i64> %v, <2 x i64> zeroinitializer) ret <8 x i64> %1 @@ -1252,7 +1252,7 @@ define <8 x i64> @avx512_psrl_q_512_0(<8 x i64> %v) { define <8 x i64> @avx512_psrl_q_512_15(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrl_q_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrl.q.512(<8 x i64> %v, <2 x i64> ) @@ -1273,7 +1273,7 @@ define <8 x i64> @avx512_psrl_q_512_64(<8 x i64> %v) { define <8 x i16> @sse2_psll_w_0(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psll_w_0( -; CHECK-NEXT: ret <8 x i16> %v +; CHECK-NEXT: ret <8 x i16> [[V:%.*]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psll.w(<8 x i16> %v, <8 x i16> zeroinitializer) ret <8 x i16> %1 @@ -1281,7 +1281,7 @@ define <8 x i16> @sse2_psll_w_0(<8 x i16> %v) { define <8 x i16> @sse2_psll_w_15(<8 x i16> %v) { ; CHECK-LABEL: @sse2_psll_w_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psll.w(<8 x i16> %v, <8 x i16> ) @@ -1306,7 +1306,7 @@ define <8 x i16> @sse2_psll_w_64(<8 x i16> %v) { define <4 x i32> @sse2_psll_d_0(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psll_d_0( -; CHECK-NEXT: ret <4 x i32> %v +; CHECK-NEXT: ret <4 x i32> [[V:%.*]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psll.d(<4 x i32> %v, <4 x i32> zeroinitializer) ret <4 x i32> %1 @@ -1314,7 +1314,7 @@ define <4 x i32> @sse2_psll_d_0(<4 x i32> %v) { define <4 x i32> @sse2_psll_d_15(<4 x i32> %v) { ; CHECK-LABEL: @sse2_psll_d_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psll.d(<4 x i32> %v, <4 x i32> ) @@ -1339,7 +1339,7 @@ define <4 x i32> @sse2_psll_d_64(<4 x i32> %v) { define <2 x i64> @sse2_psll_q_0(<2 x i64> %v) { ; CHECK-LABEL: @sse2_psll_q_0( -; CHECK-NEXT: ret <2 x i64> %v +; CHECK-NEXT: ret <2 x i64> [[V:%.*]] ; %1 = tail call <2 x i64> @llvm.x86.sse2.psll.q(<2 x i64> %v, <2 x i64> zeroinitializer) ret <2 x i64> %1 @@ -1347,7 +1347,7 @@ define <2 x i64> @sse2_psll_q_0(<2 x i64> %v) { define <2 x i64> @sse2_psll_q_15(<2 x i64> %v) { ; CHECK-LABEL: @sse2_psll_q_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <2 x i64> [[V:%.*]], ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.sse2.psll.q(<2 x i64> %v, <2 x i64> ) @@ -1364,7 +1364,7 @@ define <2 x i64> @sse2_psll_q_64(<2 x i64> %v) { define <16 x i16> @avx2_psll_w_0(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psll_w_0( -; CHECK-NEXT: ret <16 x i16> %v +; CHECK-NEXT: ret <16 x i16> [[V:%.*]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psll.w(<16 x i16> %v, <8 x i16> zeroinitializer) ret <16 x i16> %1 @@ -1372,7 +1372,7 @@ define <16 x i16> @avx2_psll_w_0(<16 x i16> %v) { define <16 x i16> @avx2_psll_w_15(<16 x i16> %v) { ; CHECK-LABEL: @avx2_psll_w_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psll.w(<16 x i16> %v, <8 x i16> ) @@ -1397,7 +1397,7 @@ define <16 x i16> @avx2_psll_w_64(<16 x i16> %v) { define <8 x i32> @avx2_psll_d_0(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psll_d_0( -; CHECK-NEXT: ret <8 x i32> %v +; CHECK-NEXT: ret <8 x i32> [[V:%.*]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psll.d(<8 x i32> %v, <4 x i32> zeroinitializer) ret <8 x i32> %1 @@ -1405,7 +1405,7 @@ define <8 x i32> @avx2_psll_d_0(<8 x i32> %v) { define <8 x i32> @avx2_psll_d_15(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psll_d_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psll.d(<8 x i32> %v, <4 x i32> ) @@ -1430,7 +1430,7 @@ define <8 x i32> @avx2_psll_d_64(<8 x i32> %v) { define <4 x i64> @avx2_psll_q_0(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psll_q_0( -; CHECK-NEXT: ret <4 x i64> %v +; CHECK-NEXT: ret <4 x i64> [[V:%.*]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.psll.q(<4 x i64> %v, <2 x i64> zeroinitializer) ret <4 x i64> %1 @@ -1438,7 +1438,7 @@ define <4 x i64> @avx2_psll_q_0(<4 x i64> %v) { define <4 x i64> @avx2_psll_q_15(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psll_q_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.psll.q(<4 x i64> %v, <2 x i64> ) @@ -1455,7 +1455,7 @@ define <4 x i64> @avx2_psll_q_64(<4 x i64> %v) { define <32 x i16> @avx512_psll_w_512_0(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psll_w_512_0( -; CHECK-NEXT: ret <32 x i16> %v +; CHECK-NEXT: ret <32 x i16> [[V:%.*]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psll.w.512(<32 x i16> %v, <8 x i16> zeroinitializer) ret <32 x i16> %1 @@ -1463,7 +1463,7 @@ define <32 x i16> @avx512_psll_w_512_0(<32 x i16> %v) { define <32 x i16> @avx512_psll_w_512_15(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psll_w_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psll.w.512(<32 x i16> %v, <8 x i16> ) @@ -1488,7 +1488,7 @@ define <32 x i16> @avx512_psll_w_512_64(<32 x i16> %v) { define <16 x i32> @avx512_psll_d_512_0(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psll_d_512_0( -; CHECK-NEXT: ret <16 x i32> %v +; CHECK-NEXT: ret <16 x i32> [[V:%.*]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psll.d.512(<16 x i32> %v, <4 x i32> zeroinitializer) ret <16 x i32> %1 @@ -1496,7 +1496,7 @@ define <16 x i32> @avx512_psll_d_512_0(<16 x i32> %v) { define <16 x i32> @avx512_psll_d_512_15(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psll_d_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psll.d.512(<16 x i32> %v, <4 x i32> ) @@ -1521,7 +1521,7 @@ define <16 x i32> @avx512_psll_d_512_64(<16 x i32> %v) { define <8 x i64> @avx512_psll_q_512_0(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psll_q_512_0( -; CHECK-NEXT: ret <8 x i64> %v +; CHECK-NEXT: ret <8 x i64> [[V:%.*]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psll.q.512(<8 x i64> %v, <2 x i64> zeroinitializer) ret <8 x i64> %1 @@ -1529,7 +1529,7 @@ define <8 x i64> @avx512_psll_q_512_0(<8 x i64> %v) { define <8 x i64> @avx512_psll_q_512_15(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psll_q_512_15( -; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psll.q.512(<8 x i64> %v, <2 x i64> ) @@ -1550,7 +1550,7 @@ define <8 x i64> @avx512_psll_q_512_64(<8 x i64> %v) { define <4 x i32> @avx2_psrav_d_128_0(<4 x i32> %v) { ; CHECK-LABEL: @avx2_psrav_d_128_0( -; CHECK-NEXT: ret <4 x i32> %v +; CHECK-NEXT: ret <4 x i32> [[V:%.*]] ; %1 = tail call <4 x i32> @llvm.x86.avx2.psrav.d(<4 x i32> %v, <4 x i32> zeroinitializer) ret <4 x i32> %1 @@ -1558,7 +1558,7 @@ define <4 x i32> @avx2_psrav_d_128_0(<4 x i32> %v) { define <8 x i32> @avx2_psrav_d_256_0(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrav_d_256_0( -; CHECK-NEXT: ret <8 x i32> %v +; CHECK-NEXT: ret <8 x i32> [[V:%.*]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrav.d.256(<8 x i32> %v, <8 x i32> zeroinitializer) ret <8 x i32> %1 @@ -1566,7 +1566,7 @@ define <8 x i32> @avx2_psrav_d_256_0(<8 x i32> %v) { define <16 x i32> @avx512_psrav_d_512_0(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrav_d_512_0( -; CHECK-NEXT: ret <16 x i32> %v +; CHECK-NEXT: ret <16 x i32> [[V:%.*]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrav.d.512(<16 x i32> %v, <16 x i32> zeroinitializer) ret <16 x i32> %1 @@ -1574,7 +1574,7 @@ define <16 x i32> @avx512_psrav_d_512_0(<16 x i32> %v) { define <4 x i32> @avx2_psrav_d_128_var(<4 x i32> %v) { ; CHECK-LABEL: @avx2_psrav_d_128_var( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.avx2.psrav.d(<4 x i32> %v, <4 x i32> ) @@ -1583,7 +1583,7 @@ define <4 x i32> @avx2_psrav_d_128_var(<4 x i32> %v) { define <8 x i32> @avx2_psrav_d_256_var(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrav_d_256_var( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrav.d.256(<8 x i32> %v, <8 x i32> ) @@ -1592,7 +1592,7 @@ define <8 x i32> @avx2_psrav_d_256_var(<8 x i32> %v) { define <16 x i32> @avx512_psrav_d_512_var(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrav_d_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrav.d.512(<16 x i32> %v, <16 x i32> ) @@ -1601,7 +1601,7 @@ define <16 x i32> @avx512_psrav_d_512_var(<16 x i32> %v) { define <4 x i32> @avx2_psrav_d_128_allbig(<4 x i32> %v) { ; CHECK-LABEL: @avx2_psrav_d_128_allbig( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.avx2.psrav.d(<4 x i32> %v, <4 x i32> ) @@ -1610,7 +1610,7 @@ define <4 x i32> @avx2_psrav_d_128_allbig(<4 x i32> %v) { define <8 x i32> @avx2_psrav_d_256_allbig(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrav_d_256_allbig( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrav.d.256(<8 x i32> %v, <8 x i32> ) @@ -1619,7 +1619,7 @@ define <8 x i32> @avx2_psrav_d_256_allbig(<8 x i32> %v) { define <16 x i32> @avx512_psrav_d_512_allbig(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrav_d_512_allbig( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrav.d.512(<16 x i32> %v, <16 x i32> ) @@ -1628,7 +1628,7 @@ define <16 x i32> @avx512_psrav_d_512_allbig(<16 x i32> %v) { define <4 x i32> @avx2_psrav_d_128_undef(<4 x i32> %v) { ; CHECK-LABEL: @avx2_psrav_d_128_undef( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = insertelement <4 x i32> , i32 undef, i32 0 @@ -1638,7 +1638,7 @@ define <4 x i32> @avx2_psrav_d_128_undef(<4 x i32> %v) { define <8 x i32> @avx2_psrav_d_256_undef(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrav_d_256_undef( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = insertelement <8 x i32> , i32 undef, i32 1 @@ -1648,7 +1648,7 @@ define <8 x i32> @avx2_psrav_d_256_undef(<8 x i32> %v) { define <16 x i32> @avx512_psrav_d_512_undef(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrav_d_512_undef( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = insertelement <16 x i32> , i32 undef, i32 1 @@ -1658,7 +1658,7 @@ define <16 x i32> @avx512_psrav_d_512_undef(<16 x i32> %v) { define <2 x i64> @avx512_psrav_q_128_0(<2 x i64> %v) { ; CHECK-LABEL: @avx512_psrav_q_128_0( -; CHECK-NEXT: ret <2 x i64> %v +; CHECK-NEXT: ret <2 x i64> [[V:%.*]] ; %1 = tail call <2 x i64> @llvm.x86.avx512.psrav.q.128(<2 x i64> %v, <2 x i64> zeroinitializer) ret <2 x i64> %1 @@ -1666,7 +1666,7 @@ define <2 x i64> @avx512_psrav_q_128_0(<2 x i64> %v) { define <4 x i64> @avx512_psrav_q_256_0(<4 x i64> %v) { ; CHECK-LABEL: @avx512_psrav_q_256_0( -; CHECK-NEXT: ret <4 x i64> %v +; CHECK-NEXT: ret <4 x i64> [[V:%.*]] ; %1 = tail call <4 x i64> @llvm.x86.avx512.psrav.q.256(<4 x i64> %v, <4 x i64> zeroinitializer) ret <4 x i64> %1 @@ -1674,14 +1674,16 @@ define <4 x i64> @avx512_psrav_q_256_0(<4 x i64> %v) { define <2 x i64> @avx512_psrav_q_128_var(<2 x i64> %v) { ; CHECK-LABEL: @avx512_psrav_q_128_var( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> [[V:%.*]], +; CHECK-NEXT: ret <2 x i64> [[TMP1]] +; %1 = tail call <2 x i64> @llvm.x86.avx512.psrav.q.128(<2 x i64> %v, <2 x i64> ) ret <2 x i64> %1 } define <4 x i64> @avx512_psrav_q_256_var(<4 x i64> %v) { ; CHECK-LABEL: @avx512_psrav_q_256_var( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx512.psrav.q.256(<4 x i64> %v, <4 x i64> ) @@ -1690,7 +1692,7 @@ define <4 x i64> @avx512_psrav_q_256_var(<4 x i64> %v) { define <2 x i64> @avx512_psrav_q_128_allbig(<2 x i64> %v) { ; CHECK-LABEL: @avx512_psrav_q_128_allbig( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> [[V:%.*]], ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.avx512.psrav.q.128(<2 x i64> %v, <2 x i64> ) @@ -1699,7 +1701,7 @@ define <2 x i64> @avx512_psrav_q_128_allbig(<2 x i64> %v) { define <4 x i64> @avx512_psrav_q_256_allbig(<4 x i64> %v) { ; CHECK-LABEL: @avx512_psrav_q_256_allbig( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx512.psrav.q.256(<4 x i64> %v, <4 x i64> ) @@ -1708,7 +1710,7 @@ define <4 x i64> @avx512_psrav_q_256_allbig(<4 x i64> %v) { define <2 x i64> @avx512_psrav_q_128_undef(<2 x i64> %v) { ; CHECK-LABEL: @avx512_psrav_q_128_undef( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i64> [[V:%.*]], ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = insertelement <2 x i64> , i64 undef, i64 0 @@ -1718,7 +1720,7 @@ define <2 x i64> @avx512_psrav_q_128_undef(<2 x i64> %v) { define <4 x i64> @avx512_psrav_q_256_undef(<4 x i64> %v) { ; CHECK-LABEL: @avx512_psrav_q_256_undef( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = insertelement <4 x i64> , i64 undef, i64 0 @@ -1728,7 +1730,7 @@ define <4 x i64> @avx512_psrav_q_256_undef(<4 x i64> %v) { define <8 x i64> @avx512_psrav_q_512_0(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrav_q_512_0( -; CHECK-NEXT: ret <8 x i64> %v +; CHECK-NEXT: ret <8 x i64> [[V:%.*]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrav.q.512(<8 x i64> %v, <8 x i64> zeroinitializer) ret <8 x i64> %1 @@ -1736,7 +1738,7 @@ define <8 x i64> @avx512_psrav_q_512_0(<8 x i64> %v) { define <8 x i64> @avx512_psrav_q_512_var(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrav_q_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrav.q.512(<8 x i64> %v, <8 x i64> ) @@ -1745,7 +1747,7 @@ define <8 x i64> @avx512_psrav_q_512_var(<8 x i64> %v) { define <8 x i64> @avx512_psrav_q_512_allbig(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrav_q_512_allbig( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrav.q.512(<8 x i64> %v, <8 x i64> ) @@ -1754,7 +1756,7 @@ define <8 x i64> @avx512_psrav_q_512_allbig(<8 x i64> %v) { define <8 x i64> @avx512_psrav_q_512_undef(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrav_q_512_undef( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = insertelement <8 x i64> , i64 undef, i64 0 @@ -1764,7 +1766,7 @@ define <8 x i64> @avx512_psrav_q_512_undef(<8 x i64> %v) { define <8 x i16> @avx512_psrav_w_128_0(<8 x i16> %v) { ; CHECK-LABEL: @avx512_psrav_w_128_0( -; CHECK-NEXT: ret <8 x i16> %v +; CHECK-NEXT: ret <8 x i16> [[V:%.*]] ; %1 = tail call <8 x i16> @llvm.x86.avx512.psrav.w.128(<8 x i16> %v, <8 x i16> zeroinitializer) ret <8 x i16> %1 @@ -1772,7 +1774,7 @@ define <8 x i16> @avx512_psrav_w_128_0(<8 x i16> %v) { define <8 x i16> @avx512_psrav_w_128_var(<8 x i16> %v) { ; CHECK-LABEL: @avx512_psrav_w_128_var( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.avx512.psrav.w.128(<8 x i16> %v, <8 x i16> ) @@ -1781,9 +1783,8 @@ define <8 x i16> @avx512_psrav_w_128_var(<8 x i16> %v) { define <8 x i16> @avx512_psrav_w_128_allbig(<8 x i16> %v) { ; CHECK-LABEL: @avx512_psrav_w_128_allbig( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] -; ; %1 = tail call <8 x i16> @llvm.x86.avx512.psrav.w.128(<8 x i16> %v, <8 x i16> ) ret <8 x i16> %1 @@ -1791,7 +1792,7 @@ define <8 x i16> @avx512_psrav_w_128_allbig(<8 x i16> %v) { define <8 x i16> @avx512_psrav_w_128_undef(<8 x i16> %v) { ; CHECK-LABEL: @avx512_psrav_w_128_undef( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = insertelement <8 x i16> , i16 undef, i64 0 @@ -1801,7 +1802,7 @@ define <8 x i16> @avx512_psrav_w_128_undef(<8 x i16> %v) { define <16 x i16> @avx512_psrav_w_256_0(<16 x i16> %v) { ; CHECK-LABEL: @avx512_psrav_w_256_0( -; CHECK-NEXT: ret <16 x i16> %v +; CHECK-NEXT: ret <16 x i16> [[V:%.*]] ; %1 = tail call <16 x i16> @llvm.x86.avx512.psrav.w.256(<16 x i16> %v, <16 x i16> zeroinitializer) ret <16 x i16> %1 @@ -1809,7 +1810,7 @@ define <16 x i16> @avx512_psrav_w_256_0(<16 x i16> %v) { define <16 x i16> @avx512_psrav_w_256_var(<16 x i16> %v) { ; CHECK-LABEL: @avx512_psrav_w_256_var( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx512.psrav.w.256(<16 x i16> %v, <16 x i16> ) @@ -1818,9 +1819,8 @@ define <16 x i16> @avx512_psrav_w_256_var(<16 x i16> %v) { define <16 x i16> @avx512_psrav_w_256_allbig(<16 x i16> %v) { ; CHECK-LABEL: @avx512_psrav_w_256_allbig( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] -; ; %1 = tail call <16 x i16> @llvm.x86.avx512.psrav.w.256(<16 x i16> %v, <16 x i16> ) ret <16 x i16> %1 @@ -1828,7 +1828,7 @@ define <16 x i16> @avx512_psrav_w_256_allbig(<16 x i16> %v) { define <16 x i16> @avx512_psrav_w_256_undef(<16 x i16> %v) { ; CHECK-LABEL: @avx512_psrav_w_256_undef( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = insertelement <16 x i16> , i16 undef, i64 0 @@ -1838,7 +1838,7 @@ define <16 x i16> @avx512_psrav_w_256_undef(<16 x i16> %v) { define <32 x i16> @avx512_psrav_w_512_0(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrav_w_512_0( -; CHECK-NEXT: ret <32 x i16> %v +; CHECK-NEXT: ret <32 x i16> [[V:%.*]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrav.w.512(<32 x i16> %v, <32 x i16> zeroinitializer) ret <32 x i16> %1 @@ -1846,7 +1846,7 @@ define <32 x i16> @avx512_psrav_w_512_0(<32 x i16> %v) { define <32 x i16> @avx512_psrav_w_512_var(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrav_w_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrav.w.512(<32 x i16> %v, <32 x i16> ) @@ -1855,7 +1855,7 @@ define <32 x i16> @avx512_psrav_w_512_var(<32 x i16> %v) { define <32 x i16> @avx512_psrav_w_512_allbig(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrav_w_512_allbig( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrav.w.512(<32 x i16> %v, <32 x i16> ) @@ -1864,7 +1864,7 @@ define <32 x i16> @avx512_psrav_w_512_allbig(<32 x i16> %v) { define <32 x i16> @avx512_psrav_w_512_undef(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrav_w_512_undef( -; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = ashr <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = insertelement <32 x i16> , i16 undef, i64 0 @@ -1878,7 +1878,7 @@ define <32 x i16> @avx512_psrav_w_512_undef(<32 x i16> %v) { define <4 x i32> @avx2_psrlv_d_128_0(<4 x i32> %v) { ; CHECK-LABEL: @avx2_psrlv_d_128_0( -; CHECK-NEXT: ret <4 x i32> %v +; CHECK-NEXT: ret <4 x i32> [[V:%.*]] ; %1 = tail call <4 x i32> @llvm.x86.avx2.psrlv.d(<4 x i32> %v, <4 x i32> zeroinitializer) ret <4 x i32> %1 @@ -1886,7 +1886,7 @@ define <4 x i32> @avx2_psrlv_d_128_0(<4 x i32> %v) { define <8 x i32> @avx2_psrlv_d_256_0(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrlv_d_256_0( -; CHECK-NEXT: ret <8 x i32> %v +; CHECK-NEXT: ret <8 x i32> [[V:%.*]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrlv.d.256(<8 x i32> %v, <8 x i32> zeroinitializer) ret <8 x i32> %1 @@ -1894,7 +1894,7 @@ define <8 x i32> @avx2_psrlv_d_256_0(<8 x i32> %v) { define <4 x i32> @avx2_psrlv_d_128_var(<4 x i32> %v) { ; CHECK-LABEL: @avx2_psrlv_d_128_var( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.avx2.psrlv.d(<4 x i32> %v, <4 x i32> ) @@ -1903,7 +1903,7 @@ define <4 x i32> @avx2_psrlv_d_128_var(<4 x i32> %v) { define <8 x i32> @avx2_psrlv_d_256_var(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrlv_d_256_var( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrlv.d.256(<8 x i32> %v, <8 x i32> ) @@ -1912,7 +1912,7 @@ define <8 x i32> @avx2_psrlv_d_256_var(<8 x i32> %v) { define <4 x i32> @avx2_psrlv_d_128_big(<4 x i32> %v) { ; CHECK-LABEL: @avx2_psrlv_d_128_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i32> @llvm.x86.avx2.psrlv.d(<4 x i32> %v, <4 x i32> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i32> @llvm.x86.avx2.psrlv.d(<4 x i32> [[V:%.*]], <4 x i32> ) ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.avx2.psrlv.d(<4 x i32> %v, <4 x i32> ) @@ -1921,7 +1921,7 @@ define <4 x i32> @avx2_psrlv_d_128_big(<4 x i32> %v) { define <8 x i32> @avx2_psrlv_d_256_big(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrlv_d_256_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i32> @llvm.x86.avx2.psrlv.d.256(<8 x i32> %v, <8 x i32> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i32> @llvm.x86.avx2.psrlv.d.256(<8 x i32> [[V:%.*]], <8 x i32> ) ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrlv.d.256(<8 x i32> %v, <8 x i32> ) @@ -1946,7 +1946,7 @@ define <8 x i32> @avx2_psrlv_d_256_allbig(<8 x i32> %v) { define <4 x i32> @avx2_psrlv_d_128_undef(<4 x i32> %v) { ; CHECK-LABEL: @avx2_psrlv_d_128_undef( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = insertelement <4 x i32> , i32 undef, i32 0 @@ -1956,7 +1956,7 @@ define <4 x i32> @avx2_psrlv_d_128_undef(<4 x i32> %v) { define <8 x i32> @avx2_psrlv_d_256_undef(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psrlv_d_256_undef( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = insertelement <8 x i32> , i32 undef, i32 1 @@ -1966,7 +1966,7 @@ define <8 x i32> @avx2_psrlv_d_256_undef(<8 x i32> %v) { define <2 x i64> @avx2_psrlv_q_128_0(<2 x i64> %v) { ; CHECK-LABEL: @avx2_psrlv_q_128_0( -; CHECK-NEXT: ret <2 x i64> %v +; CHECK-NEXT: ret <2 x i64> [[V:%.*]] ; %1 = tail call <2 x i64> @llvm.x86.avx2.psrlv.q(<2 x i64> %v, <2 x i64> zeroinitializer) ret <2 x i64> %1 @@ -1974,7 +1974,7 @@ define <2 x i64> @avx2_psrlv_q_128_0(<2 x i64> %v) { define <4 x i64> @avx2_psrlv_q_256_0(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psrlv_q_256_0( -; CHECK-NEXT: ret <4 x i64> %v +; CHECK-NEXT: ret <4 x i64> [[V:%.*]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.psrlv.q.256(<4 x i64> %v, <4 x i64> zeroinitializer) ret <4 x i64> %1 @@ -1982,7 +1982,7 @@ define <4 x i64> @avx2_psrlv_q_256_0(<4 x i64> %v) { define <2 x i64> @avx2_psrlv_q_128_var(<2 x i64> %v) { ; CHECK-LABEL: @avx2_psrlv_q_128_var( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <2 x i64> [[V:%.*]], ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.avx2.psrlv.q(<2 x i64> %v, <2 x i64> ) @@ -1991,7 +1991,7 @@ define <2 x i64> @avx2_psrlv_q_128_var(<2 x i64> %v) { define <4 x i64> @avx2_psrlv_q_256_var(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psrlv_q_256_var( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.psrlv.q.256(<4 x i64> %v, <4 x i64> ) @@ -2000,7 +2000,7 @@ define <4 x i64> @avx2_psrlv_q_256_var(<4 x i64> %v) { define <2 x i64> @avx2_psrlv_q_128_big(<2 x i64> %v) { ; CHECK-LABEL: @avx2_psrlv_q_128_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <2 x i64> @llvm.x86.avx2.psrlv.q(<2 x i64> %v, <2 x i64> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <2 x i64> @llvm.x86.avx2.psrlv.q(<2 x i64> [[V:%.*]], <2 x i64> ) ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.avx2.psrlv.q(<2 x i64> %v, <2 x i64> ) @@ -2009,7 +2009,7 @@ define <2 x i64> @avx2_psrlv_q_128_big(<2 x i64> %v) { define <4 x i64> @avx2_psrlv_q_256_big(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psrlv_q_256_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i64> @llvm.x86.avx2.psrlv.q.256(<4 x i64> %v, <4 x i64> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i64> @llvm.x86.avx2.psrlv.q.256(<4 x i64> [[V:%.*]], <4 x i64> ) ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.psrlv.q.256(<4 x i64> %v, <4 x i64> ) @@ -2045,7 +2045,7 @@ define <2 x i64> @avx2_psrlv_q_128_undef(<2 x i64> %v) { define <4 x i64> @avx2_psrlv_q_256_undef(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psrlv_q_256_undef( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = insertelement <4 x i64> , i64 undef, i64 0 @@ -2055,7 +2055,7 @@ define <4 x i64> @avx2_psrlv_q_256_undef(<4 x i64> %v) { define <16 x i32> @avx2_psrlv_d_512_0(<16 x i32> %v) { ; CHECK-LABEL: @avx2_psrlv_d_512_0( -; CHECK-NEXT: ret <16 x i32> %v +; CHECK-NEXT: ret <16 x i32> [[V:%.*]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrlv.d.512(<16 x i32> %v, <16 x i32> zeroinitializer) ret <16 x i32> %1 @@ -2063,7 +2063,7 @@ define <16 x i32> @avx2_psrlv_d_512_0(<16 x i32> %v) { define <16 x i32> @avx512_psrlv_d_512_var(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrlv_d_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrlv.d.512(<16 x i32> %v, <16 x i32> ) @@ -2072,7 +2072,7 @@ define <16 x i32> @avx512_psrlv_d_512_var(<16 x i32> %v) { define <16 x i32> @avx512_psrlv_d_512_big(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrlv_d_512_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i32> @llvm.x86.avx512.psrlv.d.512(<16 x i32> %v, <16 x i32> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i32> @llvm.x86.avx512.psrlv.d.512(<16 x i32> [[V:%.*]], <16 x i32> ) ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrlv.d.512(<16 x i32> %v, <16 x i32> ) @@ -2089,7 +2089,7 @@ define <16 x i32> @avx512_psrlv_d_512_allbig(<16 x i32> %v) { define <16 x i32> @avx512_psrlv_d_512_undef(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psrlv_d_512_undef( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = insertelement <16 x i32> , i32 undef, i32 1 @@ -2099,7 +2099,7 @@ define <16 x i32> @avx512_psrlv_d_512_undef(<16 x i32> %v) { define <8 x i64> @avx512_psrlv_q_512_0(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrlv_q_512_0( -; CHECK-NEXT: ret <8 x i64> %v +; CHECK-NEXT: ret <8 x i64> [[V:%.*]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrlv.q.512(<8 x i64> %v, <8 x i64> zeroinitializer) ret <8 x i64> %1 @@ -2107,7 +2107,7 @@ define <8 x i64> @avx512_psrlv_q_512_0(<8 x i64> %v) { define <8 x i64> @avx512_psrlv_q_512_var(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrlv_q_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrlv.q.512(<8 x i64> %v, <8 x i64> ) @@ -2116,7 +2116,7 @@ define <8 x i64> @avx512_psrlv_q_512_var(<8 x i64> %v) { define <8 x i64> @avx512_psrlv_q_512_big(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrlv_q_512_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i64> @llvm.x86.avx512.psrlv.q.512(<8 x i64> %v, <8 x i64> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i64> @llvm.x86.avx512.psrlv.q.512(<8 x i64> [[V:%.*]], <8 x i64> ) ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psrlv.q.512(<8 x i64> %v, <8 x i64> ) @@ -2133,7 +2133,7 @@ define <8 x i64> @avx512_psrlv_q_512_allbig(<8 x i64> %v) { define <8 x i64> @avx512_psrlv_q_512_undef(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psrlv_q_512_undef( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = insertelement <8 x i64> , i64 undef, i64 0 @@ -2143,7 +2143,7 @@ define <8 x i64> @avx512_psrlv_q_512_undef(<8 x i64> %v) { define <8 x i16> @avx512_psrlv_w_128_0(<8 x i16> %v) { ; CHECK-LABEL: @avx512_psrlv_w_128_0( -; CHECK-NEXT: ret <8 x i16> %v +; CHECK-NEXT: ret <8 x i16> [[V:%.*]] ; %1 = tail call <8 x i16> @llvm.x86.avx512.psrlv.w.128(<8 x i16> %v, <8 x i16> zeroinitializer) ret <8 x i16> %1 @@ -2151,7 +2151,7 @@ define <8 x i16> @avx512_psrlv_w_128_0(<8 x i16> %v) { define <8 x i16> @avx512_psrlv_w_128_var(<8 x i16> %v) { ; CHECK-LABEL: @avx512_psrlv_w_128_var( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.avx512.psrlv.w.128(<8 x i16> %v, <8 x i16> ) @@ -2160,7 +2160,7 @@ define <8 x i16> @avx512_psrlv_w_128_var(<8 x i16> %v) { define <8 x i16> @avx512_psrlv_w_128_big(<8 x i16> %v) { ; CHECK-LABEL: @avx512_psrlv_w_128_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i16> @llvm.x86.avx512.psrlv.w.128(<8 x i16> %v, <8 x i16> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i16> @llvm.x86.avx512.psrlv.w.128(<8 x i16> [[V:%.*]], <8 x i16> ) ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.avx512.psrlv.w.128(<8 x i16> %v, <8 x i16> ) @@ -2177,7 +2177,7 @@ define <8 x i16> @avx512_psrlv_w_128_allbig(<8 x i16> %v) { define <8 x i16> @avx512_psrlv_w_128_undef(<8 x i16> %v) { ; CHECK-LABEL: @avx512_psrlv_w_128_undef( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = insertelement <8 x i16> , i16 undef, i64 0 @@ -2187,7 +2187,7 @@ define <8 x i16> @avx512_psrlv_w_128_undef(<8 x i16> %v) { define <16 x i16> @avx512_psrlv_w_256_0(<16 x i16> %v) { ; CHECK-LABEL: @avx512_psrlv_w_256_0( -; CHECK-NEXT: ret <16 x i16> %v +; CHECK-NEXT: ret <16 x i16> [[V:%.*]] ; %1 = tail call <16 x i16> @llvm.x86.avx512.psrlv.w.256(<16 x i16> %v, <16 x i16> zeroinitializer) ret <16 x i16> %1 @@ -2195,7 +2195,7 @@ define <16 x i16> @avx512_psrlv_w_256_0(<16 x i16> %v) { define <16 x i16> @avx512_psrlv_w_256_var(<16 x i16> %v) { ; CHECK-LABEL: @avx512_psrlv_w_256_var( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx512.psrlv.w.256(<16 x i16> %v, <16 x i16> ) @@ -2204,7 +2204,7 @@ define <16 x i16> @avx512_psrlv_w_256_var(<16 x i16> %v) { define <16 x i16> @avx512_psrlv_w_256_big(<16 x i16> %v) { ; CHECK-LABEL: @avx512_psrlv_w_256_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i16> @llvm.x86.avx512.psrlv.w.256(<16 x i16> %v, <16 x i16> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i16> @llvm.x86.avx512.psrlv.w.256(<16 x i16> [[V:%.*]], <16 x i16> ) ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx512.psrlv.w.256(<16 x i16> %v, <16 x i16> ) @@ -2221,7 +2221,7 @@ define <16 x i16> @avx512_psrlv_w_256_allbig(<16 x i16> %v) { define <16 x i16> @avx512_psrlv_w_256_undef(<16 x i16> %v) { ; CHECK-LABEL: @avx512_psrlv_w_256_undef( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = insertelement <16 x i16> , i16 undef, i64 0 @@ -2231,7 +2231,7 @@ define <16 x i16> @avx512_psrlv_w_256_undef(<16 x i16> %v) { define <32 x i16> @avx512_psrlv_w_512_0(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrlv_w_512_0( -; CHECK-NEXT: ret <32 x i16> %v +; CHECK-NEXT: ret <32 x i16> [[V:%.*]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrlv.w.512(<32 x i16> %v, <32 x i16> zeroinitializer) ret <32 x i16> %1 @@ -2239,7 +2239,7 @@ define <32 x i16> @avx512_psrlv_w_512_0(<32 x i16> %v) { define <32 x i16> @avx512_psrlv_w_512_var(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrlv_w_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrlv.w.512(<32 x i16> %v, <32 x i16> ) @@ -2248,7 +2248,7 @@ define <32 x i16> @avx512_psrlv_w_512_var(<32 x i16> %v) { define <32 x i16> @avx512_psrlv_w_512_big(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrlv_w_512_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <32 x i16> @llvm.x86.avx512.psrlv.w.512(<32 x i16> %v, <32 x i16> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <32 x i16> @llvm.x86.avx512.psrlv.w.512(<32 x i16> [[V:%.*]], <32 x i16> ) ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrlv.w.512(<32 x i16> %v, <32 x i16> ) @@ -2265,7 +2265,7 @@ define <32 x i16> @avx512_psrlv_w_512_allbig(<32 x i16> %v) { define <32 x i16> @avx512_psrlv_w_512_undef(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psrlv_w_512_undef( -; CHECK-NEXT: [[TMP1:%.*]] = lshr <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = lshr <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = insertelement <32 x i16> , i16 undef, i64 0 @@ -2279,7 +2279,7 @@ define <32 x i16> @avx512_psrlv_w_512_undef(<32 x i16> %v) { define <4 x i32> @avx2_psllv_d_128_0(<4 x i32> %v) { ; CHECK-LABEL: @avx2_psllv_d_128_0( -; CHECK-NEXT: ret <4 x i32> %v +; CHECK-NEXT: ret <4 x i32> [[V:%.*]] ; %1 = tail call <4 x i32> @llvm.x86.avx2.psllv.d(<4 x i32> %v, <4 x i32> zeroinitializer) ret <4 x i32> %1 @@ -2287,7 +2287,7 @@ define <4 x i32> @avx2_psllv_d_128_0(<4 x i32> %v) { define <8 x i32> @avx2_psllv_d_256_0(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psllv_d_256_0( -; CHECK-NEXT: ret <8 x i32> %v +; CHECK-NEXT: ret <8 x i32> [[V:%.*]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psllv.d.256(<8 x i32> %v, <8 x i32> zeroinitializer) ret <8 x i32> %1 @@ -2295,7 +2295,7 @@ define <8 x i32> @avx2_psllv_d_256_0(<8 x i32> %v) { define <4 x i32> @avx2_psllv_d_128_var(<4 x i32> %v) { ; CHECK-LABEL: @avx2_psllv_d_128_var( -; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.avx2.psllv.d(<4 x i32> %v, <4 x i32> ) @@ -2304,7 +2304,7 @@ define <4 x i32> @avx2_psllv_d_128_var(<4 x i32> %v) { define <8 x i32> @avx2_psllv_d_256_var(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psllv_d_256_var( -; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psllv.d.256(<8 x i32> %v, <8 x i32> ) @@ -2313,7 +2313,7 @@ define <8 x i32> @avx2_psllv_d_256_var(<8 x i32> %v) { define <4 x i32> @avx2_psllv_d_128_big(<4 x i32> %v) { ; CHECK-LABEL: @avx2_psllv_d_128_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i32> @llvm.x86.avx2.psllv.d(<4 x i32> %v, <4 x i32> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i32> @llvm.x86.avx2.psllv.d(<4 x i32> [[V:%.*]], <4 x i32> ) ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = tail call <4 x i32> @llvm.x86.avx2.psllv.d(<4 x i32> %v, <4 x i32> ) @@ -2322,7 +2322,7 @@ define <4 x i32> @avx2_psllv_d_128_big(<4 x i32> %v) { define <8 x i32> @avx2_psllv_d_256_big(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psllv_d_256_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i32> @llvm.x86.avx2.psllv.d.256(<8 x i32> %v, <8 x i32> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i32> @llvm.x86.avx2.psllv.d.256(<8 x i32> [[V:%.*]], <8 x i32> ) ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psllv.d.256(<8 x i32> %v, <8 x i32> ) @@ -2347,7 +2347,7 @@ define <8 x i32> @avx2_psllv_d_256_allbig(<8 x i32> %v) { define <4 x i32> @avx2_psllv_d_128_undef(<4 x i32> %v) { ; CHECK-LABEL: @avx2_psllv_d_128_undef( -; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i32> [[V:%.*]], ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = insertelement <4 x i32> , i32 undef, i32 0 @@ -2357,7 +2357,7 @@ define <4 x i32> @avx2_psllv_d_128_undef(<4 x i32> %v) { define <8 x i32> @avx2_psllv_d_256_undef(<8 x i32> %v) { ; CHECK-LABEL: @avx2_psllv_d_256_undef( -; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i32> [[V:%.*]], ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = insertelement <8 x i32> , i32 undef, i32 1 @@ -2367,7 +2367,7 @@ define <8 x i32> @avx2_psllv_d_256_undef(<8 x i32> %v) { define <2 x i64> @avx2_psllv_q_128_0(<2 x i64> %v) { ; CHECK-LABEL: @avx2_psllv_q_128_0( -; CHECK-NEXT: ret <2 x i64> %v +; CHECK-NEXT: ret <2 x i64> [[V:%.*]] ; %1 = tail call <2 x i64> @llvm.x86.avx2.psllv.q(<2 x i64> %v, <2 x i64> zeroinitializer) ret <2 x i64> %1 @@ -2375,7 +2375,7 @@ define <2 x i64> @avx2_psllv_q_128_0(<2 x i64> %v) { define <4 x i64> @avx2_psllv_q_256_0(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psllv_q_256_0( -; CHECK-NEXT: ret <4 x i64> %v +; CHECK-NEXT: ret <4 x i64> [[V:%.*]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.psllv.q.256(<4 x i64> %v, <4 x i64> zeroinitializer) ret <4 x i64> %1 @@ -2383,7 +2383,7 @@ define <4 x i64> @avx2_psllv_q_256_0(<4 x i64> %v) { define <2 x i64> @avx2_psllv_q_128_var(<2 x i64> %v) { ; CHECK-LABEL: @avx2_psllv_q_128_var( -; CHECK-NEXT: [[TMP1:%.*]] = shl <2 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <2 x i64> [[V:%.*]], ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.avx2.psllv.q(<2 x i64> %v, <2 x i64> ) @@ -2392,7 +2392,7 @@ define <2 x i64> @avx2_psllv_q_128_var(<2 x i64> %v) { define <4 x i64> @avx2_psllv_q_256_var(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psllv_q_256_var( -; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.psllv.q.256(<4 x i64> %v, <4 x i64> ) @@ -2401,7 +2401,7 @@ define <4 x i64> @avx2_psllv_q_256_var(<4 x i64> %v) { define <2 x i64> @avx2_psllv_q_128_big(<2 x i64> %v) { ; CHECK-LABEL: @avx2_psllv_q_128_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <2 x i64> @llvm.x86.avx2.psllv.q(<2 x i64> %v, <2 x i64> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <2 x i64> @llvm.x86.avx2.psllv.q(<2 x i64> [[V:%.*]], <2 x i64> ) ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = tail call <2 x i64> @llvm.x86.avx2.psllv.q(<2 x i64> %v, <2 x i64> ) @@ -2410,7 +2410,7 @@ define <2 x i64> @avx2_psllv_q_128_big(<2 x i64> %v) { define <4 x i64> @avx2_psllv_q_256_big(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psllv_q_256_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i64> @llvm.x86.avx2.psllv.q.256(<4 x i64> %v, <4 x i64> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i64> @llvm.x86.avx2.psllv.q.256(<4 x i64> [[V:%.*]], <4 x i64> ) ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = tail call <4 x i64> @llvm.x86.avx2.psllv.q.256(<4 x i64> %v, <4 x i64> ) @@ -2446,7 +2446,7 @@ define <2 x i64> @avx2_psllv_q_128_undef(<2 x i64> %v) { define <4 x i64> @avx2_psllv_q_256_undef(<4 x i64> %v) { ; CHECK-LABEL: @avx2_psllv_q_256_undef( -; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <4 x i64> [[V:%.*]], ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = insertelement <4 x i64> , i64 undef, i64 0 @@ -2456,7 +2456,7 @@ define <4 x i64> @avx2_psllv_q_256_undef(<4 x i64> %v) { define <16 x i32> @avx512_psllv_d_512_0(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psllv_d_512_0( -; CHECK-NEXT: ret <16 x i32> %v +; CHECK-NEXT: ret <16 x i32> [[V:%.*]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psllv.d.512(<16 x i32> %v, <16 x i32> zeroinitializer) ret <16 x i32> %1 @@ -2464,7 +2464,7 @@ define <16 x i32> @avx512_psllv_d_512_0(<16 x i32> %v) { define <16 x i32> @avx512_psllv_d_512_var(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psllv_d_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psllv.d.512(<16 x i32> %v, <16 x i32> ) @@ -2473,7 +2473,7 @@ define <16 x i32> @avx512_psllv_d_512_var(<16 x i32> %v) { define <16 x i32> @avx512_psllv_d_512_big(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psllv_d_512_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i32> @llvm.x86.avx512.psllv.d.512(<16 x i32> %v, <16 x i32> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i32> @llvm.x86.avx512.psllv.d.512(<16 x i32> [[V:%.*]], <16 x i32> ) ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psllv.d.512(<16 x i32> %v, <16 x i32> ) @@ -2490,7 +2490,7 @@ define <16 x i32> @avx512_psllv_d_512_allbig(<16 x i32> %v) { define <16 x i32> @avx512_psllv_d_512_undef(<16 x i32> %v) { ; CHECK-LABEL: @avx512_psllv_d_512_undef( -; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i32> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i32> [[V:%.*]], ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = insertelement <16 x i32> , i32 undef, i32 1 @@ -2500,7 +2500,7 @@ define <16 x i32> @avx512_psllv_d_512_undef(<16 x i32> %v) { define <8 x i64> @avx512_psllv_q_512_0(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psllv_q_512_0( -; CHECK-NEXT: ret <8 x i64> %v +; CHECK-NEXT: ret <8 x i64> [[V:%.*]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psllv.q.512(<8 x i64> %v, <8 x i64> zeroinitializer) ret <8 x i64> %1 @@ -2508,7 +2508,7 @@ define <8 x i64> @avx512_psllv_q_512_0(<8 x i64> %v) { define <8 x i64> @avx512_psllv_q_512_var(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psllv_q_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psllv.q.512(<8 x i64> %v, <8 x i64> ) @@ -2517,7 +2517,7 @@ define <8 x i64> @avx512_psllv_q_512_var(<8 x i64> %v) { define <8 x i64> @avx512_psllv_q_512_big(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psllv_q_512_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i64> @llvm.x86.avx512.psllv.q.512(<8 x i64> %v, <8 x i64> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i64> @llvm.x86.avx512.psllv.q.512(<8 x i64> [[V:%.*]], <8 x i64> ) ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = tail call <8 x i64> @llvm.x86.avx512.psllv.q.512(<8 x i64> %v, <8 x i64> ) @@ -2534,7 +2534,7 @@ define <8 x i64> @avx512_psllv_q_512_allbig(<8 x i64> %v) { define <8 x i64> @avx512_psllv_q_512_undef(<8 x i64> %v) { ; CHECK-LABEL: @avx512_psllv_q_512_undef( -; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i64> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i64> [[V:%.*]], ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = insertelement <8 x i64> , i64 undef, i64 0 @@ -2544,7 +2544,7 @@ define <8 x i64> @avx512_psllv_q_512_undef(<8 x i64> %v) { define <8 x i16> @avx512_psllv_w_128_0(<8 x i16> %v) { ; CHECK-LABEL: @avx512_psllv_w_128_0( -; CHECK-NEXT: ret <8 x i16> %v +; CHECK-NEXT: ret <8 x i16> [[V:%.*]] ; %1 = tail call <8 x i16> @llvm.x86.avx512.psllv.w.128(<8 x i16> %v, <8 x i16> zeroinitializer) ret <8 x i16> %1 @@ -2552,7 +2552,7 @@ define <8 x i16> @avx512_psllv_w_128_0(<8 x i16> %v) { define <8 x i16> @avx512_psllv_w_128_var(<8 x i16> %v) { ; CHECK-LABEL: @avx512_psllv_w_128_var( -; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.avx512.psllv.w.128(<8 x i16> %v, <8 x i16> ) @@ -2561,7 +2561,7 @@ define <8 x i16> @avx512_psllv_w_128_var(<8 x i16> %v) { define <8 x i16> @avx512_psllv_w_128_big(<8 x i16> %v) { ; CHECK-LABEL: @avx512_psllv_w_128_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i16> @llvm.x86.avx512.psllv.w.128(<8 x i16> %v, <8 x i16> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i16> @llvm.x86.avx512.psllv.w.128(<8 x i16> [[V:%.*]], <8 x i16> ) ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = tail call <8 x i16> @llvm.x86.avx512.psllv.w.128(<8 x i16> %v, <8 x i16> ) @@ -2578,7 +2578,7 @@ define <8 x i16> @avx512_psllv_w_128_allbig(<8 x i16> %v) { define <8 x i16> @avx512_psllv_w_128_undef(<8 x i16> %v) { ; CHECK-LABEL: @avx512_psllv_w_128_undef( -; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <8 x i16> [[V:%.*]], ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = insertelement <8 x i16> , i16 undef, i64 0 @@ -2588,7 +2588,7 @@ define <8 x i16> @avx512_psllv_w_128_undef(<8 x i16> %v) { define <16 x i16> @avx512_psllv_w_256_0(<16 x i16> %v) { ; CHECK-LABEL: @avx512_psllv_w_256_0( -; CHECK-NEXT: ret <16 x i16> %v +; CHECK-NEXT: ret <16 x i16> [[V:%.*]] ; %1 = tail call <16 x i16> @llvm.x86.avx512.psllv.w.256(<16 x i16> %v, <16 x i16> zeroinitializer) ret <16 x i16> %1 @@ -2596,7 +2596,7 @@ define <16 x i16> @avx512_psllv_w_256_0(<16 x i16> %v) { define <16 x i16> @avx512_psllv_w_256_var(<16 x i16> %v) { ; CHECK-LABEL: @avx512_psllv_w_256_var( -; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx512.psllv.w.256(<16 x i16> %v, <16 x i16> ) @@ -2605,7 +2605,7 @@ define <16 x i16> @avx512_psllv_w_256_var(<16 x i16> %v) { define <16 x i16> @avx512_psllv_w_256_big(<16 x i16> %v) { ; CHECK-LABEL: @avx512_psllv_w_256_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i16> @llvm.x86.avx512.psllv.w.256(<16 x i16> %v, <16 x i16> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i16> @llvm.x86.avx512.psllv.w.256(<16 x i16> [[V:%.*]], <16 x i16> ) ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = tail call <16 x i16> @llvm.x86.avx512.psllv.w.256(<16 x i16> %v, <16 x i16> ) @@ -2622,7 +2622,7 @@ define <16 x i16> @avx512_psllv_w_256_allbig(<16 x i16> %v) { define <16 x i16> @avx512_psllv_w_256_undef(<16 x i16> %v) { ; CHECK-LABEL: @avx512_psllv_w_256_undef( -; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <16 x i16> [[V:%.*]], ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = insertelement <16 x i16> , i16 undef, i64 0 @@ -2632,7 +2632,7 @@ define <16 x i16> @avx512_psllv_w_256_undef(<16 x i16> %v) { define <32 x i16> @avx512_psllv_w_512_0(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psllv_w_512_0( -; CHECK-NEXT: ret <32 x i16> %v +; CHECK-NEXT: ret <32 x i16> [[V:%.*]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psllv.w.512(<32 x i16> %v, <32 x i16> zeroinitializer) ret <32 x i16> %1 @@ -2640,7 +2640,7 @@ define <32 x i16> @avx512_psllv_w_512_0(<32 x i16> %v) { define <32 x i16> @avx512_psllv_w_512_var(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psllv_w_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = shl <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psllv.w.512(<32 x i16> %v, <32 x i16> ) @@ -2649,7 +2649,7 @@ define <32 x i16> @avx512_psllv_w_512_var(<32 x i16> %v) { define <32 x i16> @avx512_psllv_w_512_big(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psllv_w_512_big( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <32 x i16> @llvm.x86.avx512.psllv.w.512(<32 x i16> %v, <32 x i16> ) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <32 x i16> @llvm.x86.avx512.psllv.w.512(<32 x i16> [[V:%.*]], <32 x i16> ) ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psllv.w.512(<32 x i16> %v, <32 x i16> ) @@ -2666,7 +2666,7 @@ define <32 x i16> @avx512_psllv_w_512_allbig(<32 x i16> %v) { define <32 x i16> @avx512_psllv_w_512_undef(<32 x i16> %v) { ; CHECK-LABEL: @avx512_psllv_w_512_undef( -; CHECK-NEXT: [[TMP1:%.*]] = shl <32 x i16> %v, +; CHECK-NEXT: [[TMP1:%.*]] = shl <32 x i16> [[V:%.*]], ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = insertelement <32 x i16> , i16 undef, i64 0 @@ -2680,7 +2680,7 @@ define <32 x i16> @avx512_psllv_w_512_undef(<32 x i16> %v) { define <8 x i16> @sse2_psra_w_var(<8 x i16> %v, <8 x i16> %a) { ; CHECK-LABEL: @sse2_psra_w_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i16> @llvm.x86.sse2.psra.w(<8 x i16> %v, <8 x i16> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i16> @llvm.x86.sse2.psra.w(<8 x i16> [[V:%.*]], <8 x i16> [[A:%.*]]) ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = shufflevector <8 x i16> %a, <8 x i16> undef, <8 x i32> @@ -2690,8 +2690,8 @@ define <8 x i16> @sse2_psra_w_var(<8 x i16> %v, <8 x i16> %a) { define <8 x i16> @sse2_psra_w_var_bc(<8 x i16> %v, <2 x i64> %a) { ; CHECK-LABEL: @sse2_psra_w_var_bc( -; CHECK-NEXT: [[TMP1:%.*]] = bitcast <2 x i64> %a to <8 x i16> -; CHECK-NEXT: [[TMP2:%.*]] = tail call <8 x i16> @llvm.x86.sse2.psra.w(<8 x i16> %v, <8 x i16> [[TMP1]]) +; CHECK-NEXT: [[TMP1:%.*]] = bitcast <2 x i64> [[A:%.*]] to <8 x i16> +; CHECK-NEXT: [[TMP2:%.*]] = tail call <8 x i16> @llvm.x86.sse2.psra.w(<8 x i16> [[V:%.*]], <8 x i16> [[TMP1]]) ; CHECK-NEXT: ret <8 x i16> [[TMP2]] ; %1 = shufflevector <2 x i64> %a, <2 x i64> undef, <2 x i32> @@ -2702,7 +2702,7 @@ define <8 x i16> @sse2_psra_w_var_bc(<8 x i16> %v, <2 x i64> %a) { define <4 x i32> @sse2_psra_d_var(<4 x i32> %v, <4 x i32> %a) { ; CHECK-LABEL: @sse2_psra_d_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i32> @llvm.x86.sse2.psra.d(<4 x i32> %v, <4 x i32> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i32> @llvm.x86.sse2.psra.d(<4 x i32> [[V:%.*]], <4 x i32> [[A:%.*]]) ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = shufflevector <4 x i32> %a, <4 x i32> undef, <4 x i32> @@ -2712,8 +2712,8 @@ define <4 x i32> @sse2_psra_d_var(<4 x i32> %v, <4 x i32> %a) { define <4 x i32> @sse2_psra_d_var_bc(<4 x i32> %v, <8 x i16> %a) { ; CHECK-LABEL: @sse2_psra_d_var_bc( -; CHECK-NEXT: [[TMP1:%.*]] = bitcast <8 x i16> %a to <4 x i32> -; CHECK-NEXT: [[TMP2:%.*]] = tail call <4 x i32> @llvm.x86.sse2.psra.d(<4 x i32> %v, <4 x i32> [[TMP1]]) +; CHECK-NEXT: [[TMP1:%.*]] = bitcast <8 x i16> [[A:%.*]] to <4 x i32> +; CHECK-NEXT: [[TMP2:%.*]] = tail call <4 x i32> @llvm.x86.sse2.psra.d(<4 x i32> [[V:%.*]], <4 x i32> [[TMP1]]) ; CHECK-NEXT: ret <4 x i32> [[TMP2]] ; %1 = shufflevector <8 x i16> %a, <8 x i16> undef, <8 x i32> @@ -2724,7 +2724,7 @@ define <4 x i32> @sse2_psra_d_var_bc(<4 x i32> %v, <8 x i16> %a) { define <16 x i16> @avx2_psra_w_var(<16 x i16> %v, <8 x i16> %a) { ; CHECK-LABEL: @avx2_psra_w_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i16> @llvm.x86.avx2.psra.w(<16 x i16> %v, <8 x i16> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i16> @llvm.x86.avx2.psra.w(<16 x i16> [[V:%.*]], <8 x i16> [[A:%.*]]) ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = shufflevector <8 x i16> %a, <8 x i16> undef, <8 x i32> @@ -2734,7 +2734,7 @@ define <16 x i16> @avx2_psra_w_var(<16 x i16> %v, <8 x i16> %a) { define <8 x i32> @avx2_psra_d_var(<8 x i32> %v, <4 x i32> %a) { ; CHECK-LABEL: @avx2_psra_d_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i32> @llvm.x86.avx2.psra.d(<8 x i32> %v, <4 x i32> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i32> @llvm.x86.avx2.psra.d(<8 x i32> [[V:%.*]], <4 x i32> [[A:%.*]]) ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = shufflevector <4 x i32> %a, <4 x i32> undef, <4 x i32> @@ -2744,7 +2744,7 @@ define <8 x i32> @avx2_psra_d_var(<8 x i32> %v, <4 x i32> %a) { define <2 x i64> @avx512_psra_q_128_var(<2 x i64> %v, <2 x i64> %a) { ; CHECK-LABEL: @avx512_psra_q_128_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <2 x i64> @llvm.x86.avx512.psra.q.128(<2 x i64> %v, <2 x i64> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <2 x i64> @llvm.x86.avx512.psra.q.128(<2 x i64> [[V:%.*]], <2 x i64> [[A:%.*]]) ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = shufflevector <2 x i64> %a, <2 x i64> undef, <2 x i32> @@ -2754,7 +2754,7 @@ define <2 x i64> @avx512_psra_q_128_var(<2 x i64> %v, <2 x i64> %a) { define <4 x i64> @avx512_psra_q_256_var(<4 x i64> %v, <2 x i64> %a) { ; CHECK-LABEL: @avx512_psra_q_256_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i64> @llvm.x86.avx512.psra.q.256(<4 x i64> %v, <2 x i64> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i64> @llvm.x86.avx512.psra.q.256(<4 x i64> [[V:%.*]], <2 x i64> [[A:%.*]]) ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = shufflevector <2 x i64> %a, <2 x i64> undef, <2 x i32> @@ -2764,7 +2764,7 @@ define <4 x i64> @avx512_psra_q_256_var(<4 x i64> %v, <2 x i64> %a) { define <32 x i16> @avx512_psra_w_512_var(<32 x i16> %v, <8 x i16> %a) { ; CHECK-LABEL: @avx512_psra_w_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <32 x i16> @llvm.x86.avx512.psra.w.512(<32 x i16> %v, <8 x i16> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <32 x i16> @llvm.x86.avx512.psra.w.512(<32 x i16> [[V:%.*]], <8 x i16> [[A:%.*]]) ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = shufflevector <8 x i16> %a, <8 x i16> undef, <8 x i32> @@ -2774,7 +2774,7 @@ define <32 x i16> @avx512_psra_w_512_var(<32 x i16> %v, <8 x i16> %a) { define <16 x i32> @avx512_psra_d_512_var(<16 x i32> %v, <4 x i32> %a) { ; CHECK-LABEL: @avx512_psra_d_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i32> @llvm.x86.avx512.psra.d.512(<16 x i32> %v, <4 x i32> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i32> @llvm.x86.avx512.psra.d.512(<16 x i32> [[V:%.*]], <4 x i32> [[A:%.*]]) ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = shufflevector <4 x i32> %a, <4 x i32> undef, <4 x i32> @@ -2784,7 +2784,7 @@ define <16 x i32> @avx512_psra_d_512_var(<16 x i32> %v, <4 x i32> %a) { define <8 x i64> @avx512_psra_q_512_var(<8 x i64> %v, <2 x i64> %a) { ; CHECK-LABEL: @avx512_psra_q_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i64> @llvm.x86.avx512.psra.q.512(<8 x i64> %v, <2 x i64> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i64> @llvm.x86.avx512.psra.q.512(<8 x i64> [[V:%.*]], <2 x i64> [[A:%.*]]) ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = shufflevector <2 x i64> %a, <2 x i64> undef, <2 x i32> @@ -2794,7 +2794,7 @@ define <8 x i64> @avx512_psra_q_512_var(<8 x i64> %v, <2 x i64> %a) { define <8 x i16> @sse2_psrl_w_var(<8 x i16> %v, <8 x i16> %a) { ; CHECK-LABEL: @sse2_psrl_w_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i16> @llvm.x86.sse2.psrl.w(<8 x i16> %v, <8 x i16> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i16> @llvm.x86.sse2.psrl.w(<8 x i16> [[V:%.*]], <8 x i16> [[A:%.*]]) ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = shufflevector <8 x i16> %a, <8 x i16> undef, <8 x i32> @@ -2804,7 +2804,7 @@ define <8 x i16> @sse2_psrl_w_var(<8 x i16> %v, <8 x i16> %a) { define <4 x i32> @sse2_psrl_d_var(<4 x i32> %v, <4 x i32> %a) { ; CHECK-LABEL: @sse2_psrl_d_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i32> @llvm.x86.sse2.psrl.d(<4 x i32> %v, <4 x i32> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i32> @llvm.x86.sse2.psrl.d(<4 x i32> [[V:%.*]], <4 x i32> [[A:%.*]]) ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = shufflevector <4 x i32> %a, <4 x i32> undef, <4 x i32> @@ -2814,7 +2814,7 @@ define <4 x i32> @sse2_psrl_d_var(<4 x i32> %v, <4 x i32> %a) { define <2 x i64> @sse2_psrl_q_var(<2 x i64> %v, <2 x i64> %a) { ; CHECK-LABEL: @sse2_psrl_q_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <2 x i64> @llvm.x86.sse2.psrl.q(<2 x i64> %v, <2 x i64> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <2 x i64> @llvm.x86.sse2.psrl.q(<2 x i64> [[V:%.*]], <2 x i64> [[A:%.*]]) ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = shufflevector <2 x i64> %a, <2 x i64> undef, <2 x i32> @@ -2824,7 +2824,7 @@ define <2 x i64> @sse2_psrl_q_var(<2 x i64> %v, <2 x i64> %a) { define <16 x i16> @avx2_psrl_w_var(<16 x i16> %v, <8 x i16> %a) { ; CHECK-LABEL: @avx2_psrl_w_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i16> @llvm.x86.avx2.psrl.w(<16 x i16> %v, <8 x i16> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i16> @llvm.x86.avx2.psrl.w(<16 x i16> [[V:%.*]], <8 x i16> [[A:%.*]]) ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = shufflevector <8 x i16> %a, <8 x i16> undef, <8 x i32> @@ -2834,8 +2834,8 @@ define <16 x i16> @avx2_psrl_w_var(<16 x i16> %v, <8 x i16> %a) { define <16 x i16> @avx2_psrl_w_var_bc(<16 x i16> %v, <16 x i8> %a) { ; CHECK-LABEL: @avx2_psrl_w_var_bc( -; CHECK-NEXT: [[TMP1:%.*]] = bitcast <16 x i8> %a to <8 x i16> -; CHECK-NEXT: [[TMP2:%.*]] = tail call <16 x i16> @llvm.x86.avx2.psrl.w(<16 x i16> %v, <8 x i16> [[TMP1]]) +; CHECK-NEXT: [[TMP1:%.*]] = bitcast <16 x i8> [[A:%.*]] to <8 x i16> +; CHECK-NEXT: [[TMP2:%.*]] = tail call <16 x i16> @llvm.x86.avx2.psrl.w(<16 x i16> [[V:%.*]], <8 x i16> [[TMP1]]) ; CHECK-NEXT: ret <16 x i16> [[TMP2]] ; %1 = shufflevector <16 x i8> %a, <16 x i8> undef, <16 x i32> @@ -2846,7 +2846,7 @@ define <16 x i16> @avx2_psrl_w_var_bc(<16 x i16> %v, <16 x i8> %a) { define <8 x i32> @avx2_psrl_d_var(<8 x i32> %v, <4 x i32> %a) { ; CHECK-LABEL: @avx2_psrl_d_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i32> @llvm.x86.avx2.psrl.d(<8 x i32> %v, <4 x i32> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i32> @llvm.x86.avx2.psrl.d(<8 x i32> [[V:%.*]], <4 x i32> [[A:%.*]]) ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = shufflevector <4 x i32> %a, <4 x i32> undef, <4 x i32> @@ -2856,8 +2856,8 @@ define <8 x i32> @avx2_psrl_d_var(<8 x i32> %v, <4 x i32> %a) { define <8 x i32> @avx2_psrl_d_var_bc(<8 x i32> %v, <2 x i64> %a) { ; CHECK-LABEL: @avx2_psrl_d_var_bc( -; CHECK-NEXT: [[TMP1:%.*]] = bitcast <2 x i64> %a to <4 x i32> -; CHECK-NEXT: [[TMP2:%.*]] = tail call <8 x i32> @llvm.x86.avx2.psrl.d(<8 x i32> %v, <4 x i32> [[TMP1]]) +; CHECK-NEXT: [[TMP1:%.*]] = bitcast <2 x i64> [[A:%.*]] to <4 x i32> +; CHECK-NEXT: [[TMP2:%.*]] = tail call <8 x i32> @llvm.x86.avx2.psrl.d(<8 x i32> [[V:%.*]], <4 x i32> [[TMP1]]) ; CHECK-NEXT: ret <8 x i32> [[TMP2]] ; %1 = shufflevector <2 x i64> %a, <2 x i64> undef, <2 x i32> @@ -2868,7 +2868,7 @@ define <8 x i32> @avx2_psrl_d_var_bc(<8 x i32> %v, <2 x i64> %a) { define <4 x i64> @avx2_psrl_q_var(<4 x i64> %v, <2 x i64> %a) { ; CHECK-LABEL: @avx2_psrl_q_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i64> @llvm.x86.avx2.psrl.q(<4 x i64> %v, <2 x i64> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i64> @llvm.x86.avx2.psrl.q(<4 x i64> [[V:%.*]], <2 x i64> [[A:%.*]]) ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = shufflevector <2 x i64> %a, <2 x i64> undef, <2 x i32> @@ -2878,7 +2878,7 @@ define <4 x i64> @avx2_psrl_q_var(<4 x i64> %v, <2 x i64> %a) { define <32 x i16> @avx512_psrl_w_512_var(<32 x i16> %v, <8 x i16> %a) { ; CHECK-LABEL: @avx512_psrl_w_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <32 x i16> @llvm.x86.avx512.psrl.w.512(<32 x i16> %v, <8 x i16> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <32 x i16> @llvm.x86.avx512.psrl.w.512(<32 x i16> [[V:%.*]], <8 x i16> [[A:%.*]]) ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = shufflevector <8 x i16> %a, <8 x i16> undef, <8 x i32> @@ -2888,8 +2888,8 @@ define <32 x i16> @avx512_psrl_w_512_var(<32 x i16> %v, <8 x i16> %a) { define <32 x i16> @avx512_psrl_w_512_var_bc(<32 x i16> %v, <16 x i8> %a) { ; CHECK-LABEL: @avx512_psrl_w_512_var_bc( -; CHECK-NEXT: [[TMP1:%.*]] = bitcast <16 x i8> %a to <8 x i16> -; CHECK-NEXT: [[TMP2:%.*]] = tail call <32 x i16> @llvm.x86.avx512.psrl.w.512(<32 x i16> %v, <8 x i16> [[TMP1]]) +; CHECK-NEXT: [[TMP1:%.*]] = bitcast <16 x i8> [[A:%.*]] to <8 x i16> +; CHECK-NEXT: [[TMP2:%.*]] = tail call <32 x i16> @llvm.x86.avx512.psrl.w.512(<32 x i16> [[V:%.*]], <8 x i16> [[TMP1]]) ; CHECK-NEXT: ret <32 x i16> [[TMP2]] ; %1 = shufflevector <16 x i8> %a, <16 x i8> undef, <16 x i32> @@ -2900,7 +2900,7 @@ define <32 x i16> @avx512_psrl_w_512_var_bc(<32 x i16> %v, <16 x i8> %a) { define <16 x i32> @avx512_psrl_d_512_var(<16 x i32> %v, <4 x i32> %a) { ; CHECK-LABEL: @avx512_psrl_d_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i32> @llvm.x86.avx512.psrl.d.512(<16 x i32> %v, <4 x i32> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i32> @llvm.x86.avx512.psrl.d.512(<16 x i32> [[V:%.*]], <4 x i32> [[A:%.*]]) ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = shufflevector <4 x i32> %a, <4 x i32> undef, <4 x i32> @@ -2910,8 +2910,8 @@ define <16 x i32> @avx512_psrl_d_512_var(<16 x i32> %v, <4 x i32> %a) { define <16 x i32> @avx512_psrl_d_512_var_bc(<16 x i32> %v, <2 x i64> %a) { ; CHECK-LABEL: @avx512_psrl_d_512_var_bc( -; CHECK-NEXT: [[TMP1:%.*]] = bitcast <2 x i64> %a to <4 x i32> -; CHECK-NEXT: [[TMP2:%.*]] = tail call <16 x i32> @llvm.x86.avx512.psrl.d.512(<16 x i32> %v, <4 x i32> [[TMP1]]) +; CHECK-NEXT: [[TMP1:%.*]] = bitcast <2 x i64> [[A:%.*]] to <4 x i32> +; CHECK-NEXT: [[TMP2:%.*]] = tail call <16 x i32> @llvm.x86.avx512.psrl.d.512(<16 x i32> [[V:%.*]], <4 x i32> [[TMP1]]) ; CHECK-NEXT: ret <16 x i32> [[TMP2]] ; %1 = shufflevector <2 x i64> %a, <2 x i64> undef, <2 x i32> @@ -2922,7 +2922,7 @@ define <16 x i32> @avx512_psrl_d_512_var_bc(<16 x i32> %v, <2 x i64> %a) { define <8 x i64> @avx512_psrl_q_512_var(<8 x i64> %v, <2 x i64> %a) { ; CHECK-LABEL: @avx512_psrl_q_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i64> @llvm.x86.avx512.psrl.q.512(<8 x i64> %v, <2 x i64> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i64> @llvm.x86.avx512.psrl.q.512(<8 x i64> [[V:%.*]], <2 x i64> [[A:%.*]]) ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = shufflevector <2 x i64> %a, <2 x i64> undef, <2 x i32> @@ -2932,7 +2932,7 @@ define <8 x i64> @avx512_psrl_q_512_var(<8 x i64> %v, <2 x i64> %a) { define <8 x i16> @sse2_psll_w_var(<8 x i16> %v, <8 x i16> %a) { ; CHECK-LABEL: @sse2_psll_w_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i16> @llvm.x86.sse2.psll.w(<8 x i16> %v, <8 x i16> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i16> @llvm.x86.sse2.psll.w(<8 x i16> [[V:%.*]], <8 x i16> [[A:%.*]]) ; CHECK-NEXT: ret <8 x i16> [[TMP1]] ; %1 = shufflevector <8 x i16> %a, <8 x i16> undef, <8 x i32> @@ -2942,7 +2942,7 @@ define <8 x i16> @sse2_psll_w_var(<8 x i16> %v, <8 x i16> %a) { define <4 x i32> @sse2_psll_d_var(<4 x i32> %v, <4 x i32> %a) { ; CHECK-LABEL: @sse2_psll_d_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i32> @llvm.x86.sse2.psll.d(<4 x i32> %v, <4 x i32> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i32> @llvm.x86.sse2.psll.d(<4 x i32> [[V:%.*]], <4 x i32> [[A:%.*]]) ; CHECK-NEXT: ret <4 x i32> [[TMP1]] ; %1 = shufflevector <4 x i32> %a, <4 x i32> undef, <4 x i32> @@ -2952,7 +2952,7 @@ define <4 x i32> @sse2_psll_d_var(<4 x i32> %v, <4 x i32> %a) { define <2 x i64> @sse2_psll_q_var(<2 x i64> %v, <2 x i64> %a) { ; CHECK-LABEL: @sse2_psll_q_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <2 x i64> @llvm.x86.sse2.psll.q(<2 x i64> %v, <2 x i64> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <2 x i64> @llvm.x86.sse2.psll.q(<2 x i64> [[V:%.*]], <2 x i64> [[A:%.*]]) ; CHECK-NEXT: ret <2 x i64> [[TMP1]] ; %1 = shufflevector <2 x i64> %a, <2 x i64> undef, <2 x i32> @@ -2962,7 +2962,7 @@ define <2 x i64> @sse2_psll_q_var(<2 x i64> %v, <2 x i64> %a) { define <16 x i16> @avx2_psll_w_var(<16 x i16> %v, <8 x i16> %a) { ; CHECK-LABEL: @avx2_psll_w_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i16> @llvm.x86.avx2.psll.w(<16 x i16> %v, <8 x i16> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i16> @llvm.x86.avx2.psll.w(<16 x i16> [[V:%.*]], <8 x i16> [[A:%.*]]) ; CHECK-NEXT: ret <16 x i16> [[TMP1]] ; %1 = shufflevector <8 x i16> %a, <8 x i16> undef, <8 x i32> @@ -2972,7 +2972,7 @@ define <16 x i16> @avx2_psll_w_var(<16 x i16> %v, <8 x i16> %a) { define <8 x i32> @avx2_psll_d_var(<8 x i32> %v, <4 x i32> %a) { ; CHECK-LABEL: @avx2_psll_d_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i32> @llvm.x86.avx2.psll.d(<8 x i32> %v, <4 x i32> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i32> @llvm.x86.avx2.psll.d(<8 x i32> [[V:%.*]], <4 x i32> [[A:%.*]]) ; CHECK-NEXT: ret <8 x i32> [[TMP1]] ; %1 = shufflevector <4 x i32> %a, <4 x i32> undef, <4 x i32> @@ -2982,7 +2982,7 @@ define <8 x i32> @avx2_psll_d_var(<8 x i32> %v, <4 x i32> %a) { define <4 x i64> @avx2_psll_q_var(<4 x i64> %v, <2 x i64> %a) { ; CHECK-LABEL: @avx2_psll_q_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i64> @llvm.x86.avx2.psll.q(<4 x i64> %v, <2 x i64> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x i64> @llvm.x86.avx2.psll.q(<4 x i64> [[V:%.*]], <2 x i64> [[A:%.*]]) ; CHECK-NEXT: ret <4 x i64> [[TMP1]] ; %1 = shufflevector <2 x i64> %a, <2 x i64> undef, <2 x i32> @@ -2992,7 +2992,7 @@ define <4 x i64> @avx2_psll_q_var(<4 x i64> %v, <2 x i64> %a) { define <32 x i16> @avx512_psll_w_512_var(<32 x i16> %v, <8 x i16> %a) { ; CHECK-LABEL: @avx512_psll_w_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <32 x i16> @llvm.x86.avx512.psll.w.512(<32 x i16> %v, <8 x i16> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <32 x i16> @llvm.x86.avx512.psll.w.512(<32 x i16> [[V:%.*]], <8 x i16> [[A:%.*]]) ; CHECK-NEXT: ret <32 x i16> [[TMP1]] ; %1 = shufflevector <8 x i16> %a, <8 x i16> undef, <8 x i32> @@ -3002,7 +3002,7 @@ define <32 x i16> @avx512_psll_w_512_var(<32 x i16> %v, <8 x i16> %a) { define <16 x i32> @avx512_psll_d_512_var(<16 x i32> %v, <4 x i32> %a) { ; CHECK-LABEL: @avx512_psll_d_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i32> @llvm.x86.avx512.psll.d.512(<16 x i32> %v, <4 x i32> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x i32> @llvm.x86.avx512.psll.d.512(<16 x i32> [[V:%.*]], <4 x i32> [[A:%.*]]) ; CHECK-NEXT: ret <16 x i32> [[TMP1]] ; %1 = shufflevector <4 x i32> %a, <4 x i32> undef, <4 x i32> @@ -3012,7 +3012,7 @@ define <16 x i32> @avx512_psll_d_512_var(<16 x i32> %v, <4 x i32> %a) { define <8 x i64> @avx512_psll_q_512_var(<8 x i64> %v, <2 x i64> %a) { ; CHECK-LABEL: @avx512_psll_q_512_var( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i64> @llvm.x86.avx512.psll.q.512(<8 x i64> %v, <2 x i64> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <8 x i64> @llvm.x86.avx512.psll.q.512(<8 x i64> [[V:%.*]], <2 x i64> [[A:%.*]]) ; CHECK-NEXT: ret <8 x i64> [[TMP1]] ; %1 = shufflevector <2 x i64> %a, <2 x i64> undef, <2 x i32> @@ -3026,7 +3026,7 @@ define <8 x i64> @avx512_psll_q_512_var(<8 x i64> %v, <2 x i64> %a) { define <8 x i16> @test_sse2_psra_w_0(<8 x i16> %A) { ; CHECK-LABEL: @test_sse2_psra_w_0( -; CHECK-NEXT: ret <8 x i16> %A +; CHECK-NEXT: ret <8 x i16> [[A:%.*]] ; %1 = tail call <8 x i16> @llvm.x86.sse2.psrai.w(<8 x i16> %A, i32 0) %2 = tail call <8 x i16> @llvm.x86.sse2.psra.w(<8 x i16> %1, <8 x i16> ) @@ -3047,7 +3047,7 @@ define <8 x i16> @test_sse2_psra_w_8() { define <4 x i32> @test_sse2_psra_d_0(<4 x i32> %A) { ; CHECK-LABEL: @test_sse2_psra_d_0( -; CHECK-NEXT: ret <4 x i32> %A +; CHECK-NEXT: ret <4 x i32> [[A:%.*]] ; %1 = tail call <4 x i32> @llvm.x86.sse2.psrai.d(<4 x i32> %A, i32 0) %2 = tail call <4 x i32> @llvm.x86.sse2.psra.d(<4 x i32> %1, <4 x i32> ) @@ -3068,7 +3068,7 @@ define <4 x i32> @sse2_psra_d_8() { define <16 x i16> @test_avx2_psra_w_0(<16 x i16> %A) { ; CHECK-LABEL: @test_avx2_psra_w_0( -; CHECK-NEXT: ret <16 x i16> %A +; CHECK-NEXT: ret <16 x i16> [[A:%.*]] ; %1 = tail call <16 x i16> @llvm.x86.avx2.psrai.w(<16 x i16> %A, i32 0) %2 = tail call <16 x i16> @llvm.x86.avx2.psra.w(<16 x i16> %1, <8 x i16> ) @@ -3089,7 +3089,7 @@ define <16 x i16> @test_avx2_psra_w_8(<16 x i16> %A) { define <8 x i32> @test_avx2_psra_d_0(<8 x i32> %A) { ; CHECK-LABEL: @test_avx2_psra_d_0( -; CHECK-NEXT: ret <8 x i32> %A +; CHECK-NEXT: ret <8 x i32> [[A:%.*]] ; %1 = tail call <8 x i32> @llvm.x86.avx2.psrai.d(<8 x i32> %A, i32 0) %2 = tail call <8 x i32> @llvm.x86.avx2.psra.d(<8 x i32> %1, <4 x i32> ) @@ -3110,7 +3110,7 @@ define <8 x i32> @test_avx2_psra_d_8() { define <32 x i16> @test_avx512_psra_w_512_0(<32 x i16> %A) { ; CHECK-LABEL: @test_avx512_psra_w_512_0( -; CHECK-NEXT: ret <32 x i16> %A +; CHECK-NEXT: ret <32 x i16> [[A:%.*]] ; %1 = tail call <32 x i16> @llvm.x86.avx512.psrai.w.512(<32 x i16> %A, i32 0) %2 = tail call <32 x i16> @llvm.x86.avx512.psra.w.512(<32 x i16> %1, <8 x i16> ) @@ -3131,7 +3131,7 @@ define <32 x i16> @test_avx512_psra_w_512_8(<32 x i16> %A) { define <16 x i32> @test_avx512_psra_d_512_0(<16 x i32> %A) { ; CHECK-LABEL: @test_avx512_psra_d_512_0( -; CHECK-NEXT: ret <16 x i32> %A +; CHECK-NEXT: ret <16 x i32> [[A:%.*]] ; %1 = tail call <16 x i32> @llvm.x86.avx512.psrai.d.512(<16 x i32> %A, i32 0) %2 = tail call <16 x i32> @llvm.x86.avx512.psra.d.512(<16 x i32> %1, <4 x i32> ) diff --git a/llvm/test/Transforms/InstCombine/X86/x86-vpermil.ll b/llvm/test/Transforms/InstCombine/X86/x86-vpermil.ll index f68eb36c4b58..509a9a75f7d7 100644 --- a/llvm/test/Transforms/InstCombine/X86/x86-vpermil.ll +++ b/llvm/test/Transforms/InstCombine/X86/x86-vpermil.ll @@ -6,7 +6,7 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" define <4 x float> @identity_test_vpermilvar_ps(<4 x float> %v) { ; CHECK-LABEL: @identity_test_vpermilvar_ps( -; CHECK-NEXT: ret <4 x float> %v +; CHECK-NEXT: ret <4 x float> [[V:%.*]] ; %a = tail call <4 x float> @llvm.x86.avx.vpermilvar.ps(<4 x float> %v, <4 x i32> ) ret <4 x float> %a @@ -14,7 +14,7 @@ define <4 x float> @identity_test_vpermilvar_ps(<4 x float> %v) { define <8 x float> @identity_test_vpermilvar_ps_256(<8 x float> %v) { ; CHECK-LABEL: @identity_test_vpermilvar_ps_256( -; CHECK-NEXT: ret <8 x float> %v +; CHECK-NEXT: ret <8 x float> [[V:%.*]] ; %a = tail call <8 x float> @llvm.x86.avx.vpermilvar.ps.256(<8 x float> %v, <8 x i32> ) ret <8 x float> %a @@ -22,7 +22,7 @@ define <8 x float> @identity_test_vpermilvar_ps_256(<8 x float> %v) { define <16 x float> @identity_test_vpermilvar_ps_512(<16 x float> %v) { ; CHECK-LABEL: @identity_test_vpermilvar_ps_512( -; CHECK-NEXT: ret <16 x float> %v +; CHECK-NEXT: ret <16 x float> [[V:%.*]] ; %a = tail call <16 x float> @llvm.x86.avx512.vpermilvar.ps.512(<16 x float> %v, <16 x i32> ) ret <16 x float> %a @@ -30,7 +30,7 @@ define <16 x float> @identity_test_vpermilvar_ps_512(<16 x float> %v) { define <2 x double> @identity_test_vpermilvar_pd(<2 x double> %v) { ; CHECK-LABEL: @identity_test_vpermilvar_pd( -; CHECK-NEXT: ret <2 x double> %v +; CHECK-NEXT: ret <2 x double> [[V:%.*]] ; %a = tail call <2 x double> @llvm.x86.avx.vpermilvar.pd(<2 x double> %v, <2 x i64> ) ret <2 x double> %a @@ -38,7 +38,7 @@ define <2 x double> @identity_test_vpermilvar_pd(<2 x double> %v) { define <4 x double> @identity_test_vpermilvar_pd_256(<4 x double> %v) { ; CHECK-LABEL: @identity_test_vpermilvar_pd_256( -; CHECK-NEXT: ret <4 x double> %v +; CHECK-NEXT: ret <4 x double> [[V:%.*]] ; %a = tail call <4 x double> @llvm.x86.avx.vpermilvar.pd.256(<4 x double> %v, <4 x i64> ) ret <4 x double> %a @@ -46,7 +46,7 @@ define <4 x double> @identity_test_vpermilvar_pd_256(<4 x double> %v) { define <8 x double> @identity_test_vpermilvar_pd_512(<8 x double> %v) { ; CHECK-LABEL: @identity_test_vpermilvar_pd_512( -; CHECK-NEXT: ret <8 x double> %v +; CHECK-NEXT: ret <8 x double> [[V:%.*]] ; %a = tail call <8 x double> @llvm.x86.avx512.vpermilvar.pd.512(<8 x double> %v, <8 x i64> ) ret <8 x double> %a @@ -57,7 +57,7 @@ define <8 x double> @identity_test_vpermilvar_pd_512(<8 x double> %v) { define <4 x float> @zero_test_vpermilvar_ps_zero(<4 x float> %v) { ; CHECK-LABEL: @zero_test_vpermilvar_ps_zero( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x float> %v, <4 x float> undef, <4 x i32> zeroinitializer +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x float> [[V:%.*]], <4 x float> undef, <4 x i32> zeroinitializer ; CHECK-NEXT: ret <4 x float> [[TMP1]] ; %a = tail call <4 x float> @llvm.x86.avx.vpermilvar.ps(<4 x float> %v, <4 x i32> zeroinitializer) @@ -66,7 +66,7 @@ define <4 x float> @zero_test_vpermilvar_ps_zero(<4 x float> %v) { define <8 x float> @zero_test_vpermilvar_ps_256_zero(<8 x float> %v) { ; CHECK-LABEL: @zero_test_vpermilvar_ps_256_zero( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> %v, <8 x float> undef, <8 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> [[V:%.*]], <8 x float> undef, <8 x i32> ; CHECK-NEXT: ret <8 x float> [[TMP1]] ; %a = tail call <8 x float> @llvm.x86.avx.vpermilvar.ps.256(<8 x float> %v, <8 x i32> zeroinitializer) @@ -75,7 +75,7 @@ define <8 x float> @zero_test_vpermilvar_ps_256_zero(<8 x float> %v) { define <16 x float> @zero_test_vpermilvar_ps_512_zero(<16 x float> %v) { ; CHECK-LABEL: @zero_test_vpermilvar_ps_512_zero( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x float> %v, <16 x float> undef, <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x float> [[V:%.*]], <16 x float> undef, <16 x i32> ; CHECK-NEXT: ret <16 x float> [[TMP1]] ; %a = tail call <16 x float> @llvm.x86.avx512.vpermilvar.ps.512(<16 x float> %v, <16 x i32> zeroinitializer) @@ -84,7 +84,7 @@ define <16 x float> @zero_test_vpermilvar_ps_512_zero(<16 x float> %v) { define <2 x double> @zero_test_vpermilvar_pd_zero(<2 x double> %v) { ; CHECK-LABEL: @zero_test_vpermilvar_pd_zero( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <2 x double> %v, <2 x double> undef, <2 x i32> zeroinitializer +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <2 x double> [[V:%.*]], <2 x double> undef, <2 x i32> zeroinitializer ; CHECK-NEXT: ret <2 x double> [[TMP1]] ; %a = tail call <2 x double> @llvm.x86.avx.vpermilvar.pd(<2 x double> %v, <2 x i64> zeroinitializer) @@ -93,7 +93,7 @@ define <2 x double> @zero_test_vpermilvar_pd_zero(<2 x double> %v) { define <4 x double> @zero_test_vpermilvar_pd_256_zero(<4 x double> %v) { ; CHECK-LABEL: @zero_test_vpermilvar_pd_256_zero( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x double> %v, <4 x double> undef, <4 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x double> [[V:%.*]], <4 x double> undef, <4 x i32> ; CHECK-NEXT: ret <4 x double> [[TMP1]] ; %a = tail call <4 x double> @llvm.x86.avx.vpermilvar.pd.256(<4 x double> %v, <4 x i64> zeroinitializer) @@ -102,7 +102,7 @@ define <4 x double> @zero_test_vpermilvar_pd_256_zero(<4 x double> %v) { define <8 x double> @zero_test_vpermilvar_pd_512_zero(<8 x double> %v) { ; CHECK-LABEL: @zero_test_vpermilvar_pd_512_zero( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x double> %v, <8 x double> undef, <8 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x double> [[V:%.*]], <8 x double> undef, <8 x i32> ; CHECK-NEXT: ret <8 x double> [[TMP1]] ; %a = tail call <8 x double> @llvm.x86.avx512.vpermilvar.pd.512(<8 x double> %v, <8 x i64> zeroinitializer) @@ -113,7 +113,7 @@ define <8 x double> @zero_test_vpermilvar_pd_512_zero(<8 x double> %v) { define <4 x float> @test_vpermilvar_ps(<4 x float> %v) { ; CHECK-LABEL: @test_vpermilvar_ps( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x float> %v, <4 x float> undef, <4 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x float> [[V:%.*]], <4 x float> undef, <4 x i32> ; CHECK-NEXT: ret <4 x float> [[TMP1]] ; %a = tail call <4 x float> @llvm.x86.avx.vpermilvar.ps(<4 x float> %v, <4 x i32> ) @@ -122,7 +122,7 @@ define <4 x float> @test_vpermilvar_ps(<4 x float> %v) { define <8 x float> @test_vpermilvar_ps_256(<8 x float> %v) { ; CHECK-LABEL: @test_vpermilvar_ps_256( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> %v, <8 x float> undef, <8 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> [[V:%.*]], <8 x float> undef, <8 x i32> ; CHECK-NEXT: ret <8 x float> [[TMP1]] ; %a = tail call <8 x float> @llvm.x86.avx.vpermilvar.ps.256(<8 x float> %v, <8 x i32> ) @@ -131,7 +131,7 @@ define <8 x float> @test_vpermilvar_ps_256(<8 x float> %v) { define <16 x float> @test_vpermilvar_ps_512(<16 x float> %v) { ; CHECK-LABEL: @test_vpermilvar_ps_512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x float> %v, <16 x float> undef, <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x float> [[V:%.*]], <16 x float> undef, <16 x i32> ; CHECK-NEXT: ret <16 x float> [[TMP1]] ; %a = tail call <16 x float> @llvm.x86.avx512.vpermilvar.ps.512(<16 x float> %v, <16 x i32> ) @@ -140,7 +140,7 @@ define <16 x float> @test_vpermilvar_ps_512(<16 x float> %v) { define <2 x double> @test_vpermilvar_pd(<2 x double> %v) { ; CHECK-LABEL: @test_vpermilvar_pd( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <2 x double> %v, <2 x double> undef, <2 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <2 x double> [[V:%.*]], <2 x double> undef, <2 x i32> ; CHECK-NEXT: ret <2 x double> [[TMP1]] ; %a = tail call <2 x double> @llvm.x86.avx.vpermilvar.pd(<2 x double> %v, <2 x i64> ) @@ -149,7 +149,7 @@ define <2 x double> @test_vpermilvar_pd(<2 x double> %v) { define <4 x double> @test_vpermilvar_pd_256(<4 x double> %v) { ; CHECK-LABEL: @test_vpermilvar_pd_256( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x double> %v, <4 x double> undef, <4 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x double> [[V:%.*]], <4 x double> undef, <4 x i32> ; CHECK-NEXT: ret <4 x double> [[TMP1]] ; %a = tail call <4 x double> @llvm.x86.avx.vpermilvar.pd.256(<4 x double> %v, <4 x i64> ) @@ -158,7 +158,7 @@ define <4 x double> @test_vpermilvar_pd_256(<4 x double> %v) { define <8 x double> @test_vpermilvar_pd_512(<8 x double> %v) { ; CHECK-LABEL: @test_vpermilvar_pd_512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x double> %v, <8 x double> undef, <8 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x double> [[V:%.*]], <8 x double> undef, <8 x i32> ; CHECK-NEXT: ret <8 x double> [[TMP1]] ; %a = tail call <8 x double> @llvm.x86.avx512.vpermilvar.pd.512(<8 x double> %v, <8 x i64> ) @@ -169,7 +169,7 @@ define <8 x double> @test_vpermilvar_pd_512(<8 x double> %v) { define <4 x float> @undef_test_vpermilvar_ps(<4 x float> %v) { ; CHECK-LABEL: @undef_test_vpermilvar_ps( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x float> %v, <4 x float> undef, <4 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x float> [[V:%.*]], <4 x float> undef, <4 x i32> ; CHECK-NEXT: ret <4 x float> [[TMP1]] ; %a = tail call <4 x float> @llvm.x86.avx.vpermilvar.ps(<4 x float> %v, <4 x i32> ) @@ -178,7 +178,7 @@ define <4 x float> @undef_test_vpermilvar_ps(<4 x float> %v) { define <8 x float> @undef_test_vpermilvar_ps_256(<8 x float> %v) { ; CHECK-LABEL: @undef_test_vpermilvar_ps_256( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> %v, <8 x float> undef, <8 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> [[V:%.*]], <8 x float> undef, <8 x i32> ; CHECK-NEXT: ret <8 x float> [[TMP1]] ; %a = tail call <8 x float> @llvm.x86.avx.vpermilvar.ps.256(<8 x float> %v, <8 x i32> ) @@ -187,7 +187,7 @@ define <8 x float> @undef_test_vpermilvar_ps_256(<8 x float> %v) { define <16 x float> @undef_test_vpermilvar_ps_512(<16 x float> %v) { ; CHECK-LABEL: @undef_test_vpermilvar_ps_512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x float> %v, <16 x float> undef, <16 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <16 x float> [[V:%.*]], <16 x float> undef, <16 x i32> ; CHECK-NEXT: ret <16 x float> [[TMP1]] ; %a = tail call <16 x float> @llvm.x86.avx512.vpermilvar.ps.512(<16 x float> %v, <16 x i32> ) @@ -196,7 +196,7 @@ define <16 x float> @undef_test_vpermilvar_ps_512(<16 x float> %v) { define <2 x double> @undef_test_vpermilvar_pd(<2 x double> %v) { ; CHECK-LABEL: @undef_test_vpermilvar_pd( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <2 x double> %v, <2 x double> undef, <2 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <2 x double> [[V:%.*]], <2 x double> undef, <2 x i32> ; CHECK-NEXT: ret <2 x double> [[TMP1]] ; %a = tail call <2 x double> @llvm.x86.avx.vpermilvar.pd(<2 x double> %v, <2 x i64> ) @@ -205,7 +205,7 @@ define <2 x double> @undef_test_vpermilvar_pd(<2 x double> %v) { define <4 x double> @undef_test_vpermilvar_pd_256(<4 x double> %v) { ; CHECK-LABEL: @undef_test_vpermilvar_pd_256( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x double> %v, <4 x double> undef, <4 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x double> [[V:%.*]], <4 x double> undef, <4 x i32> ; CHECK-NEXT: ret <4 x double> [[TMP1]] ; %a = tail call <4 x double> @llvm.x86.avx.vpermilvar.pd.256(<4 x double> %v, <4 x i64> ) @@ -214,7 +214,7 @@ define <4 x double> @undef_test_vpermilvar_pd_256(<4 x double> %v) { define <8 x double> @undef_test_vpermilvar_pd_512(<8 x double> %v) { ; CHECK-LABEL: @undef_test_vpermilvar_pd_512( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x double> %v, <8 x double> undef, <8 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x double> [[V:%.*]], <8 x double> undef, <8 x i32> ; CHECK-NEXT: ret <8 x double> [[TMP1]] ; %a = tail call <8 x double> @llvm.x86.avx512.vpermilvar.pd.512(<8 x double> %v, <8 x i64> ) @@ -225,7 +225,7 @@ define <8 x double> @undef_test_vpermilvar_pd_512(<8 x double> %v) { define <4 x float> @elts_test_vpermilvar_ps(<4 x float> %a0, i32 %a1) { ; CHECK-LABEL: @elts_test_vpermilvar_ps( -; CHECK-NEXT: ret <4 x float> %a0 +; CHECK-NEXT: ret <4 x float> [[A0:%.*]] ; %1 = insertelement <4 x i32> , i32 %a1, i32 3 %2 = tail call <4 x float> @llvm.x86.avx.vpermilvar.ps(<4 x float> %a0, <4 x i32> %1) @@ -235,7 +235,7 @@ define <4 x float> @elts_test_vpermilvar_ps(<4 x float> %a0, i32 %a1) { define <8 x float> @elts_test_vpermilvar_ps_256(<8 x float> %a0, <8 x i32> %a1) { ; CHECK-LABEL: @elts_test_vpermilvar_ps_256( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> %a0, <8 x float> undef, <8 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <8 x float> [[A0:%.*]], <8 x float> undef, <8 x i32> ; CHECK-NEXT: ret <8 x float> [[TMP1]] ; %1 = shufflevector <8 x i32> %a1, <8 x i32> , <8 x i32> @@ -246,7 +246,7 @@ define <8 x float> @elts_test_vpermilvar_ps_256(<8 x float> %a0, <8 x i32> %a1) define <16 x float> @elts_test_vpermilvar_ps_512(<16 x float> %a0, <16 x i32> %a1, i32 %a2) { ; CHECK-LABEL: @elts_test_vpermilvar_ps_512( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x float> @llvm.x86.avx512.vpermilvar.ps.512(<16 x float> %a0, <16 x i32> %a1) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <16 x float> @llvm.x86.avx512.vpermilvar.ps.512(<16 x float> [[A0:%.*]], <16 x i32> [[A1:%.*]]) ; CHECK-NEXT: ret <16 x float> [[TMP1]] ; %1 = insertelement <16 x i32> %a1, i32 %a2, i32 0 @@ -257,7 +257,7 @@ define <16 x float> @elts_test_vpermilvar_ps_512(<16 x float> %a0, <16 x i32> %a define <2 x double> @elts_test_vpermilvar_pd(<2 x double> %a0, i64 %a1) { ; CHECK-LABEL: @elts_test_vpermilvar_pd( -; CHECK-NEXT: ret <2 x double> %a0 +; CHECK-NEXT: ret <2 x double> [[A0:%.*]] ; %1 = insertelement <2 x i64> , i64 %a1, i32 1 %2 = tail call <2 x double> @llvm.x86.avx.vpermilvar.pd(<2 x double> %a0, <2 x i64> %1) @@ -267,7 +267,7 @@ define <2 x double> @elts_test_vpermilvar_pd(<2 x double> %a0, i64 %a1) { define <4 x double> @elts_test_vpermilvar_pd_256(<4 x double> %a0, <4 x i64> %a1) { ; CHECK-LABEL: @elts_test_vpermilvar_pd_256( -; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x double> %a0, <4 x double> undef, <4 x i32> +; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <4 x double> [[A0:%.*]], <4 x double> undef, <4 x i32> ; CHECK-NEXT: ret <4 x double> [[TMP1]] ; %1 = shufflevector <4 x i64> , <4 x i64> %a1, <4 x i32> @@ -278,8 +278,8 @@ define <4 x double> @elts_test_vpermilvar_pd_256(<4 x double> %a0, <4 x i64> %a1 define <8 x double> @elts_test_vpermilvar_pd_512(<8 x double> %a0, <8 x i64> %a1, i64 %a2) { ; CHECK-LABEL: @elts_test_vpermilvar_pd_512( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <8 x i64> undef, i64 %a2, i32 0 -; CHECK-NEXT: [[TMP2:%.*]] = tail call <8 x double> @llvm.x86.avx512.vpermilvar.pd.512(<8 x double> %a0, <8 x i64> [[TMP1]]) +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <8 x i64> undef, i64 [[A2:%.*]], i32 0 +; CHECK-NEXT: [[TMP2:%.*]] = tail call <8 x double> @llvm.x86.avx512.vpermilvar.pd.512(<8 x double> [[A0:%.*]], <8 x i64> [[TMP1]]) ; CHECK-NEXT: [[TMP3:%.*]] = shufflevector <8 x double> [[TMP2]], <8 x double> undef, <8 x i32> zeroinitializer ; CHECK-NEXT: ret <8 x double> [[TMP3]] ; diff --git a/llvm/test/Transforms/InstCombine/X86/x86-xop.ll b/llvm/test/Transforms/InstCombine/X86/x86-xop.ll index 03a3f921abb2..6cc93698f7fd 100644 --- a/llvm/test/Transforms/InstCombine/X86/x86-xop.ll +++ b/llvm/test/Transforms/InstCombine/X86/x86-xop.ll @@ -3,7 +3,7 @@ define <2 x double> @test_vfrcz_sd(<2 x double> %a) { ; CHECK-LABEL: @test_vfrcz_sd( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <2 x double> @llvm.x86.xop.vfrcz.sd(<2 x double> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <2 x double> @llvm.x86.xop.vfrcz.sd(<2 x double> [[A:%.*]]) ; CHECK-NEXT: ret <2 x double> [[TMP1]] ; %1 = insertelement <2 x double> %a, double 1.000000e+00, i32 1 @@ -13,7 +13,7 @@ define <2 x double> @test_vfrcz_sd(<2 x double> %a) { define double @test_vfrcz_sd_0(double %a) { ; CHECK-LABEL: @test_vfrcz_sd_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <2 x double> undef, double %a, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <2 x double> undef, double [[A:%.*]], i32 0 ; CHECK-NEXT: [[TMP2:%.*]] = tail call <2 x double> @llvm.x86.xop.vfrcz.sd(<2 x double> [[TMP1]]) ; CHECK-NEXT: [[TMP3:%.*]] = extractelement <2 x double> [[TMP2]], i32 0 ; CHECK-NEXT: ret double [[TMP3]] @@ -38,7 +38,7 @@ define double @test_vfrcz_sd_1(double %a) { define <4 x float> @test_vfrcz_ss(<4 x float> %a) { ; CHECK-LABEL: @test_vfrcz_ss( -; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.xop.vfrcz.ss(<4 x float> %a) +; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.xop.vfrcz.ss(<4 x float> [[A:%.*]]) ; CHECK-NEXT: ret <4 x float> [[TMP1]] ; %1 = insertelement <4 x float> %a, float 1.000000e+00, i32 1 @@ -50,7 +50,7 @@ define <4 x float> @test_vfrcz_ss(<4 x float> %a) { define float @test_vfrcz_ss_0(float %a) { ; CHECK-LABEL: @test_vfrcz_ss_0( -; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0 +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float [[A:%.*]], i32 0 ; CHECK-NEXT: [[TMP2:%.*]] = tail call <4 x float> @llvm.x86.xop.vfrcz.ss(<4 x float> [[TMP1]]) ; CHECK-NEXT: [[TMP3:%.*]] = extractelement <4 x float> [[TMP2]], i32 0 ; CHECK-NEXT: ret float [[TMP3]] @@ -79,7 +79,7 @@ define float @test_vfrcz_ss_3(float %a) { define <2 x i64> @cmp_slt_v2i64(<2 x i64> %a, <2 x i64> %b) { ; CHECK-LABEL: @cmp_slt_v2i64( -; CHECK-NEXT: [[TMP1:%.*]] = icmp slt <2 x i64> %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = icmp slt <2 x i64> [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: [[TMP2:%.*]] = sext <2 x i1> [[TMP1]] to <2 x i64> ; CHECK-NEXT: ret <2 x i64> [[TMP2]] ; @@ -89,7 +89,7 @@ define <2 x i64> @cmp_slt_v2i64(<2 x i64> %a, <2 x i64> %b) { define <2 x i64> @cmp_ult_v2i64(<2 x i64> %a, <2 x i64> %b) { ; CHECK-LABEL: @cmp_ult_v2i64( -; CHECK-NEXT: [[TMP1:%.*]] = icmp ult <2 x i64> %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = icmp ult <2 x i64> [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: [[TMP2:%.*]] = sext <2 x i1> [[TMP1]] to <2 x i64> ; CHECK-NEXT: ret <2 x i64> [[TMP2]] ; @@ -99,7 +99,7 @@ define <2 x i64> @cmp_ult_v2i64(<2 x i64> %a, <2 x i64> %b) { define <2 x i64> @cmp_sle_v2i64(<2 x i64> %a, <2 x i64> %b) { ; CHECK-LABEL: @cmp_sle_v2i64( -; CHECK-NEXT: [[TMP1:%.*]] = icmp sle <2 x i64> %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = icmp sle <2 x i64> [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: [[TMP2:%.*]] = sext <2 x i1> [[TMP1]] to <2 x i64> ; CHECK-NEXT: ret <2 x i64> [[TMP2]] ; @@ -109,7 +109,7 @@ define <2 x i64> @cmp_sle_v2i64(<2 x i64> %a, <2 x i64> %b) { define <2 x i64> @cmp_ule_v2i64(<2 x i64> %a, <2 x i64> %b) { ; CHECK-LABEL: @cmp_ule_v2i64( -; CHECK-NEXT: [[TMP1:%.*]] = icmp ule <2 x i64> %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = icmp ule <2 x i64> [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: [[TMP2:%.*]] = sext <2 x i1> [[TMP1]] to <2 x i64> ; CHECK-NEXT: ret <2 x i64> [[TMP2]] ; @@ -119,7 +119,7 @@ define <2 x i64> @cmp_ule_v2i64(<2 x i64> %a, <2 x i64> %b) { define <4 x i32> @cmp_sgt_v4i32(<4 x i32> %a, <4 x i32> %b) { ; CHECK-LABEL: @cmp_sgt_v4i32( -; CHECK-NEXT: [[TMP1:%.*]] = icmp sgt <4 x i32> %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = icmp sgt <4 x i32> [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: [[TMP2:%.*]] = sext <4 x i1> [[TMP1]] to <4 x i32> ; CHECK-NEXT: ret <4 x i32> [[TMP2]] ; @@ -129,7 +129,7 @@ define <4 x i32> @cmp_sgt_v4i32(<4 x i32> %a, <4 x i32> %b) { define <4 x i32> @cmp_ugt_v4i32(<4 x i32> %a, <4 x i32> %b) { ; CHECK-LABEL: @cmp_ugt_v4i32( -; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt <4 x i32> %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt <4 x i32> [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: [[TMP2:%.*]] = sext <4 x i1> [[TMP1]] to <4 x i32> ; CHECK-NEXT: ret <4 x i32> [[TMP2]] ; @@ -139,7 +139,7 @@ define <4 x i32> @cmp_ugt_v4i32(<4 x i32> %a, <4 x i32> %b) { define <4 x i32> @cmp_sge_v4i32(<4 x i32> %a, <4 x i32> %b) { ; CHECK-LABEL: @cmp_sge_v4i32( -; CHECK-NEXT: [[TMP1:%.*]] = icmp sge <4 x i32> %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = icmp sge <4 x i32> [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: [[TMP2:%.*]] = sext <4 x i1> [[TMP1]] to <4 x i32> ; CHECK-NEXT: ret <4 x i32> [[TMP2]] ; @@ -149,7 +149,7 @@ define <4 x i32> @cmp_sge_v4i32(<4 x i32> %a, <4 x i32> %b) { define <4 x i32> @cmp_uge_v4i32(<4 x i32> %a, <4 x i32> %b) { ; CHECK-LABEL: @cmp_uge_v4i32( -; CHECK-NEXT: [[TMP1:%.*]] = icmp uge <4 x i32> %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = icmp uge <4 x i32> [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: [[TMP2:%.*]] = sext <4 x i1> [[TMP1]] to <4 x i32> ; CHECK-NEXT: ret <4 x i32> [[TMP2]] ; @@ -159,7 +159,7 @@ define <4 x i32> @cmp_uge_v4i32(<4 x i32> %a, <4 x i32> %b) { define <8 x i16> @cmp_seq_v8i16(<8 x i16> %a, <8 x i16> %b) { ; CHECK-LABEL: @cmp_seq_v8i16( -; CHECK-NEXT: [[TMP1:%.*]] = icmp eq <8 x i16> %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = icmp eq <8 x i16> [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: [[TMP2:%.*]] = sext <8 x i1> [[TMP1]] to <8 x i16> ; CHECK-NEXT: ret <8 x i16> [[TMP2]] ; @@ -169,7 +169,7 @@ define <8 x i16> @cmp_seq_v8i16(<8 x i16> %a, <8 x i16> %b) { define <8 x i16> @cmp_ueq_v8i16(<8 x i16> %a, <8 x i16> %b) { ; CHECK-LABEL: @cmp_ueq_v8i16( -; CHECK-NEXT: [[TMP1:%.*]] = icmp eq <8 x i16> %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = icmp eq <8 x i16> [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: [[TMP2:%.*]] = sext <8 x i1> [[TMP1]] to <8 x i16> ; CHECK-NEXT: ret <8 x i16> [[TMP2]] ; @@ -179,7 +179,7 @@ define <8 x i16> @cmp_ueq_v8i16(<8 x i16> %a, <8 x i16> %b) { define <8 x i16> @cmp_sne_v8i16(<8 x i16> %a, <8 x i16> %b) { ; CHECK-LABEL: @cmp_sne_v8i16( -; CHECK-NEXT: [[TMP1:%.*]] = icmp ne <8 x i16> %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = icmp ne <8 x i16> [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: [[TMP2:%.*]] = sext <8 x i1> [[TMP1]] to <8 x i16> ; CHECK-NEXT: ret <8 x i16> [[TMP2]] ; @@ -189,7 +189,7 @@ define <8 x i16> @cmp_sne_v8i16(<8 x i16> %a, <8 x i16> %b) { define <8 x i16> @cmp_une_v8i16(<8 x i16> %a, <8 x i16> %b) { ; CHECK-LABEL: @cmp_une_v8i16( -; CHECK-NEXT: [[TMP1:%.*]] = icmp ne <8 x i16> %a, %b +; CHECK-NEXT: [[TMP1:%.*]] = icmp ne <8 x i16> [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: [[TMP2:%.*]] = sext <8 x i1> [[TMP1]] to <8 x i16> ; CHECK-NEXT: ret <8 x i16> [[TMP2]] ; diff --git a/llvm/test/Transforms/InstCombine/vec_demanded_elts.ll b/llvm/test/Transforms/InstCombine/vec_demanded_elts.ll index 0c3f60861430..76f4c412f658 100644 --- a/llvm/test/Transforms/InstCombine/vec_demanded_elts.ll +++ b/llvm/test/Transforms/InstCombine/vec_demanded_elts.ll @@ -644,9 +644,10 @@ define i32* @gep_demanded_lane_undef(i32* %base, i64 %idx) { ;; indices. define i32* @PR41624(<2 x { i32, i32 }*> %a) { ; CHECK-LABEL: @PR41624( -; CHECK-NEXT: %w = getelementptr { i32, i32 }, <2 x { i32, i32 }*> %a, <2 x i64> , <2 x i32> zeroinitializer -; CHECK-NEXT: %r = extractelement <2 x i32*> %w, i32 0 -; CHECK-NEXT: ret i32* %r +; CHECK-NEXT: [[W:%.*]] = getelementptr { i32, i32 }, <2 x { i32, i32 }*> [[A:%.*]], <2 x i64> , <2 x i32> zeroinitializer +; CHECK-NEXT: [[R:%.*]] = extractelement <2 x i32*> [[W]], i32 0 +; CHECK-NEXT: ret i32* [[R]] +; %w = getelementptr { i32, i32 }, <2 x { i32, i32 }*> %a, <2 x i64> , <2 x i32> zeroinitializer %r = extractelement <2 x i32*> %w, i32 0 ret i32* %r