Try to use a compare with 0 if DAZ is assumed.
FPClassTest really needs to be marked as a bimask enum, but the API
for that is currently broken.
Details
Diff Detail
Event Timeline
Could you please rebase the patch? Some changes for FPClassTest are already committed.
ping
llvm/include/llvm/ADT/FloatingPointMode.h | ||
---|---|---|
148 | Are is the verb? I think it reads fine |
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | ||
---|---|---|
8062 | What prevents to put the check here? |
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | ||
---|---|---|
8062 | Expanded logic which I have no way of testing. If I can't write a test I'm not writing the handling for it |
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | ||
---|---|---|
8062 | To test isCondCodeLegal here we need a target in which SETOEQ is not legal. It is hard to imagine that a target supports FP numbers natively but comparison of them for equality is absent. Probably this TODO is not useful and could be removed. Alternatively, you could put the call to isCondCodeLegal and leave it untested just because there is no way to test it. |
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | ||
---|---|---|
8062 | Checking isCondCodeLegal actually results in some x86 codegen diffs, so I'll do that separately |
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | ||
---|---|---|
8065–8066 | Don't really see what you mean by this |
The function name is not verb-based. Maybe treatInputAsZero or something like that?