Commit d1bfa9c
committed
[llvm] Ensure that soft float targets don't emit fma() libcalls.
The previous behavior could be harmful in some edge cases, such as emitting a
call to fma() in the fma() implementation itself.
Do this by just being more accurate in isFMAFasterThanFMulAndFAdd(). This was
already done for PowerPC; this commit just extends that to Arm, z/Arch, and x86.
MIPS and SPARC already got it right, but I added tests for them too, for good
measure.1 parent 9614f69 commit d1bfa9c
File tree
9 files changed
+3742
-0
lines changed- llvm
- include/llvm/CodeGen
- lib/Target
- ARM
- SystemZ
- X86
- test/CodeGen
- ARM
- Mips
- SPARC
- SystemZ
- X86
9 files changed
+3742
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3242 | 3242 | | |
3243 | 3243 | | |
3244 | 3244 | | |
| 3245 | + | |
| 3246 | + | |
| 3247 | + | |
3245 | 3248 | | |
3246 | 3249 | | |
3247 | 3250 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19487 | 19487 | | |
19488 | 19488 | | |
19489 | 19489 | | |
| 19490 | + | |
| 19491 | + | |
| 19492 | + | |
19490 | 19493 | | |
19491 | 19494 | | |
19492 | 19495 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
793 | 793 | | |
794 | 794 | | |
795 | 795 | | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
796 | 799 | | |
797 | 800 | | |
798 | 801 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34843 | 34843 | | |
34844 | 34844 | | |
34845 | 34845 | | |
| 34846 | + | |
| 34847 | + | |
| 34848 | + | |
34846 | 34849 | | |
34847 | 34850 | | |
34848 | 34851 | | |
| |||
0 commit comments