[clang] [llvm] [HLSL][DXIL][SPIRV] Create llvm dot intrinsic and use for HLSL (PR #102872)
Greg Roth via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 12 03:20:43 PDT 2024
================
@@ -1057,6 +1057,27 @@ def G_FTANH : GenericInstruction {
let hasSideEffects = false;
}
+/// Floating point vector dot product
+def G_FDOTPROD : GenericInstruction {
+ let OutOperandList = (outs type0:$dst);
+ let InOperandList = (ins type0:$src1, type0:$src2);
+ let hasSideEffects = false;
+}
+
+/// Signed integer vector dot product
+def G_SDOTPROD : GenericInstruction {
+ let OutOperandList = (outs type0:$dst);
+ let InOperandList = (ins type0:$src1, type0:$src2);
+ let hasSideEffects = false;
+}
+
+/// Unsigned integer vector dot product
+def G_UDOTPROD : GenericInstruction {
----------------
pow2clk wrote:
The unweildy names are because G_UDOT and G_SDOT clashed with existing AArch64 intrinsics that take three arguments as one is an accumulated inout parameter. https://github.com/llvm/llvm-project/blob/908c89e04b6019bdb08bb5f1c861af42046db623/llvm/lib/Target/AArch64/AArch64InstrGISel.td#L254
https://github.com/llvm/llvm-project/pull/102872
More information about the cfe-commits
mailing list