Commit cd71163
committed
expandFMINIMUMNUM_FMAXIMUMNUM: Improve compare between zeros
1. On GPR32 platform, expandIS_FPCLASS may fail due to ISD::BITCAST
double to int64 may fail. Let's FP_ROUND double to float first.
Since we use it if MinMax is zero only, so the flushing won't
break anything.
2. Only one IS_FPCLASS is needed. MinMax will always be RHS if equal.
So we can select between LHS and MinMax.
It will even safe if FP_ROUND flush a small LHS, as if LHS is not zero
then, MinMax won't be Zero, so we will always use MinMax.1 parent 63861d6 commit cd71163
File tree
2 files changed
+745
-45
lines changed- llvm
- lib/CodeGen/SelectionDAG
- test/CodeGen/Mips
2 files changed
+745
-45
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8690 | 8690 | | |
8691 | 8691 | | |
8692 | 8692 | | |
| 8693 | + | |
8693 | 8694 | | |
8694 | 8695 | | |
8695 | 8696 | | |
| |||
8704 | 8705 | | |
8705 | 8706 | | |
8706 | 8707 | | |
8707 | | - | |
8708 | | - | |
| 8708 | + | |
| 8709 | + | |
| 8710 | + | |
| 8711 | + | |
| 8712 | + | |
| 8713 | + | |
| 8714 | + | |
| 8715 | + | |
| 8716 | + | |
| 8717 | + | |
| 8718 | + | |
| 8719 | + | |
| 8720 | + | |
| 8721 | + | |
| 8722 | + | |
| 8723 | + | |
| 8724 | + | |
| 8725 | + | |
| 8726 | + | |
8709 | 8727 | | |
8710 | | - | |
8711 | | - | |
8712 | | - | |
8713 | | - | |
| 8728 | + | |
8714 | 8729 | | |
8715 | 8730 | | |
8716 | 8731 | | |
| |||
0 commit comments