================
@@ -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
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to