Lines Matching defs:S0
271 // inselt <2 x i32> V, <i32> S, 1: |V0|V1|V2|V3|S0|S1|S2|S3|
2463 auto *S0 = dyn_cast<Instruction>(Shuf.getOperand(0));
2465 if (!S0 || !match(S0, m_CombineOr(m_FNeg(m_Value(X)), m_FAbs(m_Value(X)))))
2468 bool IsFNeg = S0->getOpcode() == Instruction::FNeg;
2472 if (S0->hasOneUse() && match(Shuf.getOperand(1), m_Poison())) {
2475 return UnaryOperator::CreateFNegFMF(NewShuf, S0);
2480 NewF->setFastMathFlags(S0->getFastMathFlags());
2488 S0->getOpcode() != S1->getOpcode() ||
2489 (!S0->hasOneUse() && !S1->hasOneUse()))
2502 NewF->copyIRFlags(S0);