summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-02-05 23:57:01 +0000
committerCraig Topper <craig.topper@intel.com>2018-02-05 23:57:01 +0000
commit9c6c7c5e9bcc00c02044ed9cb526c2dd72b49bb2 (patch)
treeae60d0ec9488c7aa43bdd4429b26dbc6b20d8b4a /llvm/lib/Target
parentd9a97a20c033217bff0ac16c426f72b6339aa3f1 (diff)
downloadbcm5719-llvm-9c6c7c5e9bcc00c02044ed9cb526c2dd72b49bb2.tar.gz
bcm5719-llvm-9c6c7c5e9bcc00c02044ed9cb526c2dd72b49bb2.zip
[X86] Relax restrictions on what setcc condition codes can be folded with a sext when AVX512 is enabled.
We now allow all signed comparisons and not equal. The complement that needs to be added for this is no worse than the extend. And the vector output forms of pcmpeq/pcmpgt have better latency than the k-register version on SKX. llvm-svn: 324294
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 5df78fe3e5c..9e5cb113ac6 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -36118,8 +36118,7 @@ static SDValue combineExtSetcc(SDNode *N, SelectionDAG &DAG,
// Don't fold if the condition code can't be handled by PCMPEQ/PCMPGT since
// that's the only integer compares with we have.
ISD::CondCode CC = cast<CondCodeSDNode>(N0->getOperand(2))->get();
- if (ISD::isUnsignedIntSetCC(CC) || CC == ISD::SETLE || CC == ISD::SETGE ||
- CC == ISD::SETNE)
+ if (ISD::isUnsignedIntSetCC(CC))
return SDValue();
// Only do this combine if the extension will be fully consumed by the setcc.
OpenPOWER on IntegriCloud