[clang] [HLSL] Vector standard conversions (PR #71098)

John McCall via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 13 16:02:25 PST 2023


================
@@ -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);
----------------
rjmccall wrote:

Yeah, I believe the reason we still have this whole analysis in `EmitScalarConversion` is, sadly enough, just to deal with the LHS and final result of a compound assignment expression, which we don't have `CastKind`s for.  The more we can get away from relying on this, the better.

https://github.com/llvm/llvm-project/pull/71098


More information about the cfe-commits mailing list