reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
5057 assert(VT == MVT::Other && N1.getValueType() == MVT::Other && 5067 if (SDValue V = FoldBUILD_VECTOR(DL, VT, Ops, *this)) 5073 if (SDValue V = foldCONCAT_VECTORS(DL, VT, Ops, *this)) 5078 assert(VT.isInteger() && "This operator does not apply to FP types!"); 5080 N1.getValueType() == VT && "Binary operator types must match!"); 5092 assert(VT.isInteger() && "This operator does not apply to FP types!"); 5094 N1.getValueType() == VT && "Binary operator types must match!"); 5115 assert(VT.isInteger() && "This operator does not apply to FP types!"); 5117 N1.getValueType() == VT && "Binary operator types must match!"); 5124 assert(VT.isFloatingPoint() && "This operator only applies to FP types!"); 5126 N1.getValueType() == VT && "Binary operator types must match!"); 5131 assert(N1.getValueType() == VT && 5144 assert(VT == N1.getValueType() && 5146 assert(VT.isInteger() && N2.getValueType().isInteger() && 5148 assert((!VT.isVector() || VT == N2.getValueType()) && 5148 assert((!VT.isVector() || VT == N2.getValueType()) && 5160 if (VT == MVT::i1) 5166 assert(VT.isFloatingPoint() && 5168 VT.bitsLE(N1.getValueType()) && 5171 if (N1.getValueType() == VT) return N1; // noop conversion. 5176 assert(VT == N1.getValueType() && "Not an inreg extend!"); 5177 assert(VT.isInteger() && EVT.isInteger() && 5182 assert(EVT.bitsLE(VT.getScalarType()) && "Not extending!"); 5183 if (VT.getScalarType() == EVT) return N1; // noop assertion. 5188 assert(VT == N1.getValueType() && "Not an inreg extend!"); 5189 assert(VT.isInteger() && EVT.isInteger() && 5191 assert(EVT.isVector() == VT.isVector() && 5195 EVT.getVectorNumElements() == VT.getVectorNumElements()) && 5197 assert(EVT.bitsLE(VT) && "Not extending!"); 5198 if (EVT == VT) return N1; // Not actually extending 5209 return SignExtendInReg(Val, VT); 5214 for (int i = 0, e = VT.getVectorNumElements(); i != e; ++i) { 5224 return getBuildVector(VT, DL, Ops); 5229 assert(VT.getSizeInBits() >= N1.getValueType().getScalarSizeInBits() && 5235 return getUNDEF(VT); 5239 return getUNDEF(VT); 5248 return getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, 5259 if (VT != Elt.getValueType()) 5263 Elt = getAnyExtOrTrunc(Elt, DL, VT); 5279 if (VT == N1.getOperand(1).getValueType()) 5282 return getSExtOrTrunc(N1.getOperand(1), DL, VT); 5285 return getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, N1.getOperand(0), N2); 5294 return getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, N1.getOperand(0), 5300 assert(!N1.getValueType().isVector() && !VT.isVector() && 5301 (N1.getValueType().isInteger() == VT.isInteger()) && 5302 N1.getValueType() != VT && 5313 unsigned ElementSize = VT.getSizeInBits(); 5316 return getConstant(ShiftedVal.trunc(ElementSize), DL, VT); 5320 if (VT.isSimple() && N1.getValueType().isSimple()) { 5321 assert(VT.isVector() && N1.getValueType().isVector() && 5323 assert(VT.getVectorElementType() == 5326 assert(VT.getSimpleVT() <= N1.getSimpleValueType() && 5330 assert((VT.getVectorNumElements() + N2C->getZExtValue() 5336 if (VT.getSimpleVT() == N1.getSimpleValueType()) 5341 return getUNDEF(VT); 5347 VT == N1.getOperand(0).getValueType()) { 5348 unsigned Factor = VT.getVectorNumElements(); 5355 VT == N1.getOperand(1).getValueType()) 5363 FoldConstantArithmetic(Opcode, DL, VT, N1.getNode(), N2.getNode())) 5366 if (SDValue V = foldConstantFPMath(Opcode, DL, VT, N1, N2)) 5377 return getUNDEF(VT); // fold op(undef, arg2) -> undef 5384 return getConstant(0, DL, VT); // fold op(undef, arg2) -> 0 5396 return getConstant(0, DL, VT); 5404 return getUNDEF(VT); // fold op(arg1, undef) -> undef 5409 return getConstant(0, DL, VT); // fold op(arg1, undef) -> 0 5413 return getAllOnesConstant(DL, VT); 5419 SDVTList VTs = getVTList(VT); 5421 if (VT != MVT::Glue) {