@@ -39,8 +39,6 @@ define i16 @fcvt_si_bf16(bfloat %a) nounwind {
39
39
; RV64ID-LABEL: fcvt_si_bf16:
40
40
; RV64ID: # %bb.0:
41
41
; RV64ID-NEXT: fmv.x.w a0, fa0
42
- ; RV64ID-NEXT: slli a0, a0, 48
43
- ; RV64ID-NEXT: srli a0, a0, 48
44
42
; RV64ID-NEXT: slli a0, a0, 16
45
43
; RV64ID-NEXT: fmv.w.x fa5, a0
46
44
; RV64ID-NEXT: fcvt.l.s a0, fa5, rtz
@@ -100,8 +98,6 @@ define i16 @fcvt_si_bf16_sat(bfloat %a) nounwind {
100
98
; RV64ID-LABEL: fcvt_si_bf16_sat:
101
99
; RV64ID: # %bb.0: # %start
102
100
; RV64ID-NEXT: fmv.x.w a0, fa0
103
- ; RV64ID-NEXT: slli a0, a0, 48
104
- ; RV64ID-NEXT: srli a0, a0, 48
105
101
; RV64ID-NEXT: slli a0, a0, 16
106
102
; RV64ID-NEXT: fmv.w.x fa5, a0
107
103
; RV64ID-NEXT: feq.s a0, fa5, fa5
@@ -145,8 +141,6 @@ define i16 @fcvt_ui_bf16(bfloat %a) nounwind {
145
141
; RV64ID-LABEL: fcvt_ui_bf16:
146
142
; RV64ID: # %bb.0:
147
143
; RV64ID-NEXT: fmv.x.w a0, fa0
148
- ; RV64ID-NEXT: slli a0, a0, 48
149
- ; RV64ID-NEXT: srli a0, a0, 48
150
144
; RV64ID-NEXT: slli a0, a0, 16
151
145
; RV64ID-NEXT: fmv.w.x fa5, a0
152
146
; RV64ID-NEXT: fcvt.lu.s a0, fa5, rtz
@@ -196,8 +190,6 @@ define i16 @fcvt_ui_bf16_sat(bfloat %a) nounwind {
196
190
; RV64ID-NEXT: lui a0, %hi(.LCPI3_0)
197
191
; RV64ID-NEXT: flw fa5, %lo(.LCPI3_0)(a0)
198
192
; RV64ID-NEXT: fmv.x.w a0, fa0
199
- ; RV64ID-NEXT: slli a0, a0, 48
200
- ; RV64ID-NEXT: srli a0, a0, 48
201
193
; RV64ID-NEXT: slli a0, a0, 16
202
194
; RV64ID-NEXT: fmv.w.x fa4, a0
203
195
; RV64ID-NEXT: fmv.w.x fa3, zero
@@ -235,8 +227,6 @@ define i32 @fcvt_w_bf16(bfloat %a) nounwind {
235
227
; RV64ID-LABEL: fcvt_w_bf16:
236
228
; RV64ID: # %bb.0:
237
229
; RV64ID-NEXT: fmv.x.w a0, fa0
238
- ; RV64ID-NEXT: slli a0, a0, 48
239
- ; RV64ID-NEXT: srli a0, a0, 48
240
230
; RV64ID-NEXT: slli a0, a0, 16
241
231
; RV64ID-NEXT: fmv.w.x fa5, a0
242
232
; RV64ID-NEXT: fcvt.l.s a0, fa5, rtz
@@ -281,8 +271,6 @@ define i32 @fcvt_w_bf16_sat(bfloat %a) nounwind {
281
271
; RV64ID-LABEL: fcvt_w_bf16_sat:
282
272
; RV64ID: # %bb.0: # %start
283
273
; RV64ID-NEXT: fmv.x.w a0, fa0
284
- ; RV64ID-NEXT: slli a0, a0, 48
285
- ; RV64ID-NEXT: srli a0, a0, 48
286
274
; RV64ID-NEXT: slli a0, a0, 16
287
275
; RV64ID-NEXT: fmv.w.x fa5, a0
288
276
; RV64ID-NEXT: fcvt.w.s a0, fa5, rtz
@@ -321,8 +309,6 @@ define i32 @fcvt_wu_bf16(bfloat %a) nounwind {
321
309
; RV64ID-LABEL: fcvt_wu_bf16:
322
310
; RV64ID: # %bb.0:
323
311
; RV64ID-NEXT: fmv.x.w a0, fa0
324
- ; RV64ID-NEXT: slli a0, a0, 48
325
- ; RV64ID-NEXT: srli a0, a0, 48
326
312
; RV64ID-NEXT: slli a0, a0, 16
327
313
; RV64ID-NEXT: fmv.w.x fa5, a0
328
314
; RV64ID-NEXT: fcvt.lu.s a0, fa5, rtz
@@ -361,8 +347,6 @@ define i32 @fcvt_wu_bf16_multiple_use(bfloat %x, ptr %y) nounwind {
361
347
; RV64ID-LABEL: fcvt_wu_bf16_multiple_use:
362
348
; RV64ID: # %bb.0:
363
349
; RV64ID-NEXT: fmv.x.w a0, fa0
364
- ; RV64ID-NEXT: slli a0, a0, 48
365
- ; RV64ID-NEXT: srli a0, a0, 48
366
350
; RV64ID-NEXT: slli a0, a0, 16
367
351
; RV64ID-NEXT: fmv.w.x fa5, a0
368
352
; RV64ID-NEXT: fcvt.lu.s a0, fa5, rtz
@@ -413,8 +397,6 @@ define i32 @fcvt_wu_bf16_sat(bfloat %a) nounwind {
413
397
; RV64ID-LABEL: fcvt_wu_bf16_sat:
414
398
; RV64ID: # %bb.0: # %start
415
399
; RV64ID-NEXT: fmv.x.w a0, fa0
416
- ; RV64ID-NEXT: slli a0, a0, 48
417
- ; RV64ID-NEXT: srli a0, a0, 48
418
400
; RV64ID-NEXT: slli a0, a0, 16
419
401
; RV64ID-NEXT: fmv.w.x fa5, a0
420
402
; RV64ID-NEXT: fcvt.wu.s a0, fa5, rtz
@@ -463,8 +445,6 @@ define i64 @fcvt_l_bf16(bfloat %a) nounwind {
463
445
; RV64ID-LABEL: fcvt_l_bf16:
464
446
; RV64ID: # %bb.0:
465
447
; RV64ID-NEXT: fmv.x.w a0, fa0
466
- ; RV64ID-NEXT: slli a0, a0, 48
467
- ; RV64ID-NEXT: srli a0, a0, 48
468
448
; RV64ID-NEXT: slli a0, a0, 16
469
449
; RV64ID-NEXT: fmv.w.x fa5, a0
470
450
; RV64ID-NEXT: fcvt.l.s a0, fa5, rtz
@@ -606,8 +586,6 @@ define i64 @fcvt_l_bf16_sat(bfloat %a) nounwind {
606
586
; RV64ID-LABEL: fcvt_l_bf16_sat:
607
587
; RV64ID: # %bb.0: # %start
608
588
; RV64ID-NEXT: fmv.x.w a0, fa0
609
- ; RV64ID-NEXT: slli a0, a0, 48
610
- ; RV64ID-NEXT: srli a0, a0, 48
611
589
; RV64ID-NEXT: slli a0, a0, 16
612
590
; RV64ID-NEXT: fmv.w.x fa5, a0
613
591
; RV64ID-NEXT: fcvt.l.s a0, fa5, rtz
@@ -654,8 +632,6 @@ define i64 @fcvt_lu_bf16(bfloat %a) nounwind {
654
632
; RV64ID-LABEL: fcvt_lu_bf16:
655
633
; RV64ID: # %bb.0:
656
634
; RV64ID-NEXT: fmv.x.w a0, fa0
657
- ; RV64ID-NEXT: slli a0, a0, 48
658
- ; RV64ID-NEXT: srli a0, a0, 48
659
635
; RV64ID-NEXT: slli a0, a0, 16
660
636
; RV64ID-NEXT: fmv.w.x fa5, a0
661
637
; RV64ID-NEXT: fcvt.lu.s a0, fa5, rtz
@@ -730,8 +706,6 @@ define i64 @fcvt_lu_bf16_sat(bfloat %a) nounwind {
730
706
; RV64ID-LABEL: fcvt_lu_bf16_sat:
731
707
; RV64ID: # %bb.0: # %start
732
708
; RV64ID-NEXT: fmv.x.w a0, fa0
733
- ; RV64ID-NEXT: slli a0, a0, 48
734
- ; RV64ID-NEXT: srli a0, a0, 48
735
709
; RV64ID-NEXT: slli a0, a0, 16
736
710
; RV64ID-NEXT: fmv.w.x fa5, a0
737
711
; RV64ID-NEXT: fcvt.lu.s a0, fa5, rtz
@@ -1200,8 +1174,6 @@ define float @fcvt_s_bf16(bfloat %a) nounwind {
1200
1174
; RV64ID-LABEL: fcvt_s_bf16:
1201
1175
; RV64ID: # %bb.0:
1202
1176
; RV64ID-NEXT: fmv.x.w a0, fa0
1203
- ; RV64ID-NEXT: slli a0, a0, 48
1204
- ; RV64ID-NEXT: srli a0, a0, 48
1205
1177
; RV64ID-NEXT: slli a0, a0, 16
1206
1178
; RV64ID-NEXT: fmv.w.x fa0, a0
1207
1179
; RV64ID-NEXT: ret
@@ -1313,8 +1285,6 @@ define double @fcvt_d_bf16(bfloat %a) nounwind {
1313
1285
; RV64ID-LABEL: fcvt_d_bf16:
1314
1286
; RV64ID: # %bb.0:
1315
1287
; RV64ID-NEXT: fmv.x.w a0, fa0
1316
- ; RV64ID-NEXT: slli a0, a0, 48
1317
- ; RV64ID-NEXT: srli a0, a0, 48
1318
1288
; RV64ID-NEXT: slli a0, a0, 16
1319
1289
; RV64ID-NEXT: fmv.w.x fa5, a0
1320
1290
; RV64ID-NEXT: fcvt.d.s fa0, fa5
@@ -1521,8 +1491,6 @@ define signext i8 @fcvt_w_s_i8(bfloat %a) nounwind {
1521
1491
; RV64ID-LABEL: fcvt_w_s_i8:
1522
1492
; RV64ID: # %bb.0:
1523
1493
; RV64ID-NEXT: fmv.x.w a0, fa0
1524
- ; RV64ID-NEXT: slli a0, a0, 48
1525
- ; RV64ID-NEXT: srli a0, a0, 48
1526
1494
; RV64ID-NEXT: slli a0, a0, 16
1527
1495
; RV64ID-NEXT: fmv.w.x fa5, a0
1528
1496
; RV64ID-NEXT: fcvt.l.s a0, fa5, rtz
@@ -1582,8 +1550,6 @@ define signext i8 @fcvt_w_s_sat_i8(bfloat %a) nounwind {
1582
1550
; RV64ID-LABEL: fcvt_w_s_sat_i8:
1583
1551
; RV64ID: # %bb.0: # %start
1584
1552
; RV64ID-NEXT: fmv.x.w a0, fa0
1585
- ; RV64ID-NEXT: slli a0, a0, 48
1586
- ; RV64ID-NEXT: srli a0, a0, 48
1587
1553
; RV64ID-NEXT: slli a0, a0, 16
1588
1554
; RV64ID-NEXT: fmv.w.x fa5, a0
1589
1555
; RV64ID-NEXT: feq.s a0, fa5, fa5
@@ -1627,8 +1593,6 @@ define zeroext i8 @fcvt_wu_s_i8(bfloat %a) nounwind {
1627
1593
; RV64ID-LABEL: fcvt_wu_s_i8:
1628
1594
; RV64ID: # %bb.0:
1629
1595
; RV64ID-NEXT: fmv.x.w a0, fa0
1630
- ; RV64ID-NEXT: slli a0, a0, 48
1631
- ; RV64ID-NEXT: srli a0, a0, 48
1632
1596
; RV64ID-NEXT: slli a0, a0, 16
1633
1597
; RV64ID-NEXT: fmv.w.x fa5, a0
1634
1598
; RV64ID-NEXT: fcvt.lu.s a0, fa5, rtz
@@ -1676,8 +1640,6 @@ define zeroext i8 @fcvt_wu_s_sat_i8(bfloat %a) nounwind {
1676
1640
; RV64ID-LABEL: fcvt_wu_s_sat_i8:
1677
1641
; RV64ID: # %bb.0: # %start
1678
1642
; RV64ID-NEXT: fmv.x.w a0, fa0
1679
- ; RV64ID-NEXT: slli a0, a0, 48
1680
- ; RV64ID-NEXT: srli a0, a0, 48
1681
1643
; RV64ID-NEXT: slli a0, a0, 16
1682
1644
; RV64ID-NEXT: fmv.w.x fa5, a0
1683
1645
; RV64ID-NEXT: fmv.w.x fa4, zero
@@ -1731,8 +1693,6 @@ define zeroext i32 @fcvt_wu_bf16_sat_zext(bfloat %a) nounwind {
1731
1693
; RV64ID-LABEL: fcvt_wu_bf16_sat_zext:
1732
1694
; RV64ID: # %bb.0: # %start
1733
1695
; RV64ID-NEXT: fmv.x.w a0, fa0
1734
- ; RV64ID-NEXT: slli a0, a0, 48
1735
- ; RV64ID-NEXT: srli a0, a0, 48
1736
1696
; RV64ID-NEXT: slli a0, a0, 16
1737
1697
; RV64ID-NEXT: fmv.w.x fa5, a0
1738
1698
; RV64ID-NEXT: fcvt.wu.s a0, fa5, rtz
@@ -1784,8 +1744,6 @@ define signext i32 @fcvt_w_bf16_sat_sext(bfloat %a) nounwind {
1784
1744
; RV64ID-LABEL: fcvt_w_bf16_sat_sext:
1785
1745
; RV64ID: # %bb.0: # %start
1786
1746
; RV64ID-NEXT: fmv.x.w a0, fa0
1787
- ; RV64ID-NEXT: slli a0, a0, 48
1788
- ; RV64ID-NEXT: srli a0, a0, 48
1789
1747
; RV64ID-NEXT: slli a0, a0, 16
1790
1748
; RV64ID-NEXT: fmv.w.x fa5, a0
1791
1749
; RV64ID-NEXT: fcvt.w.s a0, fa5, rtz
0 commit comments