[clang] [llvm] [HLSL] [DXIL] Implement the `AddUint64` HLSL function and the `UAddc` DXIL op (PR #125319)

Finn Plummer via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 3 09:30:05 PST 2025


================
@@ -2023,6 +2024,18 @@ static bool CheckAllArgsHaveFloatRepresentation(Sema *S, CallExpr *TheCall) {
                                     checkAllFloatTypes);
 }
 
+static bool CheckUnsignedIntegerRepresentation(Sema *S, CallExpr *TheCall) {
+  auto checkUnsignedInteger = [](clang::QualType PassedType) -> bool {
+    clang::QualType BaseType =
+        PassedType->isVectorType()
+            ? PassedType->getAs<clang::VectorType>()->getElementType()
+            : PassedType;
+    return !BaseType->isUnsignedIntegerType();
----------------
inbelic wrote:

I am not 100% sure how restrictive this is, but I don't think it would allow passing an `int32_t2` as a parameter, even if that could be implicitly cast in. Maybe we could also add a check that the integer is 32 bits here?

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


More information about the llvm-commits mailing list