@@ -1444,13 +1444,12 @@ define void @fma_v6bf16(ptr %x, ptr %y, ptr %z) {
1444
1444
; CHECK-NEXT: vle16.v v8, (a2)
1445
1445
; CHECK-NEXT: vle16.v v9, (a0)
1446
1446
; CHECK-NEXT: vle16.v v10, (a1)
1447
- ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
1448
1447
; CHECK-NEXT: vfwcvtbf16.f.f.v v12, v8
1449
1448
; CHECK-NEXT: vfwcvtbf16.f.f.v v14, v9
1450
1449
; CHECK-NEXT: vfwcvtbf16.f.f.v v8, v10
1451
1450
; CHECK-NEXT: vsetvli zero, zero, e32, m2, ta, ma
1452
1451
; CHECK-NEXT: vfmadd.vv v8, v14, v12
1453
- ; CHECK-NEXT: vsetivli zero, 6 , e16, m1, ta, ma
1452
+ ; CHECK-NEXT: vsetvli zero, zero , e16, m1, ta, ma
1454
1453
; CHECK-NEXT: vfncvtbf16.f.f.w v10, v8
1455
1454
; CHECK-NEXT: vse16.v v10, (a0)
1456
1455
; CHECK-NEXT: ret
@@ -1513,13 +1512,12 @@ define void @fma_v6f16(ptr %x, ptr %y, ptr %z) {
1513
1512
; ZVFHMIN-NEXT: vle16.v v8, (a2)
1514
1513
; ZVFHMIN-NEXT: vle16.v v9, (a0)
1515
1514
; ZVFHMIN-NEXT: vle16.v v10, (a1)
1516
- ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
1517
1515
; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v8
1518
1516
; ZVFHMIN-NEXT: vfwcvt.f.f.v v14, v9
1519
1517
; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v10
1520
1518
; ZVFHMIN-NEXT: vsetvli zero, zero, e32, m2, ta, ma
1521
1519
; ZVFHMIN-NEXT: vfmadd.vv v8, v14, v12
1522
- ; ZVFHMIN-NEXT: vsetivli zero, 6 , e16, m1, ta, ma
1520
+ ; ZVFHMIN-NEXT: vsetvli zero, zero , e16, m1, ta, ma
1523
1521
; ZVFHMIN-NEXT: vfncvt.f.f.w v10, v8
1524
1522
; ZVFHMIN-NEXT: vse16.v v10, (a0)
1525
1523
; ZVFHMIN-NEXT: ret
@@ -1602,14 +1600,13 @@ define void @fmsub_v6bf16(ptr %x, ptr %y, ptr %z) {
1602
1600
; CHECK-NEXT: vle16.v v9, (a0)
1603
1601
; CHECK-NEXT: vle16.v v10, (a1)
1604
1602
; CHECK-NEXT: lui a1, 8
1605
- ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
1606
1603
; CHECK-NEXT: vxor.vx v8, v8, a1
1607
1604
; CHECK-NEXT: vfwcvtbf16.f.f.v v12, v9
1608
1605
; CHECK-NEXT: vfwcvtbf16.f.f.v v14, v8
1609
1606
; CHECK-NEXT: vfwcvtbf16.f.f.v v8, v10
1610
1607
; CHECK-NEXT: vsetvli zero, zero, e32, m2, ta, ma
1611
1608
; CHECK-NEXT: vfmadd.vv v8, v12, v14
1612
- ; CHECK-NEXT: vsetivli zero, 6 , e16, m1, ta, ma
1609
+ ; CHECK-NEXT: vsetvli zero, zero , e16, m1, ta, ma
1613
1610
; CHECK-NEXT: vfncvtbf16.f.f.w v10, v8
1614
1611
; CHECK-NEXT: vse16.v v10, (a0)
1615
1612
; CHECK-NEXT: ret
@@ -1677,14 +1674,13 @@ define void @fmsub_v6f16(ptr %x, ptr %y, ptr %z) {
1677
1674
; ZVFHMIN-NEXT: vle16.v v9, (a0)
1678
1675
; ZVFHMIN-NEXT: vle16.v v10, (a1)
1679
1676
; ZVFHMIN-NEXT: lui a1, 8
1680
- ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
1681
1677
; ZVFHMIN-NEXT: vxor.vx v8, v8, a1
1682
1678
; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9
1683
1679
; ZVFHMIN-NEXT: vfwcvt.f.f.v v14, v8
1684
1680
; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v10
1685
1681
; ZVFHMIN-NEXT: vsetvli zero, zero, e32, m2, ta, ma
1686
1682
; ZVFHMIN-NEXT: vfmadd.vv v8, v12, v14
1687
- ; ZVFHMIN-NEXT: vsetivli zero, 6 , e16, m1, ta, ma
1683
+ ; ZVFHMIN-NEXT: vsetvli zero, zero , e16, m1, ta, ma
1688
1684
; ZVFHMIN-NEXT: vfncvt.f.f.w v10, v8
1689
1685
; ZVFHMIN-NEXT: vse16.v v10, (a0)
1690
1686
; ZVFHMIN-NEXT: ret
@@ -3381,14 +3377,13 @@ define void @fma_vf_v6bf16(ptr %x, ptr %y, bfloat %z) {
3381
3377
; CHECK-NEXT: vle16.v v8, (a1)
3382
3378
; CHECK-NEXT: vle16.v v9, (a0)
3383
3379
; CHECK-NEXT: fmv.x.w a1, fa0
3384
- ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
3385
3380
; CHECK-NEXT: vmv.v.x v10, a1
3386
3381
; CHECK-NEXT: vfwcvtbf16.f.f.v v12, v8
3387
3382
; CHECK-NEXT: vfwcvtbf16.f.f.v v14, v9
3388
3383
; CHECK-NEXT: vfwcvtbf16.f.f.v v8, v10
3389
3384
; CHECK-NEXT: vsetvli zero, zero, e32, m2, ta, ma
3390
3385
; CHECK-NEXT: vfmadd.vv v8, v14, v12
3391
- ; CHECK-NEXT: vsetivli zero, 6 , e16, m1, ta, ma
3386
+ ; CHECK-NEXT: vsetvli zero, zero , e16, m1, ta, ma
3392
3387
; CHECK-NEXT: vfncvtbf16.f.f.w v10, v8
3393
3388
; CHECK-NEXT: vse16.v v10, (a0)
3394
3389
; CHECK-NEXT: ret
@@ -3452,14 +3447,13 @@ define void @fma_vf_v6f16(ptr %x, ptr %y, half %z) {
3452
3447
; ZVFHMIN-NEXT: vle16.v v8, (a1)
3453
3448
; ZVFHMIN-NEXT: vle16.v v9, (a0)
3454
3449
; ZVFHMIN-NEXT: fmv.x.w a1, fa0
3455
- ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
3456
3450
; ZVFHMIN-NEXT: vmv.v.x v10, a1
3457
3451
; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v8
3458
3452
; ZVFHMIN-NEXT: vfwcvt.f.f.v v14, v9
3459
3453
; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v10
3460
3454
; ZVFHMIN-NEXT: vsetvli zero, zero, e32, m2, ta, ma
3461
3455
; ZVFHMIN-NEXT: vfmadd.vv v8, v14, v12
3462
- ; ZVFHMIN-NEXT: vsetivli zero, 6 , e16, m1, ta, ma
3456
+ ; ZVFHMIN-NEXT: vsetvli zero, zero , e16, m1, ta, ma
3463
3457
; ZVFHMIN-NEXT: vfncvt.f.f.w v10, v8
3464
3458
; ZVFHMIN-NEXT: vse16.v v10, (a0)
3465
3459
; ZVFHMIN-NEXT: ret
@@ -3541,14 +3535,13 @@ define void @fma_fv_v6bf16(ptr %x, ptr %y, bfloat %z) {
3541
3535
; CHECK-NEXT: vle16.v v8, (a1)
3542
3536
; CHECK-NEXT: vle16.v v9, (a0)
3543
3537
; CHECK-NEXT: fmv.x.w a1, fa0
3544
- ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
3545
3538
; CHECK-NEXT: vmv.v.x v10, a1
3546
3539
; CHECK-NEXT: vfwcvtbf16.f.f.v v12, v8
3547
3540
; CHECK-NEXT: vfwcvtbf16.f.f.v v14, v9
3548
3541
; CHECK-NEXT: vfwcvtbf16.f.f.v v8, v10
3549
3542
; CHECK-NEXT: vsetvli zero, zero, e32, m2, ta, ma
3550
3543
; CHECK-NEXT: vfmadd.vv v8, v14, v12
3551
- ; CHECK-NEXT: vsetivli zero, 6 , e16, m1, ta, ma
3544
+ ; CHECK-NEXT: vsetvli zero, zero , e16, m1, ta, ma
3552
3545
; CHECK-NEXT: vfncvtbf16.f.f.w v10, v8
3553
3546
; CHECK-NEXT: vse16.v v10, (a0)
3554
3547
; CHECK-NEXT: ret
@@ -3612,14 +3605,13 @@ define void @fma_fv_v6f16(ptr %x, ptr %y, half %z) {
3612
3605
; ZVFHMIN-NEXT: vle16.v v8, (a1)
3613
3606
; ZVFHMIN-NEXT: vle16.v v9, (a0)
3614
3607
; ZVFHMIN-NEXT: fmv.x.w a1, fa0
3615
- ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
3616
3608
; ZVFHMIN-NEXT: vmv.v.x v10, a1
3617
3609
; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v8
3618
3610
; ZVFHMIN-NEXT: vfwcvt.f.f.v v14, v9
3619
3611
; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v10
3620
3612
; ZVFHMIN-NEXT: vsetvli zero, zero, e32, m2, ta, ma
3621
3613
; ZVFHMIN-NEXT: vfmadd.vv v8, v14, v12
3622
- ; ZVFHMIN-NEXT: vsetivli zero, 6 , e16, m1, ta, ma
3614
+ ; ZVFHMIN-NEXT: vsetvli zero, zero , e16, m1, ta, ma
3623
3615
; ZVFHMIN-NEXT: vfncvt.f.f.w v10, v8
3624
3616
; ZVFHMIN-NEXT: vse16.v v10, (a0)
3625
3617
; ZVFHMIN-NEXT: ret
@@ -3705,15 +3697,14 @@ define void @fmsub_vf_v6bf16(ptr %x, ptr %y, bfloat %z) {
3705
3697
; CHECK-NEXT: vle16.v v8, (a1)
3706
3698
; CHECK-NEXT: vle16.v v9, (a0)
3707
3699
; CHECK-NEXT: lui a1, 8
3708
- ; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
3709
3700
; CHECK-NEXT: vmv.v.x v10, a2
3710
3701
; CHECK-NEXT: vxor.vx v8, v8, a1
3711
3702
; CHECK-NEXT: vfwcvtbf16.f.f.v v12, v9
3712
3703
; CHECK-NEXT: vfwcvtbf16.f.f.v v14, v8
3713
3704
; CHECK-NEXT: vfwcvtbf16.f.f.v v8, v10
3714
3705
; CHECK-NEXT: vsetvli zero, zero, e32, m2, ta, ma
3715
3706
; CHECK-NEXT: vfmadd.vv v8, v12, v14
3716
- ; CHECK-NEXT: vsetivli zero, 6 , e16, m1, ta, ma
3707
+ ; CHECK-NEXT: vsetvli zero, zero , e16, m1, ta, ma
3717
3708
; CHECK-NEXT: vfncvtbf16.f.f.w v10, v8
3718
3709
; CHECK-NEXT: vse16.v v10, (a0)
3719
3710
; CHECK-NEXT: ret
@@ -3782,15 +3773,14 @@ define void @fmsub_vf_v6f16(ptr %x, ptr %y, half %z) {
3782
3773
; ZVFHMIN-NEXT: vle16.v v8, (a1)
3783
3774
; ZVFHMIN-NEXT: vle16.v v9, (a0)
3784
3775
; ZVFHMIN-NEXT: lui a1, 8
3785
- ; ZVFHMIN-NEXT: vsetivli zero, 8, e16, m1, ta, ma
3786
3776
; ZVFHMIN-NEXT: vmv.v.x v10, a2
3787
3777
; ZVFHMIN-NEXT: vxor.vx v8, v8, a1
3788
3778
; ZVFHMIN-NEXT: vfwcvt.f.f.v v12, v9
3789
3779
; ZVFHMIN-NEXT: vfwcvt.f.f.v v14, v8
3790
3780
; ZVFHMIN-NEXT: vfwcvt.f.f.v v8, v10
3791
3781
; ZVFHMIN-NEXT: vsetvli zero, zero, e32, m2, ta, ma
3792
3782
; ZVFHMIN-NEXT: vfmadd.vv v8, v12, v14
3793
- ; ZVFHMIN-NEXT: vsetivli zero, 6 , e16, m1, ta, ma
3783
+ ; ZVFHMIN-NEXT: vsetvli zero, zero , e16, m1, ta, ma
3794
3784
; ZVFHMIN-NEXT: vfncvt.f.f.w v10, v8
3795
3785
; ZVFHMIN-NEXT: vse16.v v10, (a0)
3796
3786
; ZVFHMIN-NEXT: ret
0 commit comments