================
@@ -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