reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3694 unsigned Len = Ty.getSizeInBits(); 3695 if (isSupported({TargetOpcode::G_CTLZ_ZERO_UNDEF, {Ty, Ty}})) { 3695 if (isSupported({TargetOpcode::G_CTLZ_ZERO_UNDEF, {Ty, Ty}})) { 3698 {Ty}, {SrcReg}); 3699 auto MIBZero = MIRBuilder.buildConstant(Ty, 0); 3700 auto MIBLen = MIRBuilder.buildConstant(Ty, Len); 3722 auto MIBShiftAmt = MIRBuilder.buildConstant(Ty, 1ULL << i); 3724 TargetOpcode::G_OR, {Ty}, 3725 {Op, MIRBuilder.buildInstr(TargetOpcode::G_LSHR, {Ty}, 3729 auto MIBPop = MIRBuilder.buildInstr(TargetOpcode::G_CTPOP, {Ty}, {Op}); 3731 {MIRBuilder.buildConstant(Ty, Len), MIBPop}); 3744 unsigned Len = Ty.getSizeInBits(); 3745 if (isSupported({TargetOpcode::G_CTTZ_ZERO_UNDEF, {Ty, Ty}})) { 3745 if (isSupported({TargetOpcode::G_CTTZ_ZERO_UNDEF, {Ty, Ty}})) { 3749 {Ty}, {SrcReg}); 3750 auto MIBZero = MIRBuilder.buildConstant(Ty, 0); 3751 auto MIBLen = MIRBuilder.buildConstant(Ty, Len); 3763 auto MIBCstNeg1 = MIRBuilder.buildConstant(Ty, -1); 3765 MIRBuilder.buildInstr(TargetOpcode::G_XOR, {Ty}, {SrcReg, MIBCstNeg1}); 3767 TargetOpcode::G_AND, {Ty}, 3768 {MIBNot, MIRBuilder.buildInstr(TargetOpcode::G_ADD, {Ty}, 3770 if (!isSupported({TargetOpcode::G_CTPOP, {Ty, Ty}}) && 3770 if (!isSupported({TargetOpcode::G_CTPOP, {Ty, Ty}}) && 3771 isSupported({TargetOpcode::G_CTLZ, {Ty, Ty}})) { 3771 isSupported({TargetOpcode::G_CTLZ, {Ty, Ty}})) { 3772 auto MIBCstLen = MIRBuilder.buildConstant(Ty, Len); 3776 MIRBuilder.buildInstr(TargetOpcode::G_CTLZ, {Ty}, {MIBTmp})});