Lines Matching defs:CTTZ
655 setOperationAction(ISD::CTTZ, MVT::i32, Legal);
656 setOperationAction(ISD::CTTZ, MVT::i64, Legal);
657 setOperationAction(ISD::CTTZ, MVT::i128, Expand);
1337 setOperationAction(ISD::CTTZ, VT, Expand);
1435 setOperationAction(ISD::CTTZ, VT, Custom);
1713 setOperationAction(ISD::CTTZ, MVT::v1i64, Custom);
1735 setOperationAction(ISD::CTTZ, VT, Custom);
2047 setOperationAction(ISD::CTTZ, VT, Default);
7030 case ISD::CTTZ:
23695 SDValue Zero, CTTZ;
23699 CTTZ = N->getOperand(1);
23702 CTTZ = N->getOperand(0);
23706 if ((CTTZ.getOpcode() != ISD::CTTZ && CTTZ.getOpcode() != ISD::TRUNCATE) ||
23707 (CTTZ.getOpcode() == ISD::TRUNCATE &&
23708 CTTZ.getOperand(0).getOpcode() != ISD::CTTZ))
23711 assert((CTTZ.getValueType() == MVT::i32 || CTTZ.getValueType() == MVT::i64) &&
23712 "Illegal type in CTTZ folding");
23717 SDValue X = CTTZ.getOpcode() == ISD::TRUNCATE
23718 ? CTTZ.getOperand(0).getOperand(0)
23719 : CTTZ.getOperand(0);
23724 unsigned BitWidth = CTTZ.getOpcode() == ISD::TRUNCATE
23725 ? CTTZ.getOperand(0).getValueSizeInBits()
23726 : CTTZ.getValueSizeInBits();
23728 DAG.getConstant(BitWidth - 1, SDLoc(N), CTTZ.getValueType());
23729 return DAG.getNode(ISD::AND, SDLoc(N), CTTZ.getValueType(), CTTZ,
24452 return DAG.getNode(ISD::CTTZ, DL, BR.getValueType(), BR.getOperand(0));