================ @@ -18470,22 +18470,14 @@ llvm::Value *CodeGenFunction::EmitScalarOrConstFoldImmArg(unsigned ICEArguments, return Arg; } -Intrinsic::ID getDotProductIntrinsic(QualType QT, int elementCount) { - if (QT->hasFloatingRepresentation()) { - switch (elementCount) { - case 2: - return Intrinsic::dx_dot2; - case 3: - return Intrinsic::dx_dot3; - case 4: - return Intrinsic::dx_dot4; - } - } - if (QT->hasSignedIntegerRepresentation()) - return Intrinsic::dx_sdot; - - assert(QT->hasUnsignedIntegerRepresentation()); - return Intrinsic::dx_udot; +// Return dot product intrinsic that corresponds to the QT scalar type +Intrinsic::ID getDotProductIntrinsic(QualType QT) { + if (QT->isFloatingType()) + return Intrinsic::fdot; + if (QT->isSignedIntegerType()) + return Intrinsic::sdot; ---------------- farzonl wrote:
I don't think we want to do an llvm dot intrinsic for integers. I'm pretty sure the RFC just covered the float case. I would instead do `CGM.getHLSLRuntime().getSDotIntrinsic()` https://github.com/llvm/llvm-project/pull/102872 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits