@@ -32,14 +32,19 @@ define float @extract_from_general_scalable_splat(<vscale x 2 x float> %1, i64 %
3232}
3333
3434define float @no_extract_from_general_no_splat_0 (<2 x float > %1 , i64 %idx ) {
35+ ; CHECK-LABEL: @no_extract_from_general_no_splat_0(
36+ ; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <2 x float> [[W:%.*]], <2 x float> poison, <4 x i32> <i32 poison, i32 1, i32 1, i32 1>
37+ ; CHECK-NEXT: [[TMP2:%.*]] = extractelement <4 x float> [[TMP1]], i64 %idx
38+ ; CHECK-NEXT: ret float [[TMP2]]
39+ ;
3540 %3 = shufflevector <2 x float > %1 , <2 x float > poison, <4 x i32 > <i32 undef , i32 1 , i32 1 , i32 1 >
3641 %4 = extractelement <4 x float > %3 , i64 %idx
3742 ret float %4
3843}
3944
4045define float @no_extract_from_general_no_splat_1 (<2 x float > %1 , i64 %idx ) {
41- ; CHECK-LABEL: @no_extract_from_general_no_splat_0 (
42- ; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <2 x float> [[W:%.*]], <2 x float> poison, <4 x i32> <i32 poison , i32 1 , i32 1, i32 1>
46+ ; CHECK-LABEL: @no_extract_from_general_no_splat_1 (
47+ ; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <2 x float> [[W:%.*]], <2 x float> poison, <4 x i32> <i32 1 , i32 poison , i32 1, i32 1>
4348; CHECK-NEXT: [[TMP2:%.*]] = extractelement <4 x float> [[TMP1]], i64 %idx
4449; CHECK-NEXT: ret float [[TMP2]]
4550;
0 commit comments