[llvm-branch-commits] [llvm] AMDGPU: Codegen for v_dual_dot2acc_f32_f16/bf16 from VOP3 (PR #179226)

Joe Nash via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Mar 23 08:42:51 PDT 2026


================
@@ -838,20 +841,24 @@ class ComponentLayout {
   const ComponentKind Kind;
   const ComponentProps PrevComp;
   const unsigned VOPD3ModsNum;
-  const int BitOp3Idx; // Index of bitop3 operand or -1
+  const int BitOp3Idx;    // Index of bitop3 operand or -1
+  const bool IsVOP3PDot2; // True for V_DOT2_F32_F16 / V_DOT2_F32_BF16
 
 public:
   // Create layout for COMPONENT_X or SINGLE component.
-  ComponentLayout(ComponentKind Kind, unsigned VOPD3ModsNum, int BitOp3Idx)
-      : Kind(Kind), VOPD3ModsNum(VOPD3ModsNum), BitOp3Idx(BitOp3Idx) {
+  ComponentLayout(ComponentKind Kind, unsigned VOPD3ModsNum, int BitOp3Idx,
+                  bool IsVOP3PDot2 = false)
+      : Kind(Kind), VOPD3ModsNum(VOPD3ModsNum), BitOp3Idx(BitOp3Idx),
+        IsVOP3PDot2(IsVOP3PDot2) {
----------------
Sisyph wrote:

It less maintainable to keep adding more class members for specific instructions. Does it make sense to rename VOPD3ModsNum to VOP3ModsNum, and handle dual_dot2c generically as a VOP3? @rampitec 

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


More information about the llvm-branch-commits mailing list