Lines Matching defs:Op

50 bool isMaskArithmetic(SDValue Op) {
51 switch (Op.getOpcode()) {
57 return isMaskType(Op.getValueType());
85 bool maySafelyIgnoreMask(SDValue Op) {
86 auto VVPOpc = getVVPOpcode(Op->getOpcode());
87 auto Opc = VVPOpc.value_or(Op->getOpcode());
165 // Return the AVL operand position for this VVP or VEC Op.
218 SDValue getNodeChain(SDValue Op) {
219 if (MemSDNode *MemN = dyn_cast<MemSDNode>(Op.getNode()))
222 switch (Op->getOpcode()) {
225 return Op->getOperand(0);
230 SDValue getMemoryPtr(SDValue Op) {
231 if (auto *MemN = dyn_cast<MemSDNode>(Op.getNode()))
234 switch (Op->getOpcode()) {
236 return Op->getOperand(1);
238 return Op->getOperand(2);
243 std::optional<EVT> getIdiomaticVectorType(SDNode *Op) {
244 unsigned OC = Op->getOpcode();
247 if (auto MemN = dyn_cast<MemSDNode>(Op))
258 return Op->getValueType(0);
267 return Op->getOperand(hasReductionStartParam(OriginalOC) ? 1 : 0)
273 return Op->getOperand(0).getValueType();
278 return Op->getValueType(0);
281 return Op->getValueType(0);
284 return Op->getOperand(1)->getValueType(0);
288 return Op->getValueType(0);
292 SDValue getLoadStoreStride(SDValue Op, VECustomDAG &CDAG) {
293 switch (Op->getOpcode()) {
295 return Op->getOperand(3);
297 return Op->getOperand(2);
300 if (auto *StoreN = dyn_cast<VPStridedStoreSDNode>(Op.getNode()))
302 if (auto *StoreN = dyn_cast<VPStridedLoadSDNode>(Op.getNode()))
305 if (isa<MemSDNode>(Op.getNode())) {
308 uint64_t ElemStride = getIdiomaticVectorType(Op.getNode())
316 SDValue getGatherScatterIndex(SDValue Op) {
317 if (auto *N = dyn_cast<MaskedGatherScatterSDNode>(Op.getNode()))
319 if (auto *N = dyn_cast<VPGatherScatterSDNode>(Op.getNode()))
324 SDValue getGatherScatterScale(SDValue Op) {
325 if (auto *N = dyn_cast<MaskedGatherScatterSDNode>(Op.getNode()))
327 if (auto *N = dyn_cast<VPGatherScatterSDNode>(Op.getNode()))
332 SDValue getStoredValue(SDValue Op) {
333 switch (Op->getOpcode()) {
336 return Op->getOperand(1);
338 if (auto *StoreN = dyn_cast<StoreSDNode>(Op.getNode()))
340 if (auto *StoreN = dyn_cast<MaskedStoreSDNode>(Op.getNode()))
342 if (auto *StoreN = dyn_cast<VPStridedStoreSDNode>(Op.getNode()))
344 if (auto *StoreN = dyn_cast<VPStoreSDNode>(Op.getNode()))
346 if (auto *StoreN = dyn_cast<MaskedScatterSDNode>(Op.getNode()))
348 if (auto *StoreN = dyn_cast<VPScatterSDNode>(Op.getNode()))
353 SDValue getNodePassthru(SDValue Op) {
354 if (auto *N = dyn_cast<MaskedLoadSDNode>(Op.getNode()))
356 if (auto *N = dyn_cast<MaskedGatherSDNode>(Op.getNode()))
385 SDValue getNodeAVL(SDValue Op) {
386 auto PosOpt = getAVLPos(Op->getOpcode());
387 return PosOpt ? Op->getOperand(*PosOpt) : SDValue();
390 SDValue getNodeMask(SDValue Op) {
391 auto PosOpt = getMaskPos(Op->getOpcode());
392 return PosOpt ? Op->getOperand(*PosOpt) : SDValue();
395 std::pair<SDValue, bool> getAnnotatedNodeAVL(SDValue Op) {
396 SDValue AVL = getNodeAVL(Op);