@@ -332,7 +332,7 @@ define {<4 x i32>, <4 x i32>, <4 x i32>} @vpload_factor3_poison_shufflemask(ptr
332
332
ret {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res2
333
333
}
334
334
335
- define {<4 x i32 >, <4 x i32 >, < 4 x i32 > } @vpload_factor3_skip_fields (ptr %ptr ) {
335
+ define {<4 x i32 >, <4 x i32 >} @vpload_factor3_skip_fields (ptr %ptr ) {
336
336
; mask = 1111, skip the last field.
337
337
; CHECK-LABEL: vpload_factor3_skip_fields:
338
338
; CHECK: # %bb.0:
@@ -344,13 +344,12 @@ define {<4 x i32>, <4 x i32>, <4 x i32>} @vpload_factor3_skip_fields(ptr %ptr) {
344
344
%v0 = shufflevector <12 x i32 > %interleaved.vec , <12 x i32 > poison, <4 x i32 > <i32 0 , i32 3 , i32 6 , i32 9 >
345
345
%v1 = shufflevector <12 x i32 > %interleaved.vec , <12 x i32 > poison, <4 x i32 > <i32 1 , i32 4 , i32 poison, i32 10 >
346
346
%v2 = shufflevector <12 x i32 > %interleaved.vec , <12 x i32 > poison, <4 x i32 > <i32 2 , i32 5 , i32 8 , i32 11 >
347
- %res0 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} undef , <4 x i32 > %v0 , 0
348
- %res1 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res0 , <4 x i32 > %v1 , 1
349
- %res2 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res1 , <4 x i32 > %v2 , 2
350
- ret {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res2
347
+ %res0 = insertvalue {<4 x i32 >, <4 x i32 >} undef , <4 x i32 > %v0 , 0
348
+ %res1 = insertvalue {<4 x i32 >, <4 x i32 >} %res0 , <4 x i32 > %v1 , 1
349
+ ret {<4 x i32 >, <4 x i32 >} %res1
351
350
}
352
351
353
- define {<4 x i32 >, <4 x i32 >, < 4 x i32 > } @vpload_factor3_mask_skip_fields (ptr %ptr ) {
352
+ define {<4 x i32 >, <4 x i32 >} @vpload_factor3_mask_skip_fields (ptr %ptr ) {
354
353
; mask = 0101, skip the last field.
355
354
; CHECK-LABEL: vpload_factor3_mask_skip_fields:
356
355
; CHECK: # %bb.0:
@@ -363,10 +362,9 @@ define {<4 x i32>, <4 x i32>, <4 x i32>} @vpload_factor3_mask_skip_fields(ptr %p
363
362
%v0 = shufflevector <12 x i32 > %interleaved.vec , <12 x i32 > poison, <4 x i32 > <i32 0 , i32 3 , i32 6 , i32 9 >
364
363
%v1 = shufflevector <12 x i32 > %interleaved.vec , <12 x i32 > poison, <4 x i32 > <i32 1 , i32 4 , i32 poison, i32 10 >
365
364
%v2 = shufflevector <12 x i32 > %interleaved.vec , <12 x i32 > poison, <4 x i32 > <i32 2 , i32 5 , i32 8 , i32 11 >
366
- %res0 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} undef , <4 x i32 > %v0 , 0
367
- %res1 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res0 , <4 x i32 > %v1 , 1
368
- %res2 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res1 , <4 x i32 > %v2 , 2
369
- ret {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res2
365
+ %res0 = insertvalue {<4 x i32 >, <4 x i32 >} undef , <4 x i32 > %v0 , 0
366
+ %res1 = insertvalue {<4 x i32 >, <4 x i32 >} %res0 , <4 x i32 > %v1 , 1
367
+ ret {<4 x i32 >, <4 x i32 >} %res1
370
368
}
371
369
372
370
define {<4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >} @vpload_factor4 (ptr %ptr ) {
@@ -2150,7 +2148,7 @@ define {<4 x i32>, <4 x i32>, <4 x i32>} @maskedload_factor3_mask(ptr %ptr) {
2150
2148
ret {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res2
2151
2149
}
2152
2150
2153
- define {<4 x i32 >, <4 x i32 >, < 4 x i32 > } @maskedload_factor3_skip_field (ptr %ptr ) {
2151
+ define {<4 x i32 >, <4 x i32 >} @maskedload_factor3_skip_field (ptr %ptr ) {
2154
2152
; CHECK-LABEL: maskedload_factor3_skip_field:
2155
2153
; CHECK: # %bb.0:
2156
2154
; CHECK-NEXT: li a1, 12
@@ -2162,13 +2160,12 @@ define {<4 x i32>, <4 x i32>, <4 x i32>} @maskedload_factor3_skip_field(ptr %ptr
2162
2160
%v0 = shufflevector <12 x i32 > %interleaved.vec , <12 x i32 > poison, <4 x i32 > <i32 0 , i32 3 , i32 6 , i32 9 >
2163
2161
%v1 = shufflevector <12 x i32 > %interleaved.vec , <12 x i32 > poison, <4 x i32 > <i32 1 , i32 4 , i32 7 , i32 10 >
2164
2162
%v2 = shufflevector <12 x i32 > %interleaved.vec , <12 x i32 > poison, <4 x i32 > <i32 2 , i32 5 , i32 8 , i32 11 >
2165
- %res0 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} undef , <4 x i32 > %v0 , 0
2166
- %res1 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res0 , <4 x i32 > %v1 , 1
2167
- %res2 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res1 , <4 x i32 > %v2 , 2
2168
- ret {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res2
2163
+ %res0 = insertvalue {<4 x i32 >, <4 x i32 >} undef , <4 x i32 > %v0 , 0
2164
+ %res1 = insertvalue {<4 x i32 >, <4 x i32 >} %res0 , <4 x i32 > %v1 , 1
2165
+ ret {<4 x i32 >, <4 x i32 >} %res1
2169
2166
}
2170
2167
2171
- define {<4 x i32 >, <4 x i32 >, < 4 x i32 > } @maskedload_factor3_mask_skip_field (ptr %ptr ) {
2168
+ define {<4 x i32 >, <4 x i32 >} @maskedload_factor3_mask_skip_field (ptr %ptr ) {
2172
2169
; CHECK-LABEL: maskedload_factor3_mask_skip_field:
2173
2170
; CHECK: # %bb.0:
2174
2171
; CHECK-NEXT: vsetivli zero, 4, e32, m1, ta, ma
@@ -2181,10 +2178,9 @@ define {<4 x i32>, <4 x i32>, <4 x i32>} @maskedload_factor3_mask_skip_field(ptr
2181
2178
%v0 = shufflevector <12 x i32 > %interleaved.vec , <12 x i32 > poison, <4 x i32 > <i32 0 , i32 3 , i32 6 , i32 9 >
2182
2179
%v1 = shufflevector <12 x i32 > %interleaved.vec , <12 x i32 > poison, <4 x i32 > <i32 1 , i32 4 , i32 7 , i32 10 >
2183
2180
%v2 = shufflevector <12 x i32 > %interleaved.vec , <12 x i32 > poison, <4 x i32 > <i32 2 , i32 5 , i32 8 , i32 11 >
2184
- %res0 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} undef , <4 x i32 > %v0 , 0
2185
- %res1 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res0 , <4 x i32 > %v1 , 1
2186
- %res2 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res1 , <4 x i32 > %v2 , 2
2187
- ret {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res2
2181
+ %res0 = insertvalue {<4 x i32 >, <4 x i32 >} undef , <4 x i32 > %v0 , 0
2182
+ %res1 = insertvalue {<4 x i32 >, <4 x i32 >} %res0 , <4 x i32 > %v1 , 1
2183
+ ret {<4 x i32 >, <4 x i32 >} %res1
2188
2184
}
2189
2185
2190
2186
; We can only skip the last field for now.
@@ -2269,7 +2265,7 @@ define {<4 x i32>, <4 x i32>, <4 x i32>} @maskedload_factor3_invalid_skip_field(
2269
2265
ret {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res2
2270
2266
}
2271
2267
2272
- define {<4 x i32 >, <4 x i32 >, <4 x i32 >, < 4 x i32 >, < 4 x i32 > } @maskedload_factor5_skip_fields (ptr %ptr ) {
2268
+ define {<4 x i32 >, <4 x i32 >, <4 x i32 >} @maskedload_factor5_skip_fields (ptr %ptr ) {
2273
2269
; mask = 1111, skip the last two fields.
2274
2270
; CHECK-LABEL: maskedload_factor5_skip_fields:
2275
2271
; CHECK: # %bb.0:
@@ -2283,11 +2279,9 @@ define {<4 x i32>, <4 x i32>, <4 x i32>, <4 x i32>, <4 x i32>} @maskedload_facto
2283
2279
%v2 = shufflevector <20 x i32 > %interleaved.vec , <20 x i32 > poison, <4 x i32 > <i32 2 , i32 7 , i32 12 , i32 17 >
2284
2280
%v3 = shufflevector <20 x i32 > %interleaved.vec , <20 x i32 > poison, <4 x i32 > <i32 3 , i32 8 , i32 13 , i32 18 >
2285
2281
%v4 = shufflevector <20 x i32 > %interleaved.vec , <20 x i32 > poison, <4 x i32 > <i32 4 , i32 9 , i32 14 , i32 19 >
2286
- %res0 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >} undef , <4 x i32 > %v0 , 0
2287
- %res1 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >} %res0 , <4 x i32 > %v1 , 1
2288
- %res2 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >} %res1 , <4 x i32 > %v2 , 2
2289
- %res3 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >} %res2 , <4 x i32 > %v3 , 3
2290
- %res4 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >} %res3 , <4 x i32 > %v4 , 4
2291
- ret {<4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >, <4 x i32 >} %res4
2282
+ %res0 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} undef , <4 x i32 > %v0 , 0
2283
+ %res1 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res0 , <4 x i32 > %v1 , 1
2284
+ %res2 = insertvalue {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res1 , <4 x i32 > %v2 , 2
2285
+ ret {<4 x i32 >, <4 x i32 >, <4 x i32 >} %res2
2292
2286
}
2293
2287
0 commit comments