@@ -200,12 +200,12 @@ define void @test_compresstore_v256i8(ptr %p, <256 x i1> %mask, <256 x i8> %data
200
200
; RV64-NEXT: vsetivli zero, 1, e64, m1, ta, ma
201
201
; RV64-NEXT: vmv1r.v v7, v8
202
202
; RV64-NEXT: li a2, 128
203
- ; RV64-NEXT: vslidedown.vi v9 , v0, 1
203
+ ; RV64-NEXT: vslidedown.vi v8 , v0, 1
204
204
; RV64-NEXT: vmv.x.s a3, v0
205
205
; RV64-NEXT: vsetvli zero, a2, e8, m8, ta, ma
206
206
; RV64-NEXT: vle8.v v24, (a1)
207
207
; RV64-NEXT: vsetvli zero, a2, e64, m1, ta, ma
208
- ; RV64-NEXT: vmv.x.s a1, v9
208
+ ; RV64-NEXT: vmv.x.s a1, v8
209
209
; RV64-NEXT: vsetvli zero, a2, e8, m8, ta, ma
210
210
; RV64-NEXT: vcompress.vm v8, v16, v0
211
211
; RV64-NEXT: vcpop.m a4, v0
@@ -227,14 +227,14 @@ define void @test_compresstore_v256i8(ptr %p, <256 x i1> %mask, <256 x i8> %data
227
227
; RV32-NEXT: vsetivli zero, 1, e64, m1, ta, ma
228
228
; RV32-NEXT: vmv1r.v v7, v8
229
229
; RV32-NEXT: li a2, 128
230
- ; RV32-NEXT: vslidedown.vi v9 , v0, 1
230
+ ; RV32-NEXT: vslidedown.vi v8 , v0, 1
231
231
; RV32-NEXT: li a3, 32
232
232
; RV32-NEXT: vmv.x.s a4, v0
233
233
; RV32-NEXT: vsetvli zero, a2, e8, m8, ta, ma
234
234
; RV32-NEXT: vle8.v v24, (a1)
235
235
; RV32-NEXT: vsetivli zero, 1, e64, m1, ta, ma
236
- ; RV32-NEXT: vsrl.vx v6, v9 , a3
237
- ; RV32-NEXT: vmv.x.s a1, v9
236
+ ; RV32-NEXT: vsrl.vx v6, v8 , a3
237
+ ; RV32-NEXT: vmv.x.s a1, v8
238
238
; RV32-NEXT: vsrl.vx v5, v0, a3
239
239
; RV32-NEXT: vsetvli zero, a2, e8, m8, ta, ma
240
240
; RV32-NEXT: vcompress.vm v8, v16, v0
@@ -438,16 +438,16 @@ define void @test_compresstore_v128i16(ptr %p, <128 x i1> %mask, <128 x i16> %da
438
438
; RV64-NEXT: vcompress.vm v24, v8, v0
439
439
; RV64-NEXT: vcpop.m a2, v0
440
440
; RV64-NEXT: vsetivli zero, 8, e8, m1, ta, ma
441
- ; RV64-NEXT: vslidedown.vi v8 , v0, 8
441
+ ; RV64-NEXT: vslidedown.vi v7 , v0, 8
442
442
; RV64-NEXT: vsetvli zero, a1, e16, m8, ta, ma
443
- ; RV64-NEXT: vcompress.vm v0 , v16, v8
444
- ; RV64-NEXT: vcpop.m a1, v8
443
+ ; RV64-NEXT: vcompress.vm v8 , v16, v7
444
+ ; RV64-NEXT: vcpop.m a1, v7
445
445
; RV64-NEXT: vsetvli zero, a2, e16, m8, ta, ma
446
446
; RV64-NEXT: vse16.v v24, (a0)
447
447
; RV64-NEXT: slli a2, a2, 1
448
448
; RV64-NEXT: add a0, a0, a2
449
449
; RV64-NEXT: vsetvli zero, a1, e16, m8, ta, ma
450
- ; RV64-NEXT: vse16.v v0 , (a0)
450
+ ; RV64-NEXT: vse16.v v8 , (a0)
451
451
; RV64-NEXT: ret
452
452
;
453
453
; RV32-LABEL: test_compresstore_v128i16:
@@ -635,16 +635,16 @@ define void @test_compresstore_v64i32(ptr %p, <64 x i1> %mask, <64 x i32> %data)
635
635
; RV64-NEXT: vsetvli zero, a2, e32, m8, ta, ma
636
636
; RV64-NEXT: vse32.v v24, (a0)
637
637
; RV64-NEXT: vsetivli zero, 4, e8, mf2, ta, ma
638
- ; RV64-NEXT: vslidedown.vi v8 , v0, 4
638
+ ; RV64-NEXT: vslidedown.vi v24 , v0, 4
639
639
; RV64-NEXT: vsetvli zero, a1, e32, m8, ta, ma
640
640
; RV64-NEXT: vmv.x.s a1, v0
641
- ; RV64-NEXT: vcompress.vm v24 , v16, v8
642
- ; RV64-NEXT: vcpop.m a2, v8
641
+ ; RV64-NEXT: vcompress.vm v8 , v16, v24
642
+ ; RV64-NEXT: vcpop.m a2, v24
643
643
; RV64-NEXT: cpopw a1, a1
644
644
; RV64-NEXT: slli a1, a1, 2
645
645
; RV64-NEXT: add a0, a0, a1
646
646
; RV64-NEXT: vsetvli zero, a2, e32, m8, ta, ma
647
- ; RV64-NEXT: vse32.v v24 , (a0)
647
+ ; RV64-NEXT: vse32.v v8 , (a0)
648
648
; RV64-NEXT: ret
649
649
;
650
650
; RV32-LABEL: test_compresstore_v64i32:
@@ -654,16 +654,16 @@ define void @test_compresstore_v64i32(ptr %p, <64 x i1> %mask, <64 x i32> %data)
654
654
; RV32-NEXT: vcompress.vm v24, v8, v0
655
655
; RV32-NEXT: vcpop.m a2, v0
656
656
; RV32-NEXT: vsetivli zero, 4, e8, mf2, ta, ma
657
- ; RV32-NEXT: vslidedown.vi v8 , v0, 4
657
+ ; RV32-NEXT: vslidedown.vi v7 , v0, 4
658
658
; RV32-NEXT: vsetvli zero, a1, e32, m8, ta, ma
659
- ; RV32-NEXT: vcompress.vm v0 , v16, v8
660
- ; RV32-NEXT: vcpop.m a1, v8
659
+ ; RV32-NEXT: vcompress.vm v8 , v16, v7
660
+ ; RV32-NEXT: vcpop.m a1, v7
661
661
; RV32-NEXT: vsetvli zero, a2, e32, m8, ta, ma
662
662
; RV32-NEXT: vse32.v v24, (a0)
663
663
; RV32-NEXT: slli a2, a2, 2
664
664
; RV32-NEXT: add a0, a0, a2
665
665
; RV32-NEXT: vsetvli zero, a1, e32, m8, ta, ma
666
- ; RV32-NEXT: vse32.v v0 , (a0)
666
+ ; RV32-NEXT: vse32.v v8 , (a0)
667
667
; RV32-NEXT: ret
668
668
entry:
669
669
tail call void @llvm.masked.compressstore.v64i32 (<64 x i32 > %data , ptr align 4 %p , <64 x i1 > %mask )
@@ -796,18 +796,18 @@ define void @test_compresstore_v32i64(ptr %p, <32 x i1> %mask, <32 x i64> %data)
796
796
; RV64-NEXT: vsetvli zero, a1, e64, m8, ta, ma
797
797
; RV64-NEXT: vse64.v v24, (a0)
798
798
; RV64-NEXT: vsetivli zero, 2, e8, mf4, ta, ma
799
- ; RV64-NEXT: vslidedown.vi v8 , v0, 2
799
+ ; RV64-NEXT: vslidedown.vi v24 , v0, 2
800
800
; RV64-NEXT: vsetvli zero, zero, e16, mf2, ta, ma
801
801
; RV64-NEXT: vmv.x.s a1, v0
802
802
; RV64-NEXT: vsetivli zero, 16, e64, m8, ta, ma
803
- ; RV64-NEXT: vcompress.vm v24 , v16, v8
803
+ ; RV64-NEXT: vcompress.vm v8 , v16, v24
804
804
; RV64-NEXT: zext.h a1, a1
805
805
; RV64-NEXT: cpopw a1, a1
806
806
; RV64-NEXT: slli a1, a1, 3
807
807
; RV64-NEXT: add a0, a0, a1
808
- ; RV64-NEXT: vcpop.m a1, v8
808
+ ; RV64-NEXT: vcpop.m a1, v24
809
809
; RV64-NEXT: vsetvli zero, a1, e64, m8, ta, ma
810
- ; RV64-NEXT: vse64.v v24 , (a0)
810
+ ; RV64-NEXT: vse64.v v8 , (a0)
811
811
; RV64-NEXT: ret
812
812
;
813
813
; RV32-LABEL: test_compresstore_v32i64:
@@ -818,18 +818,18 @@ define void @test_compresstore_v32i64(ptr %p, <32 x i1> %mask, <32 x i64> %data)
818
818
; RV32-NEXT: vsetvli zero, a1, e64, m8, ta, ma
819
819
; RV32-NEXT: vse64.v v24, (a0)
820
820
; RV32-NEXT: vsetivli zero, 2, e8, mf4, ta, ma
821
- ; RV32-NEXT: vslidedown.vi v8 , v0, 2
821
+ ; RV32-NEXT: vslidedown.vi v24 , v0, 2
822
822
; RV32-NEXT: vsetvli zero, zero, e16, mf2, ta, ma
823
823
; RV32-NEXT: vmv.x.s a1, v0
824
824
; RV32-NEXT: vsetivli zero, 16, e64, m8, ta, ma
825
- ; RV32-NEXT: vcompress.vm v24 , v16, v8
825
+ ; RV32-NEXT: vcompress.vm v8 , v16, v24
826
826
; RV32-NEXT: zext.h a1, a1
827
827
; RV32-NEXT: cpop a1, a1
828
828
; RV32-NEXT: slli a1, a1, 3
829
829
; RV32-NEXT: add a0, a0, a1
830
- ; RV32-NEXT: vcpop.m a1, v8
830
+ ; RV32-NEXT: vcpop.m a1, v24
831
831
; RV32-NEXT: vsetvli zero, a1, e64, m8, ta, ma
832
- ; RV32-NEXT: vse64.v v24 , (a0)
832
+ ; RV32-NEXT: vse64.v v8 , (a0)
833
833
; RV32-NEXT: ret
834
834
entry:
835
835
tail call void @llvm.masked.compressstore.v32i64 (<32 x i64 > %data , ptr align 8 %p , <32 x i1 > %mask )
0 commit comments