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

References

lib/Target/X86/X86ISelLowering.cpp
42968     unsigned IndexWidth = Index.getScalarValueSizeInBits();
42977     if (auto *BV = dyn_cast<BuildVectorSDNode>(Index)) {
42979           DAG.ComputeNumSignBits(Index) > (IndexWidth - 32)) {
42980         unsigned NumElts = Index.getValueType().getVectorNumElements();
42982         Index = DAG.getNode(ISD::TRUNCATE, DL, NewVT, Index);
42982         Index = DAG.getNode(ISD::TRUNCATE, DL, NewVT, Index);
42985                             Mask, Base, Index, Scale } ;
42993                           Mask, Base, Index, Scale };
43004     if ((Index.getOpcode() == ISD::SIGN_EXTEND ||
43005          Index.getOpcode() == ISD::ZERO_EXTEND) &&
43007         Index.getOperand(0).getScalarValueSizeInBits() <= 32 &&
43008         DAG.ComputeNumSignBits(Index) > (IndexWidth - 32)) {
43009       unsigned NumElts = Index.getValueType().getVectorNumElements();
43011       Index = DAG.getNode(ISD::TRUNCATE, DL, NewVT, Index);
43011       Index = DAG.getNode(ISD::TRUNCATE, DL, NewVT, Index);
43014                           Mask, Base, Index, Scale } ;
43022                         Mask, Base, Index, Scale };
43031     unsigned IndexWidth = Index.getScalarValueSizeInBits();
43037                                    Index.getValueType().getVectorNumElements());
43038       Index = DAG.getSExtOrTrunc(Index, DL, IndexVT);
43038       Index = DAG.getSExtOrTrunc(Index, DL, IndexVT);
43041                           Mask, Base, Index, Scale } ;
43049                         Mask, Base, Index, Scale };