Add patterns for unhandled CondCode enumerables:
SETEQ, SETGE, SETGT, SETLE, SETLT, SETNE.
Stated at the ISD::CondCode enum declaration:
All of these (except for the 'always folded ops') should be handled for floating point.
Since the introduction of D46854, a simple example
define double @test(<2 x double>) unnamed_addr { start: %1 = call double @llvm.experimental.vector.reduce.fmin.f64.v2f64(<2 x double> %0) ret double %1 }
fails due to
v2i64 = setcc t6, t19, setlt:ch
not being matchable, which previously held a setolt condition code node.
Add patterns which use these nodes, same as corresponding 'ordered' CondCode nodes.
Referring to Ordered means that neither operand is a QNAN we assume it is safe to match ex. SETLT node to the same
instruction as SETOLT.
What do you think about extending this test case to cover more new patterns?