Lines Matching full:on

4 ; RUN: llc --mtriple=loongarch32 --mattr=+f,-d --fp-contract=on < %s \
5 ; RUN: | FileCheck %s --check-prefix=LA32-CONTRACT-ON
10 ; RUN: llc --mtriple=loongarch64 --mattr=+f,-d --fp-contract=on < %s \
11 ; RUN: | FileCheck %s --check-prefix=LA64-CONTRACT-ON
21 ; LA32-CONTRACT-ON-LABEL: fmadd_s:
22 ; LA32-CONTRACT-ON: # %bb.0:
23 ; LA32-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
24 ; LA32-CONTRACT-ON-NEXT: fadd.s $fa0, $fa0, $fa2
25 ; LA32-CONTRACT-ON-NEXT: ret
38 ; LA64-CONTRACT-ON-LABEL: fmadd_s:
39 ; LA64-CONTRACT-ON: # %bb.0:
40 ; LA64-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
41 ; LA64-CONTRACT-ON-NEXT: fadd.s $fa0, $fa0, $fa2
42 ; LA64-CONTRACT-ON-NEXT: ret
60 ; LA32-CONTRACT-ON-LABEL: fmsub_s:
61 ; LA32-CONTRACT-ON: # %bb.0:
62 ; LA32-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
63 ; LA32-CONTRACT-ON-NEXT: fsub.s $fa0, $fa0, $fa2
64 ; LA32-CONTRACT-ON-NEXT: ret
77 ; LA64-CONTRACT-ON-LABEL: fmsub_s:
78 ; LA64-CONTRACT-ON: # %bb.0:
79 ; LA64-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
80 ; LA64-CONTRACT-ON-NEXT: fsub.s $fa0, $fa0, $fa2
81 ; LA64-CONTRACT-ON-NEXT: ret
99 ; LA32-CONTRACT-ON-LABEL: fnmadd_s:
100 ; LA32-CONTRACT-ON: # %bb.0:
101 ; LA32-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
102 ; LA32-CONTRACT-ON-NEXT: fadd.s $fa0, $fa0, $fa2
103 ; LA32-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
104 ; LA32-CONTRACT-ON-NEXT: ret
118 ; LA64-CONTRACT-ON-LABEL: fnmadd_s:
119 ; LA64-CONTRACT-ON: # %bb.0:
120 ; LA64-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
121 ; LA64-CONTRACT-ON-NEXT: fadd.s $fa0, $fa0, $fa2
122 ; LA64-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
123 ; LA64-CONTRACT-ON-NEXT: ret
143 ; LA32-CONTRACT-ON-LABEL: fnmadd_s_nsz:
144 ; LA32-CONTRACT-ON: # %bb.0:
145 ; LA32-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
146 ; LA32-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
147 ; LA32-CONTRACT-ON-NEXT: fsub.s $fa0, $fa0, $fa2
148 ; LA32-CONTRACT-ON-NEXT: ret
162 ; LA64-CONTRACT-ON-LABEL: fnmadd_s_nsz:
163 ; LA64-CONTRACT-ON: # %bb.0:
164 ; LA64-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
165 ; LA64-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
166 ; LA64-CONTRACT-ON-NEXT: fsub.s $fa0, $fa0, $fa2
167 ; LA64-CONTRACT-ON-NEXT: ret
190 ; LA32-CONTRACT-ON-LABEL: not_fnmadd_s:
191 ; LA32-CONTRACT-ON: # %bb.0:
192 ; LA32-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
193 ; LA32-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
194 ; LA32-CONTRACT-ON-NEXT: fsub.s $fa0, $fa0, $fa2
195 ; LA32-CONTRACT-ON-NEXT: ret
210 ; LA64-CONTRACT-ON-LABEL: not_fnmadd_s:
211 ; LA64-CONTRACT-ON: # %bb.0:
212 ; LA64-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
213 ; LA64-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
214 ; LA64-CONTRACT-ON-NEXT: fsub.s $fa0, $fa0, $fa2
215 ; LA64-CONTRACT-ON-NEXT: ret
236 ; LA32-CONTRACT-ON-LABEL: fnmsub_s:
237 ; LA32-CONTRACT-ON: # %bb.0:
238 ; LA32-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
239 ; LA32-CONTRACT-ON-NEXT: fsub.s $fa0, $fa0, $fa2
240 ; LA32-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
241 ; LA32-CONTRACT-ON-NEXT: ret
255 ; LA64-CONTRACT-ON-LABEL: fnmsub_s:
256 ; LA64-CONTRACT-ON: # %bb.0:
257 ; LA64-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
258 ; LA64-CONTRACT-ON-NEXT: fsub.s $fa0, $fa0, $fa2
259 ; LA64-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
260 ; LA64-CONTRACT-ON-NEXT: ret
281 ; LA32-CONTRACT-ON-LABEL: fnmsub_s_nsz:
282 ; LA32-CONTRACT-ON: # %bb.0:
283 ; LA32-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
284 ; LA32-CONTRACT-ON-NEXT: fsub.s $fa0, $fa2, $fa0
285 ; LA32-CONTRACT-ON-NEXT: ret
298 ; LA64-CONTRACT-ON-LABEL: fnmsub_s_nsz:
299 ; LA64-CONTRACT-ON: # %bb.0:
300 ; LA64-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
301 ; LA64-CONTRACT-ON-NEXT: fsub.s $fa0, $fa2, $fa0
302 ; LA64-CONTRACT-ON-NEXT: ret
323 ; LA32-CONTRACT-ON-LABEL: not_fnmsub_s:
324 ; LA32-CONTRACT-ON: # %bb.0:
325 ; LA32-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
326 ; LA32-CONTRACT-ON-NEXT: fsub.s $fa0, $fa2, $fa0
327 ; LA32-CONTRACT-ON-NEXT: ret
341 ; LA64-CONTRACT-ON-LABEL: not_fnmsub_s:
342 ; LA64-CONTRACT-ON: # %bb.0:
343 ; LA64-CONTRACT-ON-NEXT: fmul.s $fa0, $fa0, $fa1
344 ; LA64-CONTRACT-ON-NEXT: fsub.s $fa0, $fa2, $fa0
345 ; LA64-CONTRACT-ON-NEXT: ret
364 ; LA32-CONTRACT-ON-LABEL: contract_fmadd_s:
365 ; LA32-CONTRACT-ON: # %bb.0:
366 ; LA32-CONTRACT-ON-NEXT: fmadd.s $fa0, $fa0, $fa1, $fa2
367 ; LA32-CONTRACT-ON-NEXT: ret
379 ; LA64-CONTRACT-ON-LABEL: contract_fmadd_s:
380 ; LA64-CONTRACT-ON: # %bb.0:
381 ; LA64-CONTRACT-ON-NEXT: fmadd.s $fa0, $fa0, $fa1, $fa2
382 ; LA64-CONTRACT-ON-NEXT: ret
399 ; LA32-CONTRACT-ON-LABEL: contract_fmsub_s:
400 ; LA32-CONTRACT-ON: # %bb.0:
401 ; LA32-CONTRACT-ON-NEXT: fmsub.s $fa0, $fa0, $fa1, $fa2
402 ; LA32-CONTRACT-ON-NEXT: ret
414 ; LA64-CONTRACT-ON-LABEL: contract_fmsub_s:
415 ; LA64-CONTRACT-ON: # %bb.0:
416 ; LA64-CONTRACT-ON-NEXT: fmsub.s $fa0, $fa0, $fa1, $fa2
417 ; LA64-CONTRACT-ON-NEXT: ret
434 ; LA32-CONTRACT-ON-LABEL: contract_fnmadd_s:
435 ; LA32-CONTRACT-ON: # %bb.0:
436 ; LA32-CONTRACT-ON-NEXT: fnmadd.s $fa0, $fa0, $fa1, $fa2
437 ; LA32-CONTRACT-ON-NEXT: ret
449 ; LA64-CONTRACT-ON-LABEL: contract_fnmadd_s:
450 ; LA64-CONTRACT-ON: # %bb.0:
451 ; LA64-CONTRACT-ON-NEXT: fnmadd.s $fa0, $fa0, $fa1, $fa2
452 ; LA64-CONTRACT-ON-NEXT: ret
470 ; LA32-CONTRACT-ON-LABEL: contract_fnmadd_s_nsz:
471 ; LA32-CONTRACT-ON: # %bb.0:
472 ; LA32-CONTRACT-ON-NEXT: fnmadd.s $fa0, $fa0, $fa1, $fa2
473 ; LA32-CONTRACT-ON-NEXT: ret
485 ; LA64-CONTRACT-ON-LABEL: contract_fnmadd_s_nsz:
486 ; LA64-CONTRACT-ON: # %bb.0:
487 ; LA64-CONTRACT-ON-NEXT: fnmadd.s $fa0, $fa0, $fa1, $fa2
488 ; LA64-CONTRACT-ON-NEXT: ret
509 ; LA32-CONTRACT-ON-LABEL: not_contract_fnmadd_s:
510 ; LA32-CONTRACT-ON: # %bb.0:
511 ; LA32-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
512 ; LA32-CONTRACT-ON-NEXT: fmsub.s $fa0, $fa0, $fa1, $fa2
513 ; LA32-CONTRACT-ON-NEXT: ret
527 ; LA64-CONTRACT-ON-LABEL: not_contract_fnmadd_s:
528 ; LA64-CONTRACT-ON: # %bb.0:
529 ; LA64-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
530 ; LA64-CONTRACT-ON-NEXT: fmsub.s $fa0, $fa0, $fa1, $fa2
531 ; LA64-CONTRACT-ON-NEXT: ret
551 ; LA32-CONTRACT-ON-LABEL: contract_fnmsub_s:
552 ; LA32-CONTRACT-ON: # %bb.0:
553 ; LA32-CONTRACT-ON-NEXT: fnmsub.s $fa0, $fa0, $fa1, $fa2
554 ; LA32-CONTRACT-ON-NEXT: ret
566 ; LA64-CONTRACT-ON-LABEL: contract_fnmsub_s:
567 ; LA64-CONTRACT-ON: # %bb.0:
568 ; LA64-CONTRACT-ON-NEXT: fnmsub.s $fa0, $fa0, $fa1, $fa2
569 ; LA64-CONTRACT-ON-NEXT: ret
588 ; LA32-CONTRACT-ON-LABEL: contract_fnmsub_s_nsz:
589 ; LA32-CONTRACT-ON: # %bb.0:
590 ; LA32-CONTRACT-ON-NEXT: fnmsub.s $fa0, $fa0, $fa1, $fa2
591 ; LA32-CONTRACT-ON-NEXT: ret
603 ; LA64-CONTRACT-ON-LABEL: contract_fnmsub_s_nsz:
604 ; LA64-CONTRACT-ON: # %bb.0:
605 ; LA64-CONTRACT-ON-NEXT: fnmsub.s $fa0, $fa0, $fa1, $fa2
606 ; LA64-CONTRACT-ON-NEXT: ret
626 ; LA32-CONTRACT-ON-LABEL: not_contract_fnmsub_s:
627 ; LA32-CONTRACT-ON: # %bb.0:
628 ; LA32-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
629 ; LA32-CONTRACT-ON-NEXT: fmadd.s $fa0, $fa0, $fa1, $fa2
630 ; LA32-CONTRACT-ON-NEXT: ret
644 ; LA64-CONTRACT-ON-LABEL: not_contract_fnmsub_s:
645 ; LA64-CONTRACT-ON: # %bb.0:
646 ; LA64-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
647 ; LA64-CONTRACT-ON-NEXT: fmadd.s $fa0, $fa0, $fa1, $fa2
648 ; LA64-CONTRACT-ON-NEXT: ret
669 ; LA32-CONTRACT-ON-LABEL: fmadd_s_intrinsics:
670 ; LA32-CONTRACT-ON: # %bb.0:
671 ; LA32-CONTRACT-ON-NEXT: fmadd.s $fa0, $fa0, $fa1, $fa2
672 ; LA32-CONTRACT-ON-NEXT: ret
684 ; LA64-CONTRACT-ON-LABEL: fmadd_s_intrinsics:
685 ; LA64-CONTRACT-ON: # %bb.0:
686 ; LA64-CONTRACT-ON-NEXT: fmadd.s $fa0, $fa0, $fa1, $fa2
687 ; LA64-CONTRACT-ON-NEXT: ret
703 ; LA32-CONTRACT-ON-LABEL: fmsub_s_intrinsics:
704 ; LA32-CONTRACT-ON: # %bb.0:
705 ; LA32-CONTRACT-ON-NEXT: fmsub.s $fa0, $fa0, $fa1, $fa2
706 ; LA32-CONTRACT-ON-NEXT: ret
718 ; LA64-CONTRACT-ON-LABEL: fmsub_s_intrinsics:
719 ; LA64-CONTRACT-ON: # %bb.0:
720 ; LA64-CONTRACT-ON-NEXT: fmsub.s $fa0, $fa0, $fa1, $fa2
721 ; LA64-CONTRACT-ON-NEXT: ret
738 ; LA32-CONTRACT-ON-LABEL: fnmadd_s_intrinsics:
739 ; LA32-CONTRACT-ON: # %bb.0:
740 ; LA32-CONTRACT-ON-NEXT: fnmadd.s $fa0, $fa0, $fa1, $fa2
741 ; LA32-CONTRACT-ON-NEXT: ret
753 ; LA64-CONTRACT-ON-LABEL: fnmadd_s_intrinsics:
754 ; LA64-CONTRACT-ON: # %bb.0:
755 ; LA64-CONTRACT-ON-NEXT: fnmadd.s $fa0, $fa0, $fa1, $fa2
756 ; LA64-CONTRACT-ON-NEXT: ret
773 ; LA32-CONTRACT-ON-LABEL: fnmadd_s_nsz_intrinsics:
774 ; LA32-CONTRACT-ON: # %bb.0:
775 ; LA32-CONTRACT-ON-NEXT: fnmadd.s $fa0, $fa0, $fa1, $fa2
776 ; LA32-CONTRACT-ON-NEXT: ret
788 ; LA64-CONTRACT-ON-LABEL: fnmadd_s_nsz_intrinsics:
789 ; LA64-CONTRACT-ON: # %bb.0:
790 ; LA64-CONTRACT-ON-NEXT: fnmadd.s $fa0, $fa0, $fa1, $fa2
791 ; LA64-CONTRACT-ON-NEXT: ret
811 ; LA32-CONTRACT-ON-LABEL: not_fnmadd_s_intrinsics:
812 ; LA32-CONTRACT-ON: # %bb.0:
813 ; LA32-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
814 ; LA32-CONTRACT-ON-NEXT: fmsub.s $fa0, $fa0, $fa1, $fa2
815 ; LA32-CONTRACT-ON-NEXT: ret
829 ; LA64-CONTRACT-ON-LABEL: not_fnmadd_s_intrinsics:
830 ; LA64-CONTRACT-ON: # %bb.0:
831 ; LA64-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
832 ; LA64-CONTRACT-ON-NEXT: fmsub.s $fa0, $fa0, $fa1, $fa2
833 ; LA64-CONTRACT-ON-NEXT: ret
852 ; LA32-CONTRACT-ON-LABEL: fnmsub_s_intrinsics:
853 ; LA32-CONTRACT-ON: # %bb.0:
854 ; LA32-CONTRACT-ON-NEXT: fnmsub.s $fa0, $fa0, $fa1, $fa2
855 ; LA32-CONTRACT-ON-NEXT: ret
867 ; LA64-CONTRACT-ON-LABEL: fnmsub_s_intrinsics:
868 ; LA64-CONTRACT-ON: # %bb.0:
869 ; LA64-CONTRACT-ON-NEXT: fnmsub.s $fa0, $fa0, $fa1, $fa2
870 ; LA64-CONTRACT-ON-NEXT: ret
888 ; LA32-CONTRACT-ON-LABEL: fnmsub_s_nsz_intrinsics:
889 ; LA32-CONTRACT-ON: # %bb.0:
890 ; LA32-CONTRACT-ON-NEXT: fnmsub.s $fa0, $fa0, $fa1, $fa2
891 ; LA32-CONTRACT-ON-NEXT: ret
903 ; LA64-CONTRACT-ON-LABEL: fnmsub_s_nsz_intrinsics:
904 ; LA64-CONTRACT-ON: # %bb.0:
905 ; LA64-CONTRACT-ON-NEXT: fnmsub.s $fa0, $fa0, $fa1, $fa2
906 ; LA64-CONTRACT-ON-NEXT: ret
925 ; LA32-CONTRACT-ON-LABEL: not_fnmsub_s_intrinsics:
926 ; LA32-CONTRACT-ON: # %bb.0:
927 ; LA32-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
928 ; LA32-CONTRACT-ON-NEXT: fmadd.s $fa0, $fa0, $fa1, $fa2
929 ; LA32-CONTRACT-ON-NEXT: ret
943 ; LA64-CONTRACT-ON-LABEL: not_fnmsub_s_intrinsics:
944 ; LA64-CONTRACT-ON: # %bb.0:
945 ; LA64-CONTRACT-ON-NEXT: fneg.s $fa0, $fa0
946 ; LA64-CONTRACT-ON-NEXT: fmadd.s $fa0, $fa0, $fa1, $fa2
947 ; LA64-CONTRACT-ON-NEXT: ret
965 ; LA32-CONTRACT-ON-LABEL: fmadd_s_contract:
966 ; LA32-CONTRACT-ON: # %bb.0:
967 ; LA32-CONTRACT-ON-NEXT: fmadd.s $fa0, $fa0, $fa1, $fa2
968 ; LA32-CONTRACT-ON-NEXT: ret
980 ; LA64-CONTRACT-ON-LABEL: fmadd_s_contract:
981 ; LA64-CONTRACT-ON: # %bb.0:
982 ; LA64-CONTRACT-ON-NEXT: fmadd.s $fa0, $fa0, $fa1, $fa2
983 ; LA64-CONTRACT-ON-NEXT: ret
1000 ; LA32-CONTRACT-ON-LABEL: fmsub_s_contract:
1001 ; LA32-CONTRACT-ON: # %bb.0:
1002 ; LA32-CONTRACT-ON-NEXT: fmsub.s $fa0, $fa0, $fa1, $fa2
1003 ; LA32-CONTRACT-ON-NEXT: ret
1015 ; LA64-CONTRACT-ON-LABEL: fmsub_s_contract:
1016 ; LA64-CONTRACT-ON: # %bb.0:
1017 ; LA64-CONTRACT-ON-NEXT: fmsub.s $fa0, $fa0, $fa1, $fa2
1018 ; LA64-CONTRACT-ON-NEXT: ret
1035 ; LA32-CONTRACT-ON-LABEL: fnmadd_s_contract:
1036 ; LA32-CONTRACT-ON: # %bb.0:
1037 ; LA32-CONTRACT-ON-NEXT: fnmadd.s $fa0, $fa0, $fa1, $fa2
1038 ; LA32-CONTRACT-ON-NEXT: ret
1050 ; LA64-CONTRACT-ON-LABEL: fnmadd_s_contract:
1051 ; LA64-CONTRACT-ON: # %bb.0:
1052 ; LA64-CONTRACT-ON-NEXT: fnmadd.s $fa0, $fa0, $fa1, $fa2
1053 ; LA64-CONTRACT-ON-NEXT: ret
1071 ; LA32-CONTRACT-ON-LABEL: fnmsub_s_contract:
1072 ; LA32-CONTRACT-ON: # %bb.0:
1073 ; LA32-CONTRACT-ON-NEXT: fnmsub.s $fa0, $fa0, $fa1, $fa2
1074 ; LA32-CONTRACT-ON-NEXT: ret
1086 ; LA64-CONTRACT-ON-LABEL: fnmsub_s_contract:
1087 ; LA64-CONTRACT-ON: # %bb.0:
1088 ; LA64-CONTRACT-ON-NEXT: fnmsub.s $fa0, $fa0, $fa1, $fa2
1089 ; LA64-CONTRACT-ON-NEXT: ret