summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/TargetParser.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2015-07-15 08:39:35 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2015-07-15 08:39:35 +0000
commitb9288601a3ec46c3b645818110038c9910efcc55 (patch)
tree4cdc6d11f707d00ce4e9a9fe705829bed8c01c6c /llvm/lib/Support/TargetParser.cpp
parent5d36b230b5ea88cb6e06f604431f856808703969 (diff)
downloadbcm5719-llvm-b9288601a3ec46c3b645818110038c9910efcc55.tar.gz
bcm5719-llvm-b9288601a3ec46c3b645818110038c9910efcc55.zip
[SDAG] Optimize unordered comparison in soft-float mode (patch by Anton Nadolskiy)
Current implementation handles unordered comparison poorly in soft-float mode. Consider (a ULE b) which is a <= b. It is lowered to (ledf2(a, b) <= 0 || unorddf2(a, b) != 0) (in general). We can do better job by lowering it to (__gtdf2(a, b) <= 0). Such replacement is true for other CMP's (ult, ugt, uge). In general, we just call same function as for ordered case but negate comparison against zero. Differential Revision: http://reviews.llvm.org/D10804 llvm-svn: 242280
Diffstat (limited to 'llvm/lib/Support/TargetParser.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud