reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/GlobalISel/LegalizerHelper.cpp
 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})});