77; These tests descend from float-arith.ll, where each function was targeted at
88; a particular RISC-V FPU instruction.
99
10- define bfloat @fadd_s (bfloat %a , bfloat %b ) nounwind {
11- ; CHECK-LABEL: fadd_s :
10+ define bfloat @fadd_bf16 (bfloat %a , bfloat %b ) nounwind {
11+ ; CHECK-LABEL: fadd_bf16 :
1212; CHECK: # %bb.0:
1313; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
1414; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -19,8 +19,8 @@ define bfloat @fadd_s(bfloat %a, bfloat %b) nounwind {
1919 ret bfloat %1
2020}
2121
22- define bfloat @fsub_s (bfloat %a , bfloat %b ) nounwind {
23- ; CHECK-LABEL: fsub_s :
22+ define bfloat @fsub_bf16 (bfloat %a , bfloat %b ) nounwind {
23+ ; CHECK-LABEL: fsub_bf16 :
2424; CHECK: # %bb.0:
2525; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
2626; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -31,8 +31,8 @@ define bfloat @fsub_s(bfloat %a, bfloat %b) nounwind {
3131 ret bfloat %1
3232}
3333
34- define bfloat @fmul_s (bfloat %a , bfloat %b ) nounwind {
35- ; CHECK-LABEL: fmul_s :
34+ define bfloat @fmul_bf16 (bfloat %a , bfloat %b ) nounwind {
35+ ; CHECK-LABEL: fmul_bf16 :
3636; CHECK: # %bb.0:
3737; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
3838; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -43,8 +43,8 @@ define bfloat @fmul_s(bfloat %a, bfloat %b) nounwind {
4343 ret bfloat %1
4444}
4545
46- define bfloat @fdiv_s (bfloat %a , bfloat %b ) nounwind {
47- ; CHECK-LABEL: fdiv_s :
46+ define bfloat @fdiv_bf16 (bfloat %a , bfloat %b ) nounwind {
47+ ; CHECK-LABEL: fdiv_bf16 :
4848; CHECK: # %bb.0:
4949; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
5050; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -57,8 +57,8 @@ define bfloat @fdiv_s(bfloat %a, bfloat %b) nounwind {
5757
5858declare bfloat @llvm.sqrt.bf16 (bfloat)
5959
60- define bfloat @fsqrt_s (bfloat %a ) nounwind {
61- ; CHECK-LABEL: fsqrt_s :
60+ define bfloat @fsqrt_bf16 (bfloat %a ) nounwind {
61+ ; CHECK-LABEL: fsqrt_bf16 :
6262; CHECK: # %bb.0:
6363; CHECK-NEXT: fcvt.s.bf16 fa5, fa0
6464; CHECK-NEXT: fsqrt.s fa5, fa5
@@ -70,8 +70,8 @@ define bfloat @fsqrt_s(bfloat %a) nounwind {
7070
7171declare bfloat @llvm.copysign.bf16 (bfloat, bfloat)
7272
73- define bfloat @fsgnj_s (bfloat %a , bfloat %b ) nounwind {
74- ; RV32IZFBFMIN-LABEL: fsgnj_s :
73+ define bfloat @fsgnj_bf16 (bfloat %a , bfloat %b ) nounwind {
74+ ; RV32IZFBFMIN-LABEL: fsgnj_bf16 :
7575; RV32IZFBFMIN: # %bb.0:
7676; RV32IZFBFMIN-NEXT: addi sp, sp, -16
7777; RV32IZFBFMIN-NEXT: fsh fa1, 12(sp)
@@ -91,7 +91,7 @@ define bfloat @fsgnj_s(bfloat %a, bfloat %b) nounwind {
9191; RV32IZFBFMIN-NEXT: addi sp, sp, 16
9292; RV32IZFBFMIN-NEXT: ret
9393;
94- ; RV64IZFBFMIN-LABEL: fsgnj_s :
94+ ; RV64IZFBFMIN-LABEL: fsgnj_bf16 :
9595; RV64IZFBFMIN: # %bb.0:
9696; RV64IZFBFMIN-NEXT: addi sp, sp, -16
9797; RV64IZFBFMIN-NEXT: fsh fa1, 8(sp)
@@ -114,8 +114,8 @@ define bfloat @fsgnj_s(bfloat %a, bfloat %b) nounwind {
114114 ret bfloat %1
115115}
116116
117- define i32 @fneg_s (bfloat %a , bfloat %b ) nounwind {
118- ; CHECK-LABEL: fneg_s :
117+ define i32 @fneg_bf16 (bfloat %a , bfloat %b ) nounwind {
118+ ; CHECK-LABEL: fneg_bf16 :
119119; CHECK: # %bb.0:
120120; CHECK-NEXT: fcvt.s.bf16 fa5, fa0
121121; CHECK-NEXT: fadd.s fa5, fa5, fa5
@@ -135,8 +135,8 @@ define i32 @fneg_s(bfloat %a, bfloat %b) nounwind {
135135 ret i32 %4
136136}
137137
138- define bfloat @fsgnjn_s (bfloat %a , bfloat %b ) nounwind {
139- ; RV32IZFBFMIN-LABEL: fsgnjn_s :
138+ define bfloat @fsgnjn_bf16 (bfloat %a , bfloat %b ) nounwind {
139+ ; RV32IZFBFMIN-LABEL: fsgnjn_bf16 :
140140; RV32IZFBFMIN: # %bb.0:
141141; RV32IZFBFMIN-NEXT: addi sp, sp, -16
142142; RV32IZFBFMIN-NEXT: fcvt.s.bf16 fa5, fa1
@@ -166,7 +166,7 @@ define bfloat @fsgnjn_s(bfloat %a, bfloat %b) nounwind {
166166; RV32IZFBFMIN-NEXT: addi sp, sp, 16
167167; RV32IZFBFMIN-NEXT: ret
168168;
169- ; RV64IZFBFMIN-LABEL: fsgnjn_s :
169+ ; RV64IZFBFMIN-LABEL: fsgnjn_bf16 :
170170; RV64IZFBFMIN: # %bb.0:
171171; RV64IZFBFMIN-NEXT: addi sp, sp, -16
172172; RV64IZFBFMIN-NEXT: fcvt.s.bf16 fa5, fa1
@@ -203,8 +203,8 @@ define bfloat @fsgnjn_s(bfloat %a, bfloat %b) nounwind {
203203
204204declare bfloat @llvm.fabs.bf16 (bfloat)
205205
206- define bfloat @fabs_s (bfloat %a , bfloat %b ) nounwind {
207- ; RV32IZFBFMIN-LABEL: fabs_s :
206+ define bfloat @fabs_bf16 (bfloat %a , bfloat %b ) nounwind {
207+ ; RV32IZFBFMIN-LABEL: fabs_bf16 :
208208; RV32IZFBFMIN: # %bb.0:
209209; RV32IZFBFMIN-NEXT: fcvt.s.bf16 fa5, fa1
210210; RV32IZFBFMIN-NEXT: fcvt.s.bf16 fa4, fa0
@@ -220,7 +220,7 @@ define bfloat @fabs_s(bfloat %a, bfloat %b) nounwind {
220220; RV32IZFBFMIN-NEXT: fcvt.bf16.s fa0, fa5
221221; RV32IZFBFMIN-NEXT: ret
222222;
223- ; RV64IZFBFMIN-LABEL: fabs_s :
223+ ; RV64IZFBFMIN-LABEL: fabs_bf16 :
224224; RV64IZFBFMIN: # %bb.0:
225225; RV64IZFBFMIN-NEXT: fcvt.s.bf16 fa5, fa1
226226; RV64IZFBFMIN-NEXT: fcvt.s.bf16 fa4, fa0
@@ -243,8 +243,8 @@ define bfloat @fabs_s(bfloat %a, bfloat %b) nounwind {
243243
244244declare bfloat @llvm.minnum.bf16 (bfloat, bfloat)
245245
246- define bfloat @fmin_s (bfloat %a , bfloat %b ) nounwind {
247- ; CHECK-LABEL: fmin_s :
246+ define bfloat @fmin_bf16 (bfloat %a , bfloat %b ) nounwind {
247+ ; CHECK-LABEL: fmin_bf16 :
248248; CHECK: # %bb.0:
249249; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
250250; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -257,8 +257,8 @@ define bfloat @fmin_s(bfloat %a, bfloat %b) nounwind {
257257
258258declare bfloat @llvm.maxnum.bf16 (bfloat, bfloat)
259259
260- define bfloat @fmax_s (bfloat %a , bfloat %b ) nounwind {
261- ; CHECK-LABEL: fmax_s :
260+ define bfloat @fmax_bf16 (bfloat %a , bfloat %b ) nounwind {
261+ ; CHECK-LABEL: fmax_bf16 :
262262; CHECK: # %bb.0:
263263; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
264264; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -271,8 +271,8 @@ define bfloat @fmax_s(bfloat %a, bfloat %b) nounwind {
271271
272272declare bfloat @llvm.fma.bf16 (bfloat, bfloat, bfloat)
273273
274- define bfloat @fmadd_s (bfloat %a , bfloat %b , bfloat %c ) nounwind {
275- ; CHECK-LABEL: fmadd_s :
274+ define bfloat @fmadd_bf16 (bfloat %a , bfloat %b , bfloat %c ) nounwind {
275+ ; CHECK-LABEL: fmadd_bf16 :
276276; CHECK: # %bb.0:
277277; CHECK-NEXT: fcvt.s.bf16 fa5, fa2
278278; CHECK-NEXT: fcvt.s.bf16 fa4, fa1
@@ -284,8 +284,8 @@ define bfloat @fmadd_s(bfloat %a, bfloat %b, bfloat %c) nounwind {
284284 ret bfloat %1
285285}
286286
287- define bfloat @fmsub_s (bfloat %a , bfloat %b , bfloat %c ) nounwind {
288- ; CHECK-LABEL: fmsub_s :
287+ define bfloat @fmsub_bf16 (bfloat %a , bfloat %b , bfloat %c ) nounwind {
288+ ; CHECK-LABEL: fmsub_bf16 :
289289; CHECK: # %bb.0:
290290; CHECK-NEXT: fcvt.s.bf16 fa5, fa2
291291; CHECK-NEXT: fmv.w.x fa4, zero
@@ -307,8 +307,8 @@ define bfloat @fmsub_s(bfloat %a, bfloat %b, bfloat %c) nounwind {
307307 ret bfloat %1
308308}
309309
310- define bfloat @fnmadd_s (bfloat %a , bfloat %b , bfloat %c ) nounwind {
311- ; CHECK-LABEL: fnmadd_s :
310+ define bfloat @fnmadd_bf16 (bfloat %a , bfloat %b , bfloat %c ) nounwind {
311+ ; CHECK-LABEL: fnmadd_bf16 :
312312; CHECK: # %bb.0:
313313; CHECK-NEXT: fcvt.s.bf16 fa5, fa0
314314; CHECK-NEXT: fmv.w.x fa4, zero
@@ -406,8 +406,8 @@ define bfloat @fnmadd_nsz(bfloat %a, bfloat %b, bfloat %c) nounwind {
406406 ret bfloat %neg
407407}
408408
409- define bfloat @fnmsub_s (bfloat %a , bfloat %b , bfloat %c ) nounwind {
410- ; CHECK-LABEL: fnmsub_s :
409+ define bfloat @fnmsub_bf16 (bfloat %a , bfloat %b , bfloat %c ) nounwind {
410+ ; CHECK-LABEL: fnmsub_bf16 :
411411; CHECK: # %bb.0:
412412; CHECK-NEXT: fcvt.s.bf16 fa5, fa0
413413; CHECK-NEXT: fmv.w.x fa4, zero
@@ -429,8 +429,8 @@ define bfloat @fnmsub_s(bfloat %a, bfloat %b, bfloat %c) nounwind {
429429 ret bfloat %1
430430}
431431
432- define bfloat @fnmsub_s_2 (bfloat %a , bfloat %b , bfloat %c ) nounwind {
433- ; CHECK-LABEL: fnmsub_s_2 :
432+ define bfloat @fnmsub_bf16_2 (bfloat %a , bfloat %b , bfloat %c ) nounwind {
433+ ; CHECK-LABEL: fnmsub_bf16_2 :
434434; CHECK: # %bb.0:
435435; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
436436; CHECK-NEXT: fmv.w.x fa4, zero
@@ -452,8 +452,8 @@ define bfloat @fnmsub_s_2(bfloat %a, bfloat %b, bfloat %c) nounwind {
452452 ret bfloat %1
453453}
454454
455- define bfloat @fmadd_s_contract (bfloat %a , bfloat %b , bfloat %c ) nounwind {
456- ; CHECK-LABEL: fmadd_s_contract :
455+ define bfloat @fmadd_bf16_contract (bfloat %a , bfloat %b , bfloat %c ) nounwind {
456+ ; CHECK-LABEL: fmadd_bf16_contract :
457457; CHECK: # %bb.0:
458458; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
459459; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -469,8 +469,8 @@ define bfloat @fmadd_s_contract(bfloat %a, bfloat %b, bfloat %c) nounwind {
469469 ret bfloat %2
470470}
471471
472- define bfloat @fmsub_s_contract (bfloat %a , bfloat %b , bfloat %c ) nounwind {
473- ; CHECK-LABEL: fmsub_s_contract :
472+ define bfloat @fmsub_bf16_contract (bfloat %a , bfloat %b , bfloat %c ) nounwind {
473+ ; CHECK-LABEL: fmsub_bf16_contract :
474474; CHECK: # %bb.0:
475475; CHECK-NEXT: fcvt.s.bf16 fa5, fa2
476476; CHECK-NEXT: fmv.w.x fa4, zero
@@ -491,8 +491,8 @@ define bfloat @fmsub_s_contract(bfloat %a, bfloat %b, bfloat %c) nounwind {
491491 ret bfloat %2
492492}
493493
494- define bfloat @fnmadd_s_contract (bfloat %a , bfloat %b , bfloat %c ) nounwind {
495- ; CHECK-LABEL: fnmadd_s_contract :
494+ define bfloat @fnmadd_bf16_contract (bfloat %a , bfloat %b , bfloat %c ) nounwind {
495+ ; CHECK-LABEL: fnmadd_bf16_contract :
496496; CHECK: # %bb.0:
497497; CHECK-NEXT: fcvt.s.bf16 fa5, fa0
498498; CHECK-NEXT: fmv.w.x fa4, zero
@@ -526,8 +526,8 @@ define bfloat @fnmadd_s_contract(bfloat %a, bfloat %b, bfloat %c) nounwind {
526526 ret bfloat %3
527527}
528528
529- define bfloat @fnmsub_s_contract (bfloat %a , bfloat %b , bfloat %c ) nounwind {
530- ; CHECK-LABEL: fnmsub_s_contract :
529+ define bfloat @fnmsub_bf16_contract (bfloat %a , bfloat %b , bfloat %c ) nounwind {
530+ ; CHECK-LABEL: fnmsub_bf16_contract :
531531; CHECK: # %bb.0:
532532; CHECK-NEXT: fcvt.s.bf16 fa5, fa0
533533; CHECK-NEXT: fmv.w.x fa4, zero
0 commit comments