================ @@ -106,3 +106,59 @@ void IntrinsicLaneMaskAnalyzer::findLCSSAPhi(Register Reg) { S32S64LaneMask.insert(LCSSAPhi.getOperand(0).getReg()); } } + +static LLT getReadAnyLaneSplitTy(LLT Ty) { + if (Ty.isVector()) { + LLT ElTy = Ty.getElementType(); + if (ElTy == LLT::scalar(16)) + return LLT::fixed_vector(2, 16); + // S32, S64 or pointer + return ElTy; + } + + // Large scalars and 64-bit pointers + return LLT::scalar(32); +} + +static Register buildReadAnyLane(MachineIRBuilder &B, Register VgprSrc, ---------------- petar-avramovic wrote:
there is circular dependency between buildReadAnyLane and unmergeReadAnyLane https://github.com/llvm/llvm-project/pull/112864 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits