forked from OSchip/llvm-project
Fix a FIXME: use an apint in CTTZ legalization.
llvm-svn: 53406
This commit is contained in:
parent
e78352a125
commit
303524be58
|
@ -363,9 +363,9 @@ SDOperand DAGTypeLegalizer::PromoteIntRes_CTTZ(SDNode *N) {
|
||||||
// The count is the same in the promoted type except if the original
|
// The count is the same in the promoted type except if the original
|
||||||
// value was zero. This can be handled by setting the bit just off
|
// value was zero. This can be handled by setting the bit just off
|
||||||
// the top of the original type.
|
// the top of the original type.
|
||||||
Op = DAG.getNode(ISD::OR, NVT, Op,
|
APInt TopBit(NVT.getSizeInBits(), 0);
|
||||||
// FIXME: Do this using an APINT constant.
|
TopBit.set(OVT.getSizeInBits());
|
||||||
DAG.getConstant(1UL << OVT.getSizeInBits(), NVT));
|
Op = DAG.getNode(ISD::OR, NVT, Op, DAG.getConstant(TopBit, NVT));
|
||||||
return DAG.getNode(ISD::CTTZ, NVT, Op);
|
return DAG.getNode(ISD::CTTZ, NVT, Op);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue