@@ -24,21 +24,7 @@ define double @fadd_d(double %a, double %b) nounwind strictfp {
24
24
;
25
25
; RV32IZFINXZDINX-LABEL: fadd_d:
26
26
; RV32IZFINXZDINX: # %bb.0:
27
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, -16
28
- ; RV32IZFINXZDINX-NEXT: sw a2, 8(sp)
29
- ; RV32IZFINXZDINX-NEXT: sw a3, 12(sp)
30
- ; RV32IZFINXZDINX-NEXT: lw a2, 8(sp)
31
- ; RV32IZFINXZDINX-NEXT: lw a3, 12(sp)
32
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
33
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
34
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
35
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
36
27
; RV32IZFINXZDINX-NEXT: fadd.d a0, a0, a2
37
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
38
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
39
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
40
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
41
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, 16
42
28
; RV32IZFINXZDINX-NEXT: ret
43
29
;
44
30
; RV64IZFINXZDINX-LABEL: fadd_d:
@@ -76,21 +62,7 @@ define double @fsub_d(double %a, double %b) nounwind strictfp {
76
62
;
77
63
; RV32IZFINXZDINX-LABEL: fsub_d:
78
64
; RV32IZFINXZDINX: # %bb.0:
79
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, -16
80
- ; RV32IZFINXZDINX-NEXT: sw a2, 8(sp)
81
- ; RV32IZFINXZDINX-NEXT: sw a3, 12(sp)
82
- ; RV32IZFINXZDINX-NEXT: lw a2, 8(sp)
83
- ; RV32IZFINXZDINX-NEXT: lw a3, 12(sp)
84
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
85
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
86
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
87
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
88
65
; RV32IZFINXZDINX-NEXT: fsub.d a0, a0, a2
89
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
90
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
91
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
92
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
93
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, 16
94
66
; RV32IZFINXZDINX-NEXT: ret
95
67
;
96
68
; RV64IZFINXZDINX-LABEL: fsub_d:
@@ -128,21 +100,7 @@ define double @fmul_d(double %a, double %b) nounwind strictfp {
128
100
;
129
101
; RV32IZFINXZDINX-LABEL: fmul_d:
130
102
; RV32IZFINXZDINX: # %bb.0:
131
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, -16
132
- ; RV32IZFINXZDINX-NEXT: sw a2, 8(sp)
133
- ; RV32IZFINXZDINX-NEXT: sw a3, 12(sp)
134
- ; RV32IZFINXZDINX-NEXT: lw a2, 8(sp)
135
- ; RV32IZFINXZDINX-NEXT: lw a3, 12(sp)
136
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
137
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
138
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
139
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
140
103
; RV32IZFINXZDINX-NEXT: fmul.d a0, a0, a2
141
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
142
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
143
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
144
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
145
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, 16
146
104
; RV32IZFINXZDINX-NEXT: ret
147
105
;
148
106
; RV64IZFINXZDINX-LABEL: fmul_d:
@@ -180,21 +138,7 @@ define double @fdiv_d(double %a, double %b) nounwind strictfp {
180
138
;
181
139
; RV32IZFINXZDINX-LABEL: fdiv_d:
182
140
; RV32IZFINXZDINX: # %bb.0:
183
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, -16
184
- ; RV32IZFINXZDINX-NEXT: sw a2, 8(sp)
185
- ; RV32IZFINXZDINX-NEXT: sw a3, 12(sp)
186
- ; RV32IZFINXZDINX-NEXT: lw a2, 8(sp)
187
- ; RV32IZFINXZDINX-NEXT: lw a3, 12(sp)
188
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
189
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
190
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
191
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
192
141
; RV32IZFINXZDINX-NEXT: fdiv.d a0, a0, a2
193
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
194
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
195
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
196
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
197
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, 16
198
142
; RV32IZFINXZDINX-NEXT: ret
199
143
;
200
144
; RV64IZFINXZDINX-LABEL: fdiv_d:
@@ -232,17 +176,7 @@ define double @fsqrt_d(double %a) nounwind strictfp {
232
176
;
233
177
; RV32IZFINXZDINX-LABEL: fsqrt_d:
234
178
; RV32IZFINXZDINX: # %bb.0:
235
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, -16
236
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
237
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
238
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
239
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
240
179
; RV32IZFINXZDINX-NEXT: fsqrt.d a0, a0
241
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
242
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
243
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
244
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
245
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, 16
246
180
; RV32IZFINXZDINX-NEXT: ret
247
181
;
248
182
; RV64IZFINXZDINX-LABEL: fsqrt_d:
@@ -398,25 +332,7 @@ define double @fmadd_d(double %a, double %b, double %c) nounwind strictfp {
398
332
;
399
333
; RV32IZFINXZDINX-LABEL: fmadd_d:
400
334
; RV32IZFINXZDINX: # %bb.0:
401
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, -16
402
- ; RV32IZFINXZDINX-NEXT: sw a4, 8(sp)
403
- ; RV32IZFINXZDINX-NEXT: sw a5, 12(sp)
404
- ; RV32IZFINXZDINX-NEXT: lw a4, 8(sp)
405
- ; RV32IZFINXZDINX-NEXT: lw a5, 12(sp)
406
- ; RV32IZFINXZDINX-NEXT: sw a2, 8(sp)
407
- ; RV32IZFINXZDINX-NEXT: sw a3, 12(sp)
408
- ; RV32IZFINXZDINX-NEXT: lw a2, 8(sp)
409
- ; RV32IZFINXZDINX-NEXT: lw a3, 12(sp)
410
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
411
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
412
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
413
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
414
335
; RV32IZFINXZDINX-NEXT: fmadd.d a0, a0, a2, a4
415
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
416
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
417
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
418
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
419
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, 16
420
336
; RV32IZFINXZDINX-NEXT: ret
421
337
;
422
338
; RV64IZFINXZDINX-LABEL: fmadd_d:
@@ -463,27 +379,9 @@ define double @fmsub_d(double %a, double %b, double %c) nounwind strictfp {
463
379
;
464
380
; RV32IZFINXZDINX-LABEL: fmsub_d:
465
381
; RV32IZFINXZDINX: # %bb.0:
466
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, -16
467
- ; RV32IZFINXZDINX-NEXT: sw a2, 8(sp)
468
- ; RV32IZFINXZDINX-NEXT: sw a3, 12(sp)
469
- ; RV32IZFINXZDINX-NEXT: lw a2, 8(sp)
470
- ; RV32IZFINXZDINX-NEXT: lw a3, 12(sp)
471
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
472
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
473
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
474
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
475
- ; RV32IZFINXZDINX-NEXT: sw a4, 8(sp)
476
- ; RV32IZFINXZDINX-NEXT: sw a5, 12(sp)
477
- ; RV32IZFINXZDINX-NEXT: lw a4, 8(sp)
478
- ; RV32IZFINXZDINX-NEXT: lw a5, 12(sp)
479
382
; RV32IZFINXZDINX-NEXT: fcvt.d.w a6, zero
480
383
; RV32IZFINXZDINX-NEXT: fadd.d a4, a4, a6
481
384
; RV32IZFINXZDINX-NEXT: fmsub.d a0, a0, a2, a4
482
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
483
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
484
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
485
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
486
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, 16
487
385
; RV32IZFINXZDINX-NEXT: ret
488
386
;
489
387
; RV64IZFINXZDINX-LABEL: fmsub_d:
@@ -572,28 +470,10 @@ define double @fnmadd_d(double %a, double %b, double %c) nounwind strictfp {
572
470
;
573
471
; RV32IZFINXZDINX-LABEL: fnmadd_d:
574
472
; RV32IZFINXZDINX: # %bb.0:
575
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, -16
576
- ; RV32IZFINXZDINX-NEXT: sw a2, 8(sp)
577
- ; RV32IZFINXZDINX-NEXT: sw a3, 12(sp)
578
- ; RV32IZFINXZDINX-NEXT: lw a2, 8(sp)
579
- ; RV32IZFINXZDINX-NEXT: lw a3, 12(sp)
580
- ; RV32IZFINXZDINX-NEXT: sw a4, 8(sp)
581
- ; RV32IZFINXZDINX-NEXT: sw a5, 12(sp)
582
- ; RV32IZFINXZDINX-NEXT: lw a4, 8(sp)
583
- ; RV32IZFINXZDINX-NEXT: lw a5, 12(sp)
584
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
585
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
586
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
587
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
588
473
; RV32IZFINXZDINX-NEXT: fcvt.d.w a6, zero
589
474
; RV32IZFINXZDINX-NEXT: fadd.d a0, a0, a6
590
475
; RV32IZFINXZDINX-NEXT: fadd.d a4, a4, a6
591
476
; RV32IZFINXZDINX-NEXT: fnmadd.d a0, a0, a2, a4
592
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
593
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
594
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
595
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
596
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, 16
597
477
; RV32IZFINXZDINX-NEXT: ret
598
478
;
599
479
; RV64IZFINXZDINX-LABEL: fnmadd_d:
@@ -701,28 +581,10 @@ define double @fnmadd_d_2(double %a, double %b, double %c) nounwind strictfp {
701
581
;
702
582
; RV32IZFINXZDINX-LABEL: fnmadd_d_2:
703
583
; RV32IZFINXZDINX: # %bb.0:
704
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, -16
705
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
706
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
707
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
708
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
709
- ; RV32IZFINXZDINX-NEXT: sw a4, 8(sp)
710
- ; RV32IZFINXZDINX-NEXT: sw a5, 12(sp)
711
- ; RV32IZFINXZDINX-NEXT: lw a4, 8(sp)
712
- ; RV32IZFINXZDINX-NEXT: lw a5, 12(sp)
713
- ; RV32IZFINXZDINX-NEXT: sw a2, 8(sp)
714
- ; RV32IZFINXZDINX-NEXT: sw a3, 12(sp)
715
- ; RV32IZFINXZDINX-NEXT: lw a2, 8(sp)
716
- ; RV32IZFINXZDINX-NEXT: lw a3, 12(sp)
717
584
; RV32IZFINXZDINX-NEXT: fcvt.d.w a6, zero
718
585
; RV32IZFINXZDINX-NEXT: fadd.d a2, a2, a6
719
586
; RV32IZFINXZDINX-NEXT: fadd.d a4, a4, a6
720
587
; RV32IZFINXZDINX-NEXT: fnmadd.d a0, a2, a0, a4
721
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
722
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
723
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
724
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
725
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, 16
726
588
; RV32IZFINXZDINX-NEXT: ret
727
589
;
728
590
; RV64IZFINXZDINX-LABEL: fnmadd_d_2:
@@ -829,27 +691,9 @@ define double @fnmsub_d(double %a, double %b, double %c) nounwind strictfp {
829
691
;
830
692
; RV32IZFINXZDINX-LABEL: fnmsub_d:
831
693
; RV32IZFINXZDINX: # %bb.0:
832
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, -16
833
- ; RV32IZFINXZDINX-NEXT: sw a4, 8(sp)
834
- ; RV32IZFINXZDINX-NEXT: sw a5, 12(sp)
835
- ; RV32IZFINXZDINX-NEXT: lw a4, 8(sp)
836
- ; RV32IZFINXZDINX-NEXT: lw a5, 12(sp)
837
- ; RV32IZFINXZDINX-NEXT: sw a2, 8(sp)
838
- ; RV32IZFINXZDINX-NEXT: sw a3, 12(sp)
839
- ; RV32IZFINXZDINX-NEXT: lw a2, 8(sp)
840
- ; RV32IZFINXZDINX-NEXT: lw a3, 12(sp)
841
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
842
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
843
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
844
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
845
694
; RV32IZFINXZDINX-NEXT: fcvt.d.w a6, zero
846
695
; RV32IZFINXZDINX-NEXT: fadd.d a0, a0, a6
847
696
; RV32IZFINXZDINX-NEXT: fnmsub.d a0, a0, a2, a4
848
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
849
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
850
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
851
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
852
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, 16
853
697
; RV32IZFINXZDINX-NEXT: ret
854
698
;
855
699
; RV64IZFINXZDINX-LABEL: fnmsub_d:
@@ -932,27 +776,9 @@ define double @fnmsub_d_2(double %a, double %b, double %c) nounwind strictfp {
932
776
;
933
777
; RV32IZFINXZDINX-LABEL: fnmsub_d_2:
934
778
; RV32IZFINXZDINX: # %bb.0:
935
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, -16
936
- ; RV32IZFINXZDINX-NEXT: sw a4, 8(sp)
937
- ; RV32IZFINXZDINX-NEXT: sw a5, 12(sp)
938
- ; RV32IZFINXZDINX-NEXT: lw a4, 8(sp)
939
- ; RV32IZFINXZDINX-NEXT: lw a5, 12(sp)
940
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
941
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
942
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
943
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
944
- ; RV32IZFINXZDINX-NEXT: sw a2, 8(sp)
945
- ; RV32IZFINXZDINX-NEXT: sw a3, 12(sp)
946
- ; RV32IZFINXZDINX-NEXT: lw a2, 8(sp)
947
- ; RV32IZFINXZDINX-NEXT: lw a3, 12(sp)
948
779
; RV32IZFINXZDINX-NEXT: fcvt.d.w a6, zero
949
780
; RV32IZFINXZDINX-NEXT: fadd.d a2, a2, a6
950
781
; RV32IZFINXZDINX-NEXT: fnmsub.d a0, a2, a0, a4
951
- ; RV32IZFINXZDINX-NEXT: sw a0, 8(sp)
952
- ; RV32IZFINXZDINX-NEXT: sw a1, 12(sp)
953
- ; RV32IZFINXZDINX-NEXT: lw a0, 8(sp)
954
- ; RV32IZFINXZDINX-NEXT: lw a1, 12(sp)
955
- ; RV32IZFINXZDINX-NEXT: addi sp, sp, 16
956
782
; RV32IZFINXZDINX-NEXT: ret
957
783
;
958
784
; RV64IZFINXZDINX-LABEL: fnmsub_d_2:
0 commit comments