[PATCH] D136596: [X86] Update LiveVariables in more cases in convertToThreeAddress

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 31 02:25:29 PDT 2022


foad added inline comments.


================
Comment at: llvm/lib/Target/X86/X86InstrInfo.cpp:1699
               .add(MI.getOperand(7));
+    NumRegOperands = 4;
     break;
----------------
yubing wrote:
> seems it should be "NumRegOperands = 3"
> the 3rd operand of VPBROADCASTDZrmk is i32mem:$src instead of a register.
It needs to be at least 4 for some other opcodes like:
```
%4:vr512 = VBLENDMPSZrmk killed %3:vk16wm, killed %2:vr512, killed %1:gr64, 1, $noreg, 0, $noreg
```
Is this causing a problem? If so, maybe the loop at line 1769 needs an `Op.isReg()` check.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136596/new/

https://reviews.llvm.org/D136596



More information about the llvm-commits mailing list