1
1
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2
- ; RUN: llc -mtriple=riscv32 -mattr=+f -target-abi=ilp32f -code-model=small -verify-machineinstrs < %s \
3
- ; RUN: | FileCheck %s -check-prefix=RV32I-SMALL
4
- ; RUN: llc -mtriple=riscv32 -mattr=+f -target-abi=ilp32f -code-model=medium -verify-machineinstrs < %s \
5
- ; RUN: | FileCheck %s -check-prefix=RV32I-MEDIUM
6
- ; RUN: llc -mtriple=riscv64 -mattr=+f -target-abi=lp64f -code-model=small -verify-machineinstrs < %s \
7
- ; RUN: | FileCheck %s -check-prefix=RV64I-SMALL
8
- ; RUN: llc -mtriple=riscv64 -mattr=+f -target-abi=lp64f -code-model=medium -verify-machineinstrs < %s \
9
- ; RUN: | FileCheck %s -check-prefix=RV64I-MEDIUM
10
- ; RUN: llc -mtriple=riscv64 -mattr=+f -target-abi=lp64f -code-model=large -verify-machineinstrs < %s \
11
- ; RUN: | FileCheck %s -check-prefix=RV64I-LARGE
2
+ ; RUN: llc -mtriple=riscv32 -mattr=+f,+zfh -target-abi=ilp32f -code-model=small -verify-machineinstrs < %s \
3
+ ; RUN: | FileCheck %s -check-prefixes=RV32I-SMALL,RV32F-SMALL
4
+ ; RUN: llc -mtriple=riscv32 -mattr=+f,+zfh -target-abi=ilp32f -code-model=medium -verify-machineinstrs < %s \
5
+ ; RUN: | FileCheck %s -check-prefixes=RV32I-MEDIUM,RV32F-MEDIUM
6
+ ; RUN: llc -mtriple=riscv64 -mattr=+f,+zfh -target-abi=lp64f -code-model=small -verify-machineinstrs < %s \
7
+ ; RUN: | FileCheck %s -check-prefixes=RV64I-SMALL,RV64F-SMALL
8
+ ; RUN: llc -mtriple=riscv64 -mattr=+f,+zfh -target-abi=lp64f -code-model=medium -verify-machineinstrs < %s \
9
+ ; RUN: | FileCheck %s -check-prefixes=RV64I-MEDIUM,RV64F-MEDIUM
10
+ ; RUN: llc -mtriple=riscv64 -mattr=+f,+zfh -target-abi=lp64f -code-model=large -verify-machineinstrs < %s \
11
+ ; RUN: | FileCheck %s -check-prefixes=RV64I-LARGE,RV64F-LARGE
12
+ ; RUN: llc -mtriple=riscv32 -mattr=+zfinx,+zhinx -target-abi=ilp32 -code-model=small -verify-machineinstrs < %s \
13
+ ; RUN: | FileCheck %s -check-prefixes=RV32I-SMALL,RV32FINX-SMALL
14
+ ; RUN: llc -mtriple=riscv32 -mattr=+zfinx,+zhinx -target-abi=ilp32 -code-model=medium -verify-machineinstrs < %s \
15
+ ; RUN: | FileCheck %s -check-prefixes=RV32I-MEDIUM,RV32FINX-MEDIUM
16
+ ; RUN: llc -mtriple=riscv64 -mattr=+zfinx,+zhinx -target-abi=lp64 -code-model=small -verify-machineinstrs < %s \
17
+ ; RUN: | FileCheck %s -check-prefixes=RV64I-SMALL,RV64FINX-SMALL
18
+ ; RUN: llc -mtriple=riscv64 -mattr=+zfinx,+zhinx -target-abi=lp64 -code-model=medium -verify-machineinstrs < %s \
19
+ ; RUN: | FileCheck %s -check-prefixes=RV64I-MEDIUM,RV64FINX-MEDIUM
20
+ ; RUN: llc -mtriple=riscv64 -mattr=+zfinx,+zhinx -target-abi=lp64 -code-model=large -verify-machineinstrs < %s \
21
+ ; RUN: | FileCheck %s -check-prefixes=RV64I-LARGE,RV64FINX-LARGE
12
22
13
23
; Check lowering of globals
14
24
@G = global i32 0
@@ -238,43 +248,78 @@ indirectgoto:
238
248
; Check lowering of constantpools
239
249
240
250
define float @lower_constantpool (float %a ) nounwind {
241
- ; RV32I -SMALL-LABEL: lower_constantpool:
242
- ; RV32I -SMALL: # %bb.0:
243
- ; RV32I -SMALL-NEXT: lui a0, %hi(.LCPI3_0)
244
- ; RV32I -SMALL-NEXT: flw fa5, %lo(.LCPI3_0)(a0)
245
- ; RV32I -SMALL-NEXT: fadd.s fa0, fa0, fa5
246
- ; RV32I -SMALL-NEXT: ret
251
+ ; RV32F -SMALL-LABEL: lower_constantpool:
252
+ ; RV32F -SMALL: # %bb.0:
253
+ ; RV32F -SMALL-NEXT: lui a0, %hi(.LCPI3_0)
254
+ ; RV32F -SMALL-NEXT: flw fa5, %lo(.LCPI3_0)(a0)
255
+ ; RV32F -SMALL-NEXT: fadd.s fa0, fa0, fa5
256
+ ; RV32F -SMALL-NEXT: ret
247
257
;
248
- ; RV32I -MEDIUM-LABEL: lower_constantpool:
249
- ; RV32I -MEDIUM: # %bb.0:
250
- ; RV32I -MEDIUM-NEXT: .Lpcrel_hi3:
251
- ; RV32I -MEDIUM-NEXT: auipc a0, %pcrel_hi(.LCPI3_0)
252
- ; RV32I -MEDIUM-NEXT: flw fa5, %pcrel_lo(.Lpcrel_hi3)(a0)
253
- ; RV32I -MEDIUM-NEXT: fadd.s fa0, fa0, fa5
254
- ; RV32I -MEDIUM-NEXT: ret
258
+ ; RV32F -MEDIUM-LABEL: lower_constantpool:
259
+ ; RV32F -MEDIUM: # %bb.0:
260
+ ; RV32F -MEDIUM-NEXT: .Lpcrel_hi3:
261
+ ; RV32F -MEDIUM-NEXT: auipc a0, %pcrel_hi(.LCPI3_0)
262
+ ; RV32F -MEDIUM-NEXT: flw fa5, %pcrel_lo(.Lpcrel_hi3)(a0)
263
+ ; RV32F -MEDIUM-NEXT: fadd.s fa0, fa0, fa5
264
+ ; RV32F -MEDIUM-NEXT: ret
255
265
;
256
- ; RV64I -SMALL-LABEL: lower_constantpool:
257
- ; RV64I -SMALL: # %bb.0:
258
- ; RV64I -SMALL-NEXT: lui a0, %hi(.LCPI3_0)
259
- ; RV64I -SMALL-NEXT: flw fa5, %lo(.LCPI3_0)(a0)
260
- ; RV64I -SMALL-NEXT: fadd.s fa0, fa0, fa5
261
- ; RV64I -SMALL-NEXT: ret
266
+ ; RV64F -SMALL-LABEL: lower_constantpool:
267
+ ; RV64F -SMALL: # %bb.0:
268
+ ; RV64F -SMALL-NEXT: lui a0, %hi(.LCPI3_0)
269
+ ; RV64F -SMALL-NEXT: flw fa5, %lo(.LCPI3_0)(a0)
270
+ ; RV64F -SMALL-NEXT: fadd.s fa0, fa0, fa5
271
+ ; RV64F -SMALL-NEXT: ret
262
272
;
263
- ; RV64I -MEDIUM-LABEL: lower_constantpool:
264
- ; RV64I -MEDIUM: # %bb.0:
265
- ; RV64I -MEDIUM-NEXT: .Lpcrel_hi3:
266
- ; RV64I -MEDIUM-NEXT: auipc a0, %pcrel_hi(.LCPI3_0)
267
- ; RV64I -MEDIUM-NEXT: flw fa5, %pcrel_lo(.Lpcrel_hi3)(a0)
268
- ; RV64I -MEDIUM-NEXT: fadd.s fa0, fa0, fa5
269
- ; RV64I -MEDIUM-NEXT: ret
273
+ ; RV64F -MEDIUM-LABEL: lower_constantpool:
274
+ ; RV64F -MEDIUM: # %bb.0:
275
+ ; RV64F -MEDIUM-NEXT: .Lpcrel_hi3:
276
+ ; RV64F -MEDIUM-NEXT: auipc a0, %pcrel_hi(.LCPI3_0)
277
+ ; RV64F -MEDIUM-NEXT: flw fa5, %pcrel_lo(.Lpcrel_hi3)(a0)
278
+ ; RV64F -MEDIUM-NEXT: fadd.s fa0, fa0, fa5
279
+ ; RV64F -MEDIUM-NEXT: ret
270
280
;
271
- ; RV64I-LARGE-LABEL: lower_constantpool:
272
- ; RV64I-LARGE: # %bb.0:
273
- ; RV64I-LARGE-NEXT: .Lpcrel_hi3:
274
- ; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI3_0)
275
- ; RV64I-LARGE-NEXT: flw fa5, %pcrel_lo(.Lpcrel_hi3)(a0)
276
- ; RV64I-LARGE-NEXT: fadd.s fa0, fa0, fa5
277
- ; RV64I-LARGE-NEXT: ret
281
+ ; RV64F-LARGE-LABEL: lower_constantpool:
282
+ ; RV64F-LARGE: # %bb.0:
283
+ ; RV64F-LARGE-NEXT: .Lpcrel_hi3:
284
+ ; RV64F-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI3_0)
285
+ ; RV64F-LARGE-NEXT: flw fa5, %pcrel_lo(.Lpcrel_hi3)(a0)
286
+ ; RV64F-LARGE-NEXT: fadd.s fa0, fa0, fa5
287
+ ; RV64F-LARGE-NEXT: ret
288
+ ;
289
+ ; RV32FINX-SMALL-LABEL: lower_constantpool:
290
+ ; RV32FINX-SMALL: # %bb.0:
291
+ ; RV32FINX-SMALL-NEXT: lui a1, 260097
292
+ ; RV32FINX-SMALL-NEXT: addi a1, a1, -2048
293
+ ; RV32FINX-SMALL-NEXT: fadd.s a0, a0, a1
294
+ ; RV32FINX-SMALL-NEXT: ret
295
+ ;
296
+ ; RV32FINX-MEDIUM-LABEL: lower_constantpool:
297
+ ; RV32FINX-MEDIUM: # %bb.0:
298
+ ; RV32FINX-MEDIUM-NEXT: lui a1, 260097
299
+ ; RV32FINX-MEDIUM-NEXT: addi a1, a1, -2048
300
+ ; RV32FINX-MEDIUM-NEXT: fadd.s a0, a0, a1
301
+ ; RV32FINX-MEDIUM-NEXT: ret
302
+ ;
303
+ ; RV64FINX-SMALL-LABEL: lower_constantpool:
304
+ ; RV64FINX-SMALL: # %bb.0:
305
+ ; RV64FINX-SMALL-NEXT: lui a1, 260097
306
+ ; RV64FINX-SMALL-NEXT: addiw a1, a1, -2048
307
+ ; RV64FINX-SMALL-NEXT: fadd.s a0, a0, a1
308
+ ; RV64FINX-SMALL-NEXT: ret
309
+ ;
310
+ ; RV64FINX-MEDIUM-LABEL: lower_constantpool:
311
+ ; RV64FINX-MEDIUM: # %bb.0:
312
+ ; RV64FINX-MEDIUM-NEXT: lui a1, 260097
313
+ ; RV64FINX-MEDIUM-NEXT: addiw a1, a1, -2048
314
+ ; RV64FINX-MEDIUM-NEXT: fadd.s a0, a0, a1
315
+ ; RV64FINX-MEDIUM-NEXT: ret
316
+ ;
317
+ ; RV64FINX-LARGE-LABEL: lower_constantpool:
318
+ ; RV64FINX-LARGE: # %bb.0:
319
+ ; RV64FINX-LARGE-NEXT: lui a1, 260097
320
+ ; RV64FINX-LARGE-NEXT: addiw a1, a1, -2048
321
+ ; RV64FINX-LARGE-NEXT: fadd.s a0, a0, a1
322
+ ; RV64FINX-LARGE-NEXT: ret
278
323
%1 = fadd float %a , 1 .000244140625
279
324
ret float %1
280
325
}
@@ -289,35 +334,144 @@ define i32 @lower_extern_weak(i32 %a) nounwind {
289
334
; RV32I-SMALL-NEXT: lw a0, %lo(W)(a0)
290
335
; RV32I-SMALL-NEXT: ret
291
336
;
292
- ; RV32I -MEDIUM-LABEL: lower_extern_weak:
293
- ; RV32I -MEDIUM: # %bb.0:
294
- ; RV32I -MEDIUM-NEXT: .Lpcrel_hi4:
295
- ; RV32I -MEDIUM-NEXT: auipc a0, %got_pcrel_hi(W)
296
- ; RV32I -MEDIUM-NEXT: lw a0, %pcrel_lo(.Lpcrel_hi4)(a0)
297
- ; RV32I -MEDIUM-NEXT: lw a0, 0(a0)
298
- ; RV32I -MEDIUM-NEXT: ret
337
+ ; RV32F -MEDIUM-LABEL: lower_extern_weak:
338
+ ; RV32F -MEDIUM: # %bb.0:
339
+ ; RV32F -MEDIUM-NEXT: .Lpcrel_hi4:
340
+ ; RV32F -MEDIUM-NEXT: auipc a0, %got_pcrel_hi(W)
341
+ ; RV32F -MEDIUM-NEXT: lw a0, %pcrel_lo(.Lpcrel_hi4)(a0)
342
+ ; RV32F -MEDIUM-NEXT: lw a0, 0(a0)
343
+ ; RV32F -MEDIUM-NEXT: ret
299
344
;
300
345
; RV64I-SMALL-LABEL: lower_extern_weak:
301
346
; RV64I-SMALL: # %bb.0:
302
347
; RV64I-SMALL-NEXT: lui a0, %hi(W)
303
348
; RV64I-SMALL-NEXT: lw a0, %lo(W)(a0)
304
349
; RV64I-SMALL-NEXT: ret
305
350
;
306
- ; RV64I -MEDIUM-LABEL: lower_extern_weak:
307
- ; RV64I -MEDIUM: # %bb.0:
308
- ; RV64I -MEDIUM-NEXT: .Lpcrel_hi4:
309
- ; RV64I -MEDIUM-NEXT: auipc a0, %got_pcrel_hi(W)
310
- ; RV64I -MEDIUM-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi4)(a0)
311
- ; RV64I -MEDIUM-NEXT: lw a0, 0(a0)
312
- ; RV64I -MEDIUM-NEXT: ret
351
+ ; RV64F -MEDIUM-LABEL: lower_extern_weak:
352
+ ; RV64F -MEDIUM: # %bb.0:
353
+ ; RV64F -MEDIUM-NEXT: .Lpcrel_hi4:
354
+ ; RV64F -MEDIUM-NEXT: auipc a0, %got_pcrel_hi(W)
355
+ ; RV64F -MEDIUM-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi4)(a0)
356
+ ; RV64F -MEDIUM-NEXT: lw a0, 0(a0)
357
+ ; RV64F -MEDIUM-NEXT: ret
313
358
;
314
- ; RV64I-LARGE-LABEL: lower_extern_weak:
315
- ; RV64I-LARGE: # %bb.0:
316
- ; RV64I-LARGE-NEXT: .Lpcrel_hi4:
317
- ; RV64I-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI4_0)
318
- ; RV64I-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi4)(a0)
319
- ; RV64I-LARGE-NEXT: lw a0, 0(a0)
320
- ; RV64I-LARGE-NEXT: ret
359
+ ; RV64F-LARGE-LABEL: lower_extern_weak:
360
+ ; RV64F-LARGE: # %bb.0:
361
+ ; RV64F-LARGE-NEXT: .Lpcrel_hi4:
362
+ ; RV64F-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI4_0)
363
+ ; RV64F-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi4)(a0)
364
+ ; RV64F-LARGE-NEXT: lw a0, 0(a0)
365
+ ; RV64F-LARGE-NEXT: ret
366
+ ;
367
+ ; RV32FINX-MEDIUM-LABEL: lower_extern_weak:
368
+ ; RV32FINX-MEDIUM: # %bb.0:
369
+ ; RV32FINX-MEDIUM-NEXT: .Lpcrel_hi3:
370
+ ; RV32FINX-MEDIUM-NEXT: auipc a0, %got_pcrel_hi(W)
371
+ ; RV32FINX-MEDIUM-NEXT: lw a0, %pcrel_lo(.Lpcrel_hi3)(a0)
372
+ ; RV32FINX-MEDIUM-NEXT: lw a0, 0(a0)
373
+ ; RV32FINX-MEDIUM-NEXT: ret
374
+ ;
375
+ ; RV64FINX-MEDIUM-LABEL: lower_extern_weak:
376
+ ; RV64FINX-MEDIUM: # %bb.0:
377
+ ; RV64FINX-MEDIUM-NEXT: .Lpcrel_hi3:
378
+ ; RV64FINX-MEDIUM-NEXT: auipc a0, %got_pcrel_hi(W)
379
+ ; RV64FINX-MEDIUM-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi3)(a0)
380
+ ; RV64FINX-MEDIUM-NEXT: lw a0, 0(a0)
381
+ ; RV64FINX-MEDIUM-NEXT: ret
382
+ ;
383
+ ; RV64FINX-LARGE-LABEL: lower_extern_weak:
384
+ ; RV64FINX-LARGE: # %bb.0:
385
+ ; RV64FINX-LARGE-NEXT: .Lpcrel_hi3:
386
+ ; RV64FINX-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI4_0)
387
+ ; RV64FINX-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi3)(a0)
388
+ ; RV64FINX-LARGE-NEXT: lw a0, 0(a0)
389
+ ; RV64FINX-LARGE-NEXT: ret
321
390
%1 = load volatile i32 , ptr @W
322
391
ret i32 %1
323
392
}
393
+
394
+ @X = global half 1 .5
395
+
396
+ define half @lower_global_half (half %a ) nounwind {
397
+ ; RV32F-SMALL-LABEL: lower_global_half:
398
+ ; RV32F-SMALL: # %bb.0:
399
+ ; RV32F-SMALL-NEXT: lui a0, %hi(X)
400
+ ; RV32F-SMALL-NEXT: flh fa5, %lo(X)(a0)
401
+ ; RV32F-SMALL-NEXT: fadd.h fa0, fa0, fa5
402
+ ; RV32F-SMALL-NEXT: ret
403
+ ;
404
+ ; RV32F-MEDIUM-LABEL: lower_global_half:
405
+ ; RV32F-MEDIUM: # %bb.0:
406
+ ; RV32F-MEDIUM-NEXT: .Lpcrel_hi5:
407
+ ; RV32F-MEDIUM-NEXT: auipc a0, %pcrel_hi(X)
408
+ ; RV32F-MEDIUM-NEXT: flh fa5, %pcrel_lo(.Lpcrel_hi5)(a0)
409
+ ; RV32F-MEDIUM-NEXT: fadd.h fa0, fa0, fa5
410
+ ; RV32F-MEDIUM-NEXT: ret
411
+ ;
412
+ ; RV64F-SMALL-LABEL: lower_global_half:
413
+ ; RV64F-SMALL: # %bb.0:
414
+ ; RV64F-SMALL-NEXT: lui a0, %hi(X)
415
+ ; RV64F-SMALL-NEXT: flh fa5, %lo(X)(a0)
416
+ ; RV64F-SMALL-NEXT: fadd.h fa0, fa0, fa5
417
+ ; RV64F-SMALL-NEXT: ret
418
+ ;
419
+ ; RV64F-MEDIUM-LABEL: lower_global_half:
420
+ ; RV64F-MEDIUM: # %bb.0:
421
+ ; RV64F-MEDIUM-NEXT: .Lpcrel_hi5:
422
+ ; RV64F-MEDIUM-NEXT: auipc a0, %pcrel_hi(X)
423
+ ; RV64F-MEDIUM-NEXT: flh fa5, %pcrel_lo(.Lpcrel_hi5)(a0)
424
+ ; RV64F-MEDIUM-NEXT: fadd.h fa0, fa0, fa5
425
+ ; RV64F-MEDIUM-NEXT: ret
426
+ ;
427
+ ; RV64F-LARGE-LABEL: lower_global_half:
428
+ ; RV64F-LARGE: # %bb.0:
429
+ ; RV64F-LARGE-NEXT: .Lpcrel_hi5:
430
+ ; RV64F-LARGE-NEXT: auipc a0, %pcrel_hi(.LCPI5_0)
431
+ ; RV64F-LARGE-NEXT: ld a0, %pcrel_lo(.Lpcrel_hi5)(a0)
432
+ ; RV64F-LARGE-NEXT: flh fa5, 0(a0)
433
+ ; RV64F-LARGE-NEXT: fadd.h fa0, fa0, fa5
434
+ ; RV64F-LARGE-NEXT: ret
435
+ ;
436
+ ; RV32FINX-SMALL-LABEL: lower_global_half:
437
+ ; RV32FINX-SMALL: # %bb.0:
438
+ ; RV32FINX-SMALL-NEXT: lui a1, %hi(X)
439
+ ; RV32FINX-SMALL-NEXT: lh a1, %lo(X)(a1)
440
+ ; RV32FINX-SMALL-NEXT: fadd.h a0, a0, a1
441
+ ; RV32FINX-SMALL-NEXT: ret
442
+ ;
443
+ ; RV32FINX-MEDIUM-LABEL: lower_global_half:
444
+ ; RV32FINX-MEDIUM: # %bb.0:
445
+ ; RV32FINX-MEDIUM-NEXT: .Lpcrel_hi4:
446
+ ; RV32FINX-MEDIUM-NEXT: auipc a1, %pcrel_hi(X)
447
+ ; RV32FINX-MEDIUM-NEXT: lh a1, %pcrel_lo(.Lpcrel_hi4)(a1)
448
+ ; RV32FINX-MEDIUM-NEXT: fadd.h a0, a0, a1
449
+ ; RV32FINX-MEDIUM-NEXT: ret
450
+ ;
451
+ ; RV64FINX-SMALL-LABEL: lower_global_half:
452
+ ; RV64FINX-SMALL: # %bb.0:
453
+ ; RV64FINX-SMALL-NEXT: lui a1, %hi(X)
454
+ ; RV64FINX-SMALL-NEXT: lh a1, %lo(X)(a1)
455
+ ; RV64FINX-SMALL-NEXT: fadd.h a0, a0, a1
456
+ ; RV64FINX-SMALL-NEXT: ret
457
+ ;
458
+ ; RV64FINX-MEDIUM-LABEL: lower_global_half:
459
+ ; RV64FINX-MEDIUM: # %bb.0:
460
+ ; RV64FINX-MEDIUM-NEXT: .Lpcrel_hi4:
461
+ ; RV64FINX-MEDIUM-NEXT: auipc a1, %pcrel_hi(X)
462
+ ; RV64FINX-MEDIUM-NEXT: lh a1, %pcrel_lo(.Lpcrel_hi4)(a1)
463
+ ; RV64FINX-MEDIUM-NEXT: fadd.h a0, a0, a1
464
+ ; RV64FINX-MEDIUM-NEXT: ret
465
+ ;
466
+ ; RV64FINX-LARGE-LABEL: lower_global_half:
467
+ ; RV64FINX-LARGE: # %bb.0:
468
+ ; RV64FINX-LARGE-NEXT: .Lpcrel_hi4:
469
+ ; RV64FINX-LARGE-NEXT: auipc a1, %pcrel_hi(.LCPI5_0)
470
+ ; RV64FINX-LARGE-NEXT: ld a1, %pcrel_lo(.Lpcrel_hi4)(a1)
471
+ ; RV64FINX-LARGE-NEXT: lh a1, 0(a1)
472
+ ; RV64FINX-LARGE-NEXT: fadd.h a0, a0, a1
473
+ ; RV64FINX-LARGE-NEXT: ret
474
+ %b = load half , ptr @X
475
+ %1 = fadd half %a , %b
476
+ ret half %1
477
+ }
0 commit comments