@@ -441,21 +441,13 @@ define <4 x float> @ins_bo_ext_ext(<4 x float> %a, <4 x float> %b) {
441441; but it is likely that extracting from index 3 is the better option.
442442
443443define <4 x float > @ins_bo_ext_ext_uses (<4 x float > %a , <4 x float > %b ) {
444- ; SSE-LABEL: @ins_bo_ext_ext_uses(
445- ; SSE-NEXT: [[SHIFT:%.*]] = shufflevector <4 x float> [[A:%.*]], <4 x float> poison, <4 x i32> <i32 poison, i32 poison, i32 3, i32 poison>
446- ; SSE-NEXT: [[TMP1:%.*]] = fadd <4 x float> [[A]], [[SHIFT]]
447- ; SSE-NEXT: [[A23:%.*]] = extractelement <4 x float> [[TMP1]], i32 2
448- ; SSE-NEXT: call void @use_f32(float [[A23]])
449- ; SSE-NEXT: [[V3:%.*]] = insertelement <4 x float> [[B:%.*]], float [[A23]], i32 3
450- ; SSE-NEXT: ret <4 x float> [[V3]]
451- ;
452- ; AVX-LABEL: @ins_bo_ext_ext_uses(
453- ; AVX-NEXT: [[SHIFT:%.*]] = shufflevector <4 x float> [[A:%.*]], <4 x float> poison, <4 x i32> <i32 poison, i32 poison, i32 3, i32 poison>
454- ; AVX-NEXT: [[TMP1:%.*]] = fadd <4 x float> [[A]], [[SHIFT]]
455- ; AVX-NEXT: [[A23:%.*]] = extractelement <4 x float> [[TMP1]], i32 2
456- ; AVX-NEXT: call void @use_f32(float [[A23]])
457- ; AVX-NEXT: [[V3:%.*]] = shufflevector <4 x float> [[B:%.*]], <4 x float> [[TMP1]], <4 x i32> <i32 0, i32 1, i32 2, i32 6>
458- ; AVX-NEXT: ret <4 x float> [[V3]]
444+ ; CHECK-LABEL: @ins_bo_ext_ext_uses(
445+ ; CHECK-NEXT: [[SHIFT:%.*]] = shufflevector <4 x float> [[A:%.*]], <4 x float> poison, <4 x i32> <i32 poison, i32 poison, i32 3, i32 poison>
446+ ; CHECK-NEXT: [[TMP1:%.*]] = fadd <4 x float> [[A]], [[SHIFT]]
447+ ; CHECK-NEXT: [[A23:%.*]] = extractelement <4 x float> [[TMP1]], i32 2
448+ ; CHECK-NEXT: call void @use_f32(float [[A23]])
449+ ; CHECK-NEXT: [[V3:%.*]] = insertelement <4 x float> [[B:%.*]], float [[A23]], i32 3
450+ ; CHECK-NEXT: ret <4 x float> [[V3]]
459451;
460452 %a2 = extractelement <4 x float > %a , i32 2
461453 %a3 = extractelement <4 x float > %a , i32 3
0 commit comments