There are a number of more test combinations here that
can be done together and reduce the number of instructions.
Details
Diff Detail
Event Timeline
llvm/include/llvm/CodeGen/CodeGenCommonISel.h | ||
---|---|---|
225–226 | Doxygen comments must be on separate lines. | |
llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp | ||
7333 ↗ | (On Diff #494320) | This variable seems unused. It is possible to remove it? |
llvm/test/CodeGen/X86/is_fpclass.ll | ||
866–868 | This code looks incorrect. The argument is compared against 0.0 and the result is true if the comparison is unordered or not equal. |
Fix inverted case
llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp | ||
---|---|---|
7333 ↗ | (On Diff #494320) | Yes but I was trying to document changes that need to be made to match the DAG version |
llvm/test/CodeGen/X86/is_fpclass.ll | ||
866–868 | Looks like I broke the inverted case and ended up fixing it in one of my later patches |
llvm/test/CodeGen/X86/is_fpclass.ll | ||
---|---|---|
866–868 | Not sure if x87 has DAZ mode. Corresponding flag is in MXCSR only and it is not clear if MXCSR affects operations in x87. @jcranmer-intel, could you please clarify this point? |
llvm/test/CodeGen/X86/is_fpclass.ll | ||
---|---|---|
866–868 | The attribute says codegen can assume this. If the hardware doesn't actually support the mode this is just undefined usage which doesn't matter |
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | ||
---|---|---|
8113 | Why ISD::SETONE? If condition is "ordered and equal", then inversion of it is "unordered or not equal", isn't it? |
Undo opcode change
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | ||
---|---|---|
8113 | I don't really remember what I was thinking here |
Doxygen comments must be on separate lines.