================ @@ -504,6 +504,15 @@ static VPValue *createScalarIVSteps(VPlan &Plan, const InductionDescriptor &ID, HeaderVPBB->insert(BaseIV->getDefiningRecipe(), IP); } + VPTypeAnalysis TypeInfo(SE.getContext()); + if (TypeInfo.inferScalarType(BaseIV) != TypeInfo.inferScalarType(Step)) { + Step = new VPScalarCastRecipe(Instruction::Trunc, Step, ---------------- fhahn wrote:
Yes, here the only use-case is `Trunc`, but the implementation of the recipe is intentionally kept generic for any cast where only the first lane is used, so it can be used directly in #76172 https://github.com/llvm/llvm-project/pull/78113 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits