================
@@ -1422,6 +1424,9 @@ Value *ScalarExprEmitter::EmitScalarConversion(Value
*Src, QualType SrcType,
return Builder.CreateVectorSplat(NumElements, Src, "splat");
}
+ if (SrcType->isExtVectorType() && DstType->isExtVectorType())
+ return EmitVectorElementConversion(SrcType, DstType, Src);
----------------
efriedma-quic wrote:
EmitScalarConversion is a mess; we have cast kinds, but we never taught this
part of CodeGen to use them, so it just guesses the cast kind based on the
source and destination types. This is particularly bad for vectors, since it's
often possible to cast them in multiple different ways; I'm not confident this
change won't have unintended side-effects. Please fix the code for the
relevant cast kinds to avoid going through EmitScalarConversion.
https://github.com/llvm/llvm-project/pull/71098
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits