@@ -100,13 +100,13 @@ EXTERN_C void test_ld64b(void)
100
100
// CHECK-C-LABEL: @test_st64b(
101
101
// CHECK-C-NEXT: entry:
102
102
// CHECK-C-NEXT: [[__ADDR_ADDR_I:%.*]] = alloca i8*, align 8
103
- // CHECK-C-NEXT: [[VALUE_INDIRECT_ADDR:%.*]] = alloca ptr , align 8
103
+ // CHECK-C-NEXT: [[VALUE_INDIRECT_ADDR:%.*]] = alloca [[INDIRECT_ADDR_TY:.*]] , align 8
104
104
// CHECK-C-NEXT: [[BYVAL_TEMP:%.*]] = alloca [[STRUCT_DATA512_T:%.*]], align 8
105
105
// CHECK-C-NEXT: [[TMP0:%.*]] = load i8*, i8** @addr, align 8
106
106
// CHECK-C-NEXT: [[TMP1:%.*]] = bitcast %struct.data512_t* [[BYVAL_TEMP]] to i8*
107
107
// CHECK-C-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TMP1]], i8* align 8 bitcast (%struct.data512_t* @val to i8*), i64 64, i1 false)
108
108
// CHECK-C-NEXT: store i8* [[TMP0]], i8** [[__ADDR_ADDR_I]], align 8
109
- // CHECK-C-NEXT: store ptr [[BYVAL_TEMP]], ptr [[VALUE_INDIRECT_ADDR]], align 8
109
+ // CHECK-C-NEXT: store [[INDIRECT_ADDR_TY]] [[BYVAL_TEMP]], [[INDIRECT_ADDR_TY]]* [[VALUE_INDIRECT_ADDR]], align 8
110
110
// CHECK-C-NEXT: [[TMP2:%.*]] = load i8*, i8** [[__ADDR_ADDR_I]], align 8
111
111
// CHECK-C-NEXT: [[VAL_I:%.*]] = getelementptr inbounds [[STRUCT_DATA512_T]], %struct.data512_t* [[BYVAL_TEMP]], i32 0, i32 0
112
112
// CHECK-C-NEXT: [[ARRAYDECAY_I:%.*]] = getelementptr inbounds [8 x i64], [8 x i64]* [[VAL_I]], i64 0, i64 0
@@ -131,13 +131,13 @@ EXTERN_C void test_ld64b(void)
131
131
// CHECK-CXX-LABEL: @test_st64b(
132
132
// CHECK-CXX-NEXT: entry:
133
133
// CHECK-CXX-NEXT: [[__ADDR_ADDR_I:%.*]] = alloca i8*, align 8
134
- // CHECK-CXX-NEXT: [[VALUE_INDIRECT_ADDR:%.*]] = alloca ptr , align 8
134
+ // CHECK-CXX-NEXT: [[VALUE_INDIRECT_ADDR:%.*]] = alloca [[INDIRECT_ADDR_TY:.*]] , align 8
135
135
// CHECK-CXX-NEXT: [[AGG_TMP:%.*]] = alloca [[STRUCT_DATA512_T:%.*]], align 8
136
136
// CHECK-CXX-NEXT: [[TMP0:%.*]] = load i8*, i8** @addr, align 8
137
137
// CHECK-CXX-NEXT: [[TMP1:%.*]] = bitcast %struct.data512_t* [[AGG_TMP]] to i8*
138
138
// CHECK-CXX-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TMP1]], i8* align 8 bitcast (%struct.data512_t* @val to i8*), i64 64, i1 false)
139
139
// CHECK-CXX-NEXT: store i8* [[TMP0]], i8** [[__ADDR_ADDR_I]], align 8
140
- // CHECK-CXX-NEXT: store ptr [[AGG_TMP]], ptr [[VALUE_INDIRECT_ADDR]], align 8
140
+ // CHECK-CXX-NEXT: store [[INDIRECT_ADDR_TY]] [[AGG_TMP]], [[INDIRECT_ADDR_TY]]* [[VALUE_INDIRECT_ADDR]], align 8
141
141
// CHECK-CXX-NEXT: [[TMP2:%.*]] = load i8*, i8** [[__ADDR_ADDR_I]], align 8
142
142
// CHECK-CXX-NEXT: [[VAL_I:%.*]] = getelementptr inbounds [[STRUCT_DATA512_T]], %struct.data512_t* [[AGG_TMP]], i32 0, i32 0
143
143
// CHECK-CXX-NEXT: [[ARRAYDECAY_I:%.*]] = getelementptr inbounds [8 x i64], [8 x i64]* [[VAL_I]], i64 0, i64 0
@@ -167,13 +167,13 @@ EXTERN_C void test_st64b(void)
167
167
// CHECK-C-LABEL: @test_st64bv(
168
168
// CHECK-C-NEXT: entry:
169
169
// CHECK-C-NEXT: [[__ADDR_ADDR_I:%.*]] = alloca i8*, align 8
170
- // CHECK-C-NEXT: [[VALUE_INDIRECT_ADDR:%.*]] = alloca ptr , align 8
170
+ // CHECK-C-NEXT: [[VALUE_INDIRECT_ADDR:%.*]] = alloca [[INDIRECT_ADDR_TY]] , align 8
171
171
// CHECK-C-NEXT: [[BYVAL_TEMP:%.*]] = alloca [[STRUCT_DATA512_T:%.*]], align 8
172
172
// CHECK-C-NEXT: [[TMP0:%.*]] = load i8*, i8** @addr, align 8
173
173
// CHECK-C-NEXT: [[TMP1:%.*]] = bitcast %struct.data512_t* [[BYVAL_TEMP]] to i8*
174
174
// CHECK-C-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TMP1]], i8* align 8 bitcast (%struct.data512_t* @val to i8*), i64 64, i1 false)
175
175
// CHECK-C-NEXT: store i8* [[TMP0]], i8** [[__ADDR_ADDR_I]], align 8
176
- // CHECK-C-NEXT: store ptr [[BYVAL_TEMP]], ptr [[VALUE_INDIRECT_ADDR]], align 8
176
+ // CHECK-C-NEXT: store [[INDIRECT_ADDR_TY]] [[BYVAL_TEMP]], [[INDIRECT_ADDR_TY]]* [[VALUE_INDIRECT_ADDR]], align 8
177
177
// CHECK-C-NEXT: [[TMP2:%.*]] = load i8*, i8** [[__ADDR_ADDR_I]], align 8
178
178
// CHECK-C-NEXT: [[VAL_I:%.*]] = getelementptr inbounds [[STRUCT_DATA512_T]], %struct.data512_t* [[BYVAL_TEMP]], i32 0, i32 0
179
179
// CHECK-C-NEXT: [[ARRAYDECAY_I:%.*]] = getelementptr inbounds [8 x i64], [8 x i64]* [[VAL_I]], i64 0, i64 0
@@ -199,13 +199,13 @@ EXTERN_C void test_st64b(void)
199
199
// CHECK-CXX-LABEL: @test_st64bv(
200
200
// CHECK-CXX-NEXT: entry:
201
201
// CHECK-CXX-NEXT: [[__ADDR_ADDR_I:%.*]] = alloca i8*, align 8
202
- // CHECK-CXX-NEXT: [[VALUE_INDIRECT_ADDR:%.*]] = alloca ptr , align 8
202
+ // CHECK-CXX-NEXT: [[VALUE_INDIRECT_ADDR:%.*]] = alloca [[INDIRECT_ADDR_TY]] , align 8
203
203
// CHECK-CXX-NEXT: [[AGG_TMP:%.*]] = alloca [[STRUCT_DATA512_T:%.*]], align 8
204
204
// CHECK-CXX-NEXT: [[TMP0:%.*]] = load i8*, i8** @addr, align 8
205
205
// CHECK-CXX-NEXT: [[TMP1:%.*]] = bitcast %struct.data512_t* [[AGG_TMP]] to i8*
206
206
// CHECK-CXX-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TMP1]], i8* align 8 bitcast (%struct.data512_t* @val to i8*), i64 64, i1 false)
207
207
// CHECK-CXX-NEXT: store i8* [[TMP0]], i8** [[__ADDR_ADDR_I]], align 8
208
- // CHECK-CXX-NEXT: store ptr [[AGG_TMP]], ptr [[VALUE_INDIRECT_ADDR]], align 8
208
+ // CHECK-CXX-NEXT: store [[INDIRECT_ADDR_TY]] [[AGG_TMP]], [[INDIRECT_ADDR_TY]]* [[VALUE_INDIRECT_ADDR]], align 8
209
209
// CHECK-CXX-NEXT: [[TMP2:%.*]] = load i8*, i8** [[__ADDR_ADDR_I]], align 8
210
210
// CHECK-CXX-NEXT: [[VAL_I:%.*]] = getelementptr inbounds [[STRUCT_DATA512_T]], %struct.data512_t* [[AGG_TMP]], i32 0, i32 0
211
211
// CHECK-CXX-NEXT: [[ARRAYDECAY_I:%.*]] = getelementptr inbounds [8 x i64], [8 x i64]* [[VAL_I]], i64 0, i64 0
@@ -236,13 +236,13 @@ EXTERN_C void test_st64bv(void)
236
236
// CHECK-C-LABEL: @test_st64bv0(
237
237
// CHECK-C-NEXT: entry:
238
238
// CHECK-C-NEXT: [[__ADDR_ADDR_I:%.*]] = alloca i8*, align 8
239
- // CHECK-C-NEXT: [[VALUE_INDIRECT_ADDR:%.*]] = alloca ptr , align 8
239
+ // CHECK-C-NEXT: [[VALUE_INDIRECT_ADDR:%.*]] = alloca [[INDIRECT_ADDR_TY]] , align 8
240
240
// CHECK-C-NEXT: [[BYVAL_TEMP:%.*]] = alloca [[STRUCT_DATA512_T:%.*]], align 8
241
241
// CHECK-C-NEXT: [[TMP0:%.*]] = load i8*, i8** @addr, align 8
242
242
// CHECK-C-NEXT: [[TMP1:%.*]] = bitcast %struct.data512_t* [[BYVAL_TEMP]] to i8*
243
243
// CHECK-C-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TMP1]], i8* align 8 bitcast (%struct.data512_t* @val to i8*), i64 64, i1 false)
244
244
// CHECK-C-NEXT: store i8* [[TMP0]], i8** [[__ADDR_ADDR_I]], align 8
245
- // CHECK-C-NEXT: store ptr [[BYVAL_TEMP]], ptr [[VALUE_INDIRECT_ADDR]], align 8
245
+ // CHECK-C-NEXT: store [[INDIRECT_ADDR_TY]] [[BYVAL_TEMP]], [[INDIRECT_ADDR_TY]]* [[VALUE_INDIRECT_ADDR]], align 8
246
246
// CHECK-C-NEXT: [[TMP2:%.*]] = load i8*, i8** [[__ADDR_ADDR_I]], align 8
247
247
// CHECK-C-NEXT: [[VAL_I:%.*]] = getelementptr inbounds [[STRUCT_DATA512_T]], %struct.data512_t* [[BYVAL_TEMP]], i32 0, i32 0
248
248
// CHECK-C-NEXT: [[ARRAYDECAY_I:%.*]] = getelementptr inbounds [8 x i64], [8 x i64]* [[VAL_I]], i64 0, i64 0
@@ -268,13 +268,13 @@ EXTERN_C void test_st64bv(void)
268
268
// CHECK-CXX-LABEL: @test_st64bv0(
269
269
// CHECK-CXX-NEXT: entry:
270
270
// CHECK-CXX-NEXT: [[__ADDR_ADDR_I:%.*]] = alloca i8*, align 8
271
- // CHECK-CXX-NEXT: [[VALUE_INDIRECT_ADDR:%.*]] = alloca ptr , align 8
271
+ // CHECK-CXX-NEXT: [[VALUE_INDIRECT_ADDR:%.*]] = alloca [[INDIRECT_ADDR_TY]] , align 8
272
272
// CHECK-CXX-NEXT: [[AGG_TMP:%.*]] = alloca [[STRUCT_DATA512_T:%.*]], align 8
273
273
// CHECK-CXX-NEXT: [[TMP0:%.*]] = load i8*, i8** @addr, align 8
274
274
// CHECK-CXX-NEXT: [[TMP1:%.*]] = bitcast %struct.data512_t* [[AGG_TMP]] to i8*
275
275
// CHECK-CXX-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TMP1]], i8* align 8 bitcast (%struct.data512_t* @val to i8*), i64 64, i1 false)
276
276
// CHECK-CXX-NEXT: store i8* [[TMP0]], i8** [[__ADDR_ADDR_I]], align 8
277
- // CHECK-CXX-NEXT: store ptr [[AGG_TMP]], ptr [[VALUE_INDIRECT_ADDR]], align 8
277
+ // CHECK-CXX-NEXT: store [[INDIRECT_ADDR_TY]] [[AGG_TMP]], [[INDIRECT_ADDR_TY]]* [[VALUE_INDIRECT_ADDR]], align 8
278
278
// CHECK-CXX-NEXT: [[TMP2:%.*]] = load i8*, i8** [[__ADDR_ADDR_I]], align 8
279
279
// CHECK-CXX-NEXT: [[VAL_I:%.*]] = getelementptr inbounds [[STRUCT_DATA512_T]], %struct.data512_t* [[AGG_TMP]], i32 0, i32 0
280
280
// CHECK-CXX-NEXT: [[ARRAYDECAY_I:%.*]] = getelementptr inbounds [8 x i64], [8 x i64]* [[VAL_I]], i64 0, i64 0
0 commit comments