================
@@ -1974,6 +1974,15 @@ GCNTTIImpl::instCombineIntrinsic(InstCombiner &IC,
IntrinsicInst &II) const {
case Intrinsic::amdgcn_udot4:
case Intrinsic::amdgcn_sdot8:
case Intrinsic::amdgcn_udot8: {
+ Value *Src0 = II.getArgOperand(0);
+ Value *Src1 = II.getArgOperand(1);
+
+ if (isa<Constant>(Src0) && !isa<Constant>(Src1)) {
+ II.setArgOperand(0, Src1);
+ II.setArgOperand(1, Src0);
+ return &II;
----------------
harrisonGPU wrote:
Thanks, I’d prefer to keep this as a separate canonicalization step and let
InstCombine revisit the modified instruction from the worklist.
For example this function: `canonicalizeConstantArg0ToArg1`
https://github.com/llvm/llvm-project/pull/225083
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits