@@ -260,34 +260,8 @@ define {<2 x double>, <2 x double>} @vector_deinterleave_load_v2f64_v4f64(ptr %p
260260define { <8 x i8 >, <8 x i8 >, <8 x i8 > } @vector_deinterleave_load_factor3 (ptr %p ) {
261261; CHECK-LABEL: vector_deinterleave_load_factor3:
262262; CHECK: # %bb.0:
263- ; CHECK-NEXT: addi sp, sp, -16
264- ; CHECK-NEXT: .cfi_def_cfa_offset 16
265- ; CHECK-NEXT: csrr a1, vlenb
266- ; CHECK-NEXT: slli a1, a1, 1
267- ; CHECK-NEXT: sub sp, sp, a1
268- ; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x02, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 2 * vlenb
269- ; CHECK-NEXT: vsetivli zero, 24, e8, m2, ta, ma
270- ; CHECK-NEXT: vle8.v v8, (a0)
271- ; CHECK-NEXT: csrr a0, vlenb
272- ; CHECK-NEXT: srli a0, a0, 1
273- ; CHECK-NEXT: add a1, a0, a0
274- ; CHECK-NEXT: vsetivli zero, 8, e8, m1, ta, ma
275- ; CHECK-NEXT: vslidedown.vi v12, v8, 8
276- ; CHECK-NEXT: vsetivli zero, 8, e8, m2, ta, ma
277- ; CHECK-NEXT: vslidedown.vi v10, v8, 16
278- ; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma
279- ; CHECK-NEXT: vslideup.vx v8, v12, a0
280- ; CHECK-NEXT: addi a0, sp, 16
281- ; CHECK-NEXT: vmv1r.v v9, v10
282- ; CHECK-NEXT: vs2r.v v8, (a0)
283- ; CHECK-NEXT: vsetvli a1, zero, e8, mf2, ta, ma
263+ ; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
284264; CHECK-NEXT: vlseg3e8.v v6, (a0)
285- ; CHECK-NEXT: csrr a0, vlenb
286- ; CHECK-NEXT: slli a0, a0, 1
287- ; CHECK-NEXT: add sp, sp, a0
288- ; CHECK-NEXT: .cfi_def_cfa sp, 16
289- ; CHECK-NEXT: addi sp, sp, 16
290- ; CHECK-NEXT: .cfi_def_cfa_offset 0
291265; CHECK-NEXT: ret
292266 %vec = load <24 x i8 >, ptr %p
293267 %d0 = call {<8 x i8 >, <8 x i8 >, <8 x i8 >} @llvm.vector.deinterleave3 (<24 x i8 > %vec )
@@ -327,42 +301,8 @@ define { <8 x i8>, <8 x i8>, <8 x i8>, <8 x i8> } @vector_deinterleave_load_fact
327301define { <8 x i8 >, <8 x i8 >, <8 x i8 >, <8 x i8 >, <8 x i8 > } @vector_deinterleave_load_factor5 (ptr %p ) {
328302; CHECK-LABEL: vector_deinterleave_load_factor5:
329303; CHECK: # %bb.0:
330- ; CHECK-NEXT: addi sp, sp, -16
331- ; CHECK-NEXT: .cfi_def_cfa_offset 16
332- ; CHECK-NEXT: csrr a1, vlenb
333- ; CHECK-NEXT: slli a1, a1, 2
334- ; CHECK-NEXT: sub sp, sp, a1
335- ; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x04, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 4 * vlenb
336- ; CHECK-NEXT: li a1, 40
337- ; CHECK-NEXT: vsetvli zero, a1, e8, m4, ta, ma
338- ; CHECK-NEXT: vle8.v v8, (a0)
339- ; CHECK-NEXT: csrr a0, vlenb
340- ; CHECK-NEXT: srli a0, a0, 1
341- ; CHECK-NEXT: add a1, a0, a0
342- ; CHECK-NEXT: vsetivli zero, 8, e8, m2, ta, ma
343- ; CHECK-NEXT: vslidedown.vi v12, v8, 24
344- ; CHECK-NEXT: vslidedown.vi v14, v8, 16
345- ; CHECK-NEXT: vsetivli zero, 8, e8, m1, ta, ma
346- ; CHECK-NEXT: vslidedown.vi v13, v8, 8
347- ; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma
348- ; CHECK-NEXT: vslideup.vx v14, v12, a0
349- ; CHECK-NEXT: vmv1r.v v12, v8
350- ; CHECK-NEXT: vslideup.vx v12, v13, a0
351- ; CHECK-NEXT: li a0, 32
352- ; CHECK-NEXT: vsetivli zero, 8, e8, m4, ta, ma
353- ; CHECK-NEXT: vslidedown.vx v8, v8, a0
354- ; CHECK-NEXT: vmv1r.v v13, v14
355- ; CHECK-NEXT: addi a0, sp, 16
356- ; CHECK-NEXT: vmv2r.v v14, v8
357- ; CHECK-NEXT: vs4r.v v12, (a0)
358- ; CHECK-NEXT: vsetvli a1, zero, e8, mf2, ta, ma
304+ ; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
359305; CHECK-NEXT: vlseg5e8.v v8, (a0)
360- ; CHECK-NEXT: csrr a0, vlenb
361- ; CHECK-NEXT: slli a0, a0, 2
362- ; CHECK-NEXT: add sp, sp, a0
363- ; CHECK-NEXT: .cfi_def_cfa sp, 16
364- ; CHECK-NEXT: addi sp, sp, 16
365- ; CHECK-NEXT: .cfi_def_cfa_offset 0
366306; CHECK-NEXT: ret
367307 %vec = load <40 x i8 >, ptr %p
368308 %d0 = call {<8 x i8 >, <8 x i8 >, <8 x i8 >, <8 x i8 >, <8 x i8 >} @llvm.vector.deinterleave5 (<40 x i8 > %vec )
@@ -382,49 +322,8 @@ define { <8 x i8>, <8 x i8>, <8 x i8>, <8 x i8>, <8 x i8> } @vector_deinterleave
382322define { <8 x i8 >, <8 x i8 >, <8 x i8 >, <8 x i8 >, <8 x i8 >, <8 x i8 >, <8 x i8 > } @vector_deinterleave_load_factor7 (ptr %p ) {
383323; CHECK-LABEL: vector_deinterleave_load_factor7:
384324; CHECK: # %bb.0:
385- ; CHECK-NEXT: addi sp, sp, -16
386- ; CHECK-NEXT: .cfi_def_cfa_offset 16
387- ; CHECK-NEXT: csrr a1, vlenb
388- ; CHECK-NEXT: slli a1, a1, 2
389- ; CHECK-NEXT: sub sp, sp, a1
390- ; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x04, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 4 * vlenb
391- ; CHECK-NEXT: li a1, 56
392- ; CHECK-NEXT: vsetvli zero, a1, e8, m4, ta, ma
393- ; CHECK-NEXT: vle8.v v8, (a0)
394- ; CHECK-NEXT: csrr a0, vlenb
395- ; CHECK-NEXT: li a1, 40
396- ; CHECK-NEXT: li a2, 32
397- ; CHECK-NEXT: vsetivli zero, 8, e8, m4, ta, ma
398- ; CHECK-NEXT: vslidedown.vx v16, v8, a1
399- ; CHECK-NEXT: li a1, 48
400- ; CHECK-NEXT: srli a0, a0, 1
401- ; CHECK-NEXT: vslidedown.vx v12, v8, a2
402- ; CHECK-NEXT: add a2, a0, a0
403- ; CHECK-NEXT: vsetivli zero, 8, e8, m2, ta, ma
404- ; CHECK-NEXT: vslidedown.vi v14, v8, 24
405- ; CHECK-NEXT: vslidedown.vi v18, v8, 16
406- ; CHECK-NEXT: vsetivli zero, 8, e8, m1, ta, ma
407- ; CHECK-NEXT: vslidedown.vi v13, v8, 8
408- ; CHECK-NEXT: vsetvli zero, a2, e8, m1, ta, ma
409- ; CHECK-NEXT: vslideup.vx v18, v14, a0
410- ; CHECK-NEXT: vsetivli zero, 8, e8, m4, ta, ma
411- ; CHECK-NEXT: vslidedown.vx v20, v8, a1
412- ; CHECK-NEXT: vsetvli zero, a2, e8, m1, ta, ma
413- ; CHECK-NEXT: vslideup.vx v8, v13, a0
414- ; CHECK-NEXT: vslideup.vx v12, v16, a0
415- ; CHECK-NEXT: vmv1r.v v9, v18
416- ; CHECK-NEXT: addi a0, sp, 16
417- ; CHECK-NEXT: vmv1r.v v13, v20
418- ; CHECK-NEXT: vmv2r.v v10, v12
419- ; CHECK-NEXT: vs4r.v v8, (a0)
420- ; CHECK-NEXT: vsetvli a1, zero, e8, mf2, ta, ma
325+ ; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
421326; CHECK-NEXT: vlseg7e8.v v8, (a0)
422- ; CHECK-NEXT: csrr a0, vlenb
423- ; CHECK-NEXT: slli a0, a0, 2
424- ; CHECK-NEXT: add sp, sp, a0
425- ; CHECK-NEXT: .cfi_def_cfa sp, 16
426- ; CHECK-NEXT: addi sp, sp, 16
427- ; CHECK-NEXT: .cfi_def_cfa_offset 0
428327; CHECK-NEXT: ret
429328 %vec = load <56 x i8 >, ptr %p
430329 %d0 = call {<8 x i8 >, <8 x i8 >, <8 x i8 >, <8 x i8 >, <8 x i8 >, <8 x i8 >, <8 x i8 >} @llvm.vector.deinterleave7 (<56 x i8 > %vec )
0 commit comments