summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>2019-02-21 02:58:00 +0000
committerStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>2019-02-21 02:58:00 +0000
commit42e229e13082a5dfb39aa43b40a8d7c75df92770 (patch)
tree1be42eae845fbe619b9b552aa37c91c6b2f85ab2 /llvm/lib/Target
parent500606f270ffcbdc199ee581fb2147700a7bb139 (diff)
downloadbcm5719-llvm-42e229e13082a5dfb39aa43b40a8d7c75df92770.tar.gz
bcm5719-llvm-42e229e13082a5dfb39aa43b40a8d7c75df92770.zip
[AMDGPU] fix commuted case of sub combine
Differential Revision: https://reviews.llvm.org/D58481 llvm-svn: 354543
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/AMDGPU/SIISelLowering.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
index 44edd6d1295..96eb619497b 100644
--- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
@@ -8616,14 +8616,10 @@ SDValue SITargetLowering::performSubCombine(SDNode *N,
SDValue LHS = N->getOperand(0);
SDValue RHS = N->getOperand(1);
- unsigned Opc = LHS.getOpcode();
- if (Opc != ISD::SUBCARRY)
- std::swap(RHS, LHS);
-
if (LHS.getOpcode() == ISD::SUBCARRY) {
// sub (subcarry x, 0, cc), y => subcarry x, y, cc
auto C = dyn_cast<ConstantSDNode>(LHS.getOperand(1));
- if (!C || C->getZExtValue() != 0)
+ if (!C || !C->isNullValue())
return SDValue();
SDValue Args[] = { LHS.getOperand(0), RHS, LHS.getOperand(2) };
return DAG.getNode(ISD::SUBCARRY, SDLoc(N), LHS->getVTList(), Args);
OpenPOWER on IntegriCloud