@@ -525,29 +525,25 @@ define void @vnsrl_0_i32_single_src_m8(ptr %in, ptr %out) {
525525; V-NEXT: li a2, 64
526526; V-NEXT: vsetvli zero, a2, e32, m8, ta, ma
527527; V-NEXT: vle32.v v8, (a0)
528- ; V-NEXT: lui a0, 341
529- ; V-NEXT: addiw a0, a0, 1365
530- ; V-NEXT: vsetivli zero, 1, e64, m1, ta, ma
531- ; V-NEXT: vmv.s.x v16, a0
528+ ; V-NEXT: vsetivli zero, 16, e32, m2, ta, ma
529+ ; V-NEXT: vnsrl.wi v16, v8, 0
532530; V-NEXT: vsetvli zero, a2, e32, m8, ta, ma
533- ; V-NEXT: vcompress.vm v24, v8, v16
534- ; V-NEXT: vse32.v v24, (a1)
531+ ; V-NEXT: vse32.v v16, (a1)
535532; V-NEXT: ret
536533;
537534; ZVE32F-LABEL: vnsrl_0_i32_single_src_m8:
538535; ZVE32F: # %bb.0: # %entry
539536; ZVE32F-NEXT: li a2, 64
540537; ZVE32F-NEXT: vsetvli zero, a2, e32, m8, ta, ma
541538; ZVE32F-NEXT: vle32.v v8, (a0)
542- ; ZVE32F-NEXT: vsetivli zero, 2, e32, m1, ta, ma
543- ; ZVE32F-NEXT: vmv.v.i v16, 0
544539; ZVE32F-NEXT: lui a0, 341
545540; ZVE32F-NEXT: addi a0, a0, 1365
546- ; ZVE32F-NEXT: vsetvli zero, zero, e32, m1, tu, ma
547- ; ZVE32F-NEXT: vmv.s.x v16, a0
541+ ; ZVE32F-NEXT: vmv.s.x v12, a0
542+ ; ZVE32F-NEXT: li a0, 32
543+ ; ZVE32F-NEXT: vsetvli zero, a0, e32, m4, ta, ma
544+ ; ZVE32F-NEXT: vcompress.vm v16, v8, v12
548545; ZVE32F-NEXT: vsetvli zero, a2, e32, m8, ta, ma
549- ; ZVE32F-NEXT: vcompress.vm v24, v8, v16
550- ; ZVE32F-NEXT: vse32.v v24, (a1)
546+ ; ZVE32F-NEXT: vse32.v v16, (a1)
551547; ZVE32F-NEXT: ret
552548entry:
553549 %0 = load <64 x i32 >, ptr %in , align 4
0 commit comments