[clang] [clang-tools-extra] [llvm] [HLSL] Vector standard conversions (PR #71098)

John McCall via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 19 11:57:37 PST 2023


================
@@ -4763,6 +4763,20 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType,
                              CK_ZeroToOCLOpaqueType,
                              From->getValueKind()).get();
     break;
+  case ICK_HLSL_Vector_Truncation: {
+    // Note: HLSL vectors are ExtVectors. Since this truncates a vector to a
+    // smaller vector, this can only operate on arguments where the source and
+    // destination types are ExtVectors.
----------------
rjmccall wrote:

Do you actually forbid the creation of non-ExtVector types with attributes, or is it just that HLSL vector syntax normally makes ExtVectors?  Because I don't think your conversion handling code makes a distinction.

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


More information about the cfe-commits mailing list