7
7
; These tests descend from float-arith.ll, where each function was targeted at
8
8
; a particular RISC-V FPU instruction.
9
9
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 :
12
12
; CHECK: # %bb.0:
13
13
; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
14
14
; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -19,8 +19,8 @@ define bfloat @fadd_s(bfloat %a, bfloat %b) nounwind {
19
19
ret bfloat %1
20
20
}
21
21
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 :
24
24
; CHECK: # %bb.0:
25
25
; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
26
26
; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -31,8 +31,8 @@ define bfloat @fsub_s(bfloat %a, bfloat %b) nounwind {
31
31
ret bfloat %1
32
32
}
33
33
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 :
36
36
; CHECK: # %bb.0:
37
37
; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
38
38
; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -43,8 +43,8 @@ define bfloat @fmul_s(bfloat %a, bfloat %b) nounwind {
43
43
ret bfloat %1
44
44
}
45
45
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 :
48
48
; CHECK: # %bb.0:
49
49
; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
50
50
; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -57,8 +57,8 @@ define bfloat @fdiv_s(bfloat %a, bfloat %b) nounwind {
57
57
58
58
declare bfloat @llvm.sqrt.bf16 (bfloat)
59
59
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 :
62
62
; CHECK: # %bb.0:
63
63
; CHECK-NEXT: fcvt.s.bf16 fa5, fa0
64
64
; CHECK-NEXT: fsqrt.s fa5, fa5
@@ -70,8 +70,8 @@ define bfloat @fsqrt_s(bfloat %a) nounwind {
70
70
71
71
declare bfloat @llvm.copysign.bf16 (bfloat, bfloat)
72
72
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 :
75
75
; RV32IZFBFMIN: # %bb.0:
76
76
; RV32IZFBFMIN-NEXT: addi sp, sp, -16
77
77
; RV32IZFBFMIN-NEXT: fsh fa1, 12(sp)
@@ -91,7 +91,7 @@ define bfloat @fsgnj_s(bfloat %a, bfloat %b) nounwind {
91
91
; RV32IZFBFMIN-NEXT: addi sp, sp, 16
92
92
; RV32IZFBFMIN-NEXT: ret
93
93
;
94
- ; RV64IZFBFMIN-LABEL: fsgnj_s :
94
+ ; RV64IZFBFMIN-LABEL: fsgnj_bf16 :
95
95
; RV64IZFBFMIN: # %bb.0:
96
96
; RV64IZFBFMIN-NEXT: addi sp, sp, -16
97
97
; RV64IZFBFMIN-NEXT: fsh fa1, 8(sp)
@@ -114,8 +114,8 @@ define bfloat @fsgnj_s(bfloat %a, bfloat %b) nounwind {
114
114
ret bfloat %1
115
115
}
116
116
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 :
119
119
; CHECK: # %bb.0:
120
120
; CHECK-NEXT: fcvt.s.bf16 fa5, fa0
121
121
; CHECK-NEXT: fadd.s fa5, fa5, fa5
@@ -135,8 +135,8 @@ define i32 @fneg_s(bfloat %a, bfloat %b) nounwind {
135
135
ret i32 %4
136
136
}
137
137
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 :
140
140
; RV32IZFBFMIN: # %bb.0:
141
141
; RV32IZFBFMIN-NEXT: addi sp, sp, -16
142
142
; RV32IZFBFMIN-NEXT: fcvt.s.bf16 fa5, fa1
@@ -166,7 +166,7 @@ define bfloat @fsgnjn_s(bfloat %a, bfloat %b) nounwind {
166
166
; RV32IZFBFMIN-NEXT: addi sp, sp, 16
167
167
; RV32IZFBFMIN-NEXT: ret
168
168
;
169
- ; RV64IZFBFMIN-LABEL: fsgnjn_s :
169
+ ; RV64IZFBFMIN-LABEL: fsgnjn_bf16 :
170
170
; RV64IZFBFMIN: # %bb.0:
171
171
; RV64IZFBFMIN-NEXT: addi sp, sp, -16
172
172
; RV64IZFBFMIN-NEXT: fcvt.s.bf16 fa5, fa1
@@ -203,8 +203,8 @@ define bfloat @fsgnjn_s(bfloat %a, bfloat %b) nounwind {
203
203
204
204
declare bfloat @llvm.fabs.bf16 (bfloat)
205
205
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 :
208
208
; RV32IZFBFMIN: # %bb.0:
209
209
; RV32IZFBFMIN-NEXT: fcvt.s.bf16 fa5, fa1
210
210
; RV32IZFBFMIN-NEXT: fcvt.s.bf16 fa4, fa0
@@ -220,7 +220,7 @@ define bfloat @fabs_s(bfloat %a, bfloat %b) nounwind {
220
220
; RV32IZFBFMIN-NEXT: fcvt.bf16.s fa0, fa5
221
221
; RV32IZFBFMIN-NEXT: ret
222
222
;
223
- ; RV64IZFBFMIN-LABEL: fabs_s :
223
+ ; RV64IZFBFMIN-LABEL: fabs_bf16 :
224
224
; RV64IZFBFMIN: # %bb.0:
225
225
; RV64IZFBFMIN-NEXT: fcvt.s.bf16 fa5, fa1
226
226
; RV64IZFBFMIN-NEXT: fcvt.s.bf16 fa4, fa0
@@ -243,8 +243,8 @@ define bfloat @fabs_s(bfloat %a, bfloat %b) nounwind {
243
243
244
244
declare bfloat @llvm.minnum.bf16 (bfloat, bfloat)
245
245
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 :
248
248
; CHECK: # %bb.0:
249
249
; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
250
250
; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -257,8 +257,8 @@ define bfloat @fmin_s(bfloat %a, bfloat %b) nounwind {
257
257
258
258
declare bfloat @llvm.maxnum.bf16 (bfloat, bfloat)
259
259
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 :
262
262
; CHECK: # %bb.0:
263
263
; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
264
264
; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -271,8 +271,8 @@ define bfloat @fmax_s(bfloat %a, bfloat %b) nounwind {
271
271
272
272
declare bfloat @llvm.fma.bf16 (bfloat, bfloat, bfloat)
273
273
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 :
276
276
; CHECK: # %bb.0:
277
277
; CHECK-NEXT: fcvt.s.bf16 fa5, fa2
278
278
; CHECK-NEXT: fcvt.s.bf16 fa4, fa1
@@ -284,8 +284,8 @@ define bfloat @fmadd_s(bfloat %a, bfloat %b, bfloat %c) nounwind {
284
284
ret bfloat %1
285
285
}
286
286
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 :
289
289
; CHECK: # %bb.0:
290
290
; CHECK-NEXT: fcvt.s.bf16 fa5, fa2
291
291
; CHECK-NEXT: fmv.w.x fa4, zero
@@ -307,8 +307,8 @@ define bfloat @fmsub_s(bfloat %a, bfloat %b, bfloat %c) nounwind {
307
307
ret bfloat %1
308
308
}
309
309
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 :
312
312
; CHECK: # %bb.0:
313
313
; CHECK-NEXT: fcvt.s.bf16 fa5, fa0
314
314
; CHECK-NEXT: fmv.w.x fa4, zero
@@ -406,8 +406,8 @@ define bfloat @fnmadd_nsz(bfloat %a, bfloat %b, bfloat %c) nounwind {
406
406
ret bfloat %neg
407
407
}
408
408
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 :
411
411
; CHECK: # %bb.0:
412
412
; CHECK-NEXT: fcvt.s.bf16 fa5, fa0
413
413
; CHECK-NEXT: fmv.w.x fa4, zero
@@ -429,8 +429,8 @@ define bfloat @fnmsub_s(bfloat %a, bfloat %b, bfloat %c) nounwind {
429
429
ret bfloat %1
430
430
}
431
431
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 :
434
434
; CHECK: # %bb.0:
435
435
; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
436
436
; CHECK-NEXT: fmv.w.x fa4, zero
@@ -452,8 +452,8 @@ define bfloat @fnmsub_s_2(bfloat %a, bfloat %b, bfloat %c) nounwind {
452
452
ret bfloat %1
453
453
}
454
454
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 :
457
457
; CHECK: # %bb.0:
458
458
; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
459
459
; CHECK-NEXT: fcvt.s.bf16 fa4, fa0
@@ -469,8 +469,8 @@ define bfloat @fmadd_s_contract(bfloat %a, bfloat %b, bfloat %c) nounwind {
469
469
ret bfloat %2
470
470
}
471
471
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 :
474
474
; CHECK: # %bb.0:
475
475
; CHECK-NEXT: fcvt.s.bf16 fa5, fa2
476
476
; CHECK-NEXT: fmv.w.x fa4, zero
@@ -491,8 +491,8 @@ define bfloat @fmsub_s_contract(bfloat %a, bfloat %b, bfloat %c) nounwind {
491
491
ret bfloat %2
492
492
}
493
493
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 :
496
496
; CHECK: # %bb.0:
497
497
; CHECK-NEXT: fcvt.s.bf16 fa5, fa0
498
498
; CHECK-NEXT: fmv.w.x fa4, zero
@@ -526,8 +526,8 @@ define bfloat @fnmadd_s_contract(bfloat %a, bfloat %b, bfloat %c) nounwind {
526
526
ret bfloat %3
527
527
}
528
528
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 :
531
531
; CHECK: # %bb.0:
532
532
; CHECK-NEXT: fcvt.s.bf16 fa5, fa0
533
533
; CHECK-NEXT: fmv.w.x fa4, zero
0 commit comments