[PATCH] D38786: Fix for Bug 30718 - Failure to disassemble certain MOV with rex.R

Andrew V. Tischenko via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 16 04:30:56 PDT 2017


avt77 added inline comments.


================
Comment at: lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp:1487
+      index = regFromModRM(insn->modRM);                  \
       if (index > 5)                                      \
         *valid = 0;                                       \
----------------
craig.topper wrote:
> I think the correct fix is to change this to "if ((index & 0x7) > 5)" We shouldn't be resampling modRM.
I thought about such a variant but on the other hand all other values of modRM could fail segment index. If you insist I'll use your variant of the fix but please say it again.


https://reviews.llvm.org/D38786





More information about the llvm-commits mailing list