diff options
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 4 | 
1 files changed, 4 insertions, 0 deletions
| diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index 3a29424d070..477cf093f10 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -2389,6 +2389,7 @@ SDValue SelectionDAGLegalize::ExpandBSWAP(SDValue Op, DebugLoc dl) {  }  /// SplatByte - Distribute ByteVal over NumBits bits. +// FIXME: Move this helper to a common place.  static APInt SplatByte(unsigned NumBits, uint8_t ByteVal) {    APInt Val = APInt(NumBits, ByteVal);    unsigned Shift = 8; @@ -2410,6 +2411,9 @@ SDValue SelectionDAGLegalize::ExpandBitCount(unsigned Opc, SDValue Op,      EVT ShVT = TLI.getShiftAmountTy();      unsigned Len = VT.getSizeInBits(); +    assert(VT.isInteger() && Len <= 128 && Len % 8 == 0 && +           "CTPOP not implemented for this type."); +      // This is the "best" algorithm from      // http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel | 

