================ @@ -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; ---------------- pow2clk wrote:
Justin's proposal didn't say explicitly, but linked to the [HLSL documentation ](https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-dot), which explicitly includes integers. In the discussion, there was an [explicit request](https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294/3) for integer versions that no one disapproved of there. 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