@@ -20,9 +20,9 @@ export void call4() {
2020// CHECK-NEXT: store <1 x i32> splat (i32 1), ptr [[A]], align 4
2121// CHECK-NEXT: call void @llvm.memcpy.p0.p0.i32(ptr align 4 [[B]], ptr align 4 {{.*}}, i32 8, i1 false)
2222// CHECK-NEXT: [[L:%.*]] = load <1 x i32>, ptr [[A]], align 4
23+ // CHECK-NEXT: [[VL:%.*]] = extractelement <1 x i32> [[L]], i32 0
2324// CHECK-NEXT: [[G1:%.*]] = getelementptr inbounds [2 x i32], ptr [[B]], i32 0, i32 0
2425// CHECK-NEXT: [[G2:%.*]] = getelementptr inbounds [2 x i32], ptr [[B]], i32 0, i32 1
25- // CHECK-NEXT: [[VL:%.*]] = extractelement <1 x i32> [[L]], i64 0
2626// CHECK-NEXT: store i32 [[VL]], ptr [[G1]], align 4
2727// CHECK-NEXT: store i32 [[VL]], ptr [[G2]], align 4
2828export void call8 () {
@@ -37,7 +37,7 @@ export void call8() {
3737// CHECK-NEXT: [[A:%.*]] = alloca <4 x i32>, align 16
3838// CHECK-NEXT: store <1 x float> splat (float 1.000000e+00), ptr [[B]], align 4
3939// CHECK-NEXT: [[L:%.*]] = load <1 x float>, ptr [[B]], align 4
40- // CHECK-NEXT: [[VL:%.*]] = extractelement <1 x float> [[L]], i64 0
40+ // CHECK-NEXT: [[VL:%.*]] = extractelement <1 x float> [[L]], i32 0
4141// CHECK-NEXT: [[C:%.*]] = fptosi float [[VL]] to i32
4242// CHECK-NEXT: [[SI:%.*]] = insertelement <4 x i32> poison, i32 [[C]], i64 0
4343// CHECK-NEXT: [[S:%.*]] = shufflevector <4 x i32> [[SI]], <4 x i32> poison, <4 x i32> zeroinitializer
@@ -58,9 +58,9 @@ struct S {
5858// CHECK: [[s:%.*]] = alloca %struct.S, align 4
5959// CHECK-NEXT: store <1 x i32> splat (i32 1), ptr [[A]], align 4
6060// CHECK-NEXT: [[L:%.*]] = load <1 x i32>, ptr [[A]], align 4
61+ // CHECK-NEXT: [[VL:%.*]] = extractelement <1 x i32> [[L]], i32 0
6162// CHECK-NEXT: [[G1:%.*]] = getelementptr inbounds %struct.S, ptr [[s]], i32 0, i32 0
6263// CHECK-NEXT: [[G2:%.*]] = getelementptr inbounds %struct.S, ptr [[s]], i32 0, i32 1
63- // CHECK-NEXT: [[VL:%.*]] = extractelement <1 x i32> [[L]], i64 0
6464// CHECK-NEXT: store i32 [[VL]], ptr [[G1]], align 4
6565// CHECK-NEXT: [[C:%.*]] = sitofp i32 [[VL]] to float
6666// CHECK-NEXT: store float [[C]], ptr [[G2]], align 4
@@ -75,9 +75,9 @@ export void call3() {
7575// CHECK-NEXT: [[s:%.*]] = alloca %struct.S, align 4
7676// CHECK-NEXT: store <1 x i32> splat (i32 1), ptr [[A]], align 4
7777// CHECK-NEXT: [[L:%.*]] = load <1 x i32>, ptr [[A]], align 4
78+ // CHECK-NEXT: [[VL:%.*]] = extractelement <1 x i32> [[L]], i32 0
7879// CHECK-NEXT: [[G1:%.*]] = getelementptr inbounds %struct.S, ptr [[s]], i32 0, i32 0
7980// CHECK-NEXT: [[G2:%.*]] = getelementptr inbounds %struct.S, ptr [[s]], i32 0, i32 1
80- // CHECK-NEXT: [[VL:%.*]] = extractelement <1 x i32> [[L]], i64 0
8181// CHECK-NEXT: store i32 [[VL]], ptr [[G1]], align 4
8282// CHECK-NEXT: [[C:%.*]] = sitofp i32 [[VL]] to float
8383// CHECK-NEXT: store float [[C]], ptr [[G2]], align 4
0 commit comments