diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-12-07 17:54:00 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-12-07 17:54:00 +0000 |
| commit | ba05d410955691637b3486646b3916c12582b95a (patch) | |
| tree | 26f61f834d69dcd7cdf738d53b360c73b6811055 /llvm/lib/CodeGen | |
| parent | 209b4632405ed2a84b446773ec29a6d482d445f1 (diff) | |
| download | bcm5719-llvm-ba05d410955691637b3486646b3916c12582b95a.tar.gz bcm5719-llvm-ba05d410955691637b3486646b3916c12582b95a.zip | |
[SelectionDAG] Add knownbits support for vector demandedelts in SMAX/SMIN/UMAX/UMIN opcodes
llvm-svn: 288926
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 35e5f7a526a..c6522101f66 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -2639,8 +2639,10 @@ void SelectionDAG::computeKnownBits(SDValue Op, APInt &KnownZero, case ISD::UMAX: { APInt Op0Zero, Op0One; APInt Op1Zero, Op1One; - computeKnownBits(Op.getOperand(0), Op0Zero, Op0One, Depth+1); - computeKnownBits(Op.getOperand(1), Op1Zero, Op1One, Depth+1); + computeKnownBits(Op.getOperand(0), Op0Zero, Op0One, DemandedElts, + Depth + 1); + computeKnownBits(Op.getOperand(1), Op1Zero, Op1One, DemandedElts, + Depth + 1); KnownZero = Op0Zero & Op1Zero; KnownOne = Op0One & Op1One; |

