<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/62412>62412</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [X86] decoding VMOVPQIto64Zmr returns different offset than intelxed
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          mur47x111
      </td>
    </tr>
</table>

<pre>
    ```
$ xed -64 -A  -de "62 e1 fd 08 7e 5a 7f"
SHORT:      vmovqq  %xmm19, 0x3f8(%rdx)
$ echo "0x62 0xe1 0xfd 0x08 0x7e 0x5a 0x7f" | llvm-mc -disassemble --print-imm-hex
        vmovq   %xmm19, 0x7f0(%rdx)
```

I think the definition lacks the tuple, and the displacement scaling factor defaults to 16. The following may address the issue:
```
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td
index af8656cc7d7b..d20f00466a34 100644
--- a/llvm/lib/Target/X86/X86InstrAVX512.td
+++ b/llvm/lib/Target/X86/X86InstrAVX512.td
@@ -4068,7 +4068,7 @@ def VMOVPQIto64Zrr : I<0x7E, MRMDestReg, (outs GR64:$dst), (ins VR128X:$src),
 let isCodeGenOnly = 1, ForceDisassemble = 1, hasSideEffects = 0, mayStore = 1 in
 def VMOVPQIto64Zmr : I<0x7E, MRMDestMem, (outs), (ins i64mem:$dst, VR128X:$src),
                       "vmovq\t{$src, $dst|$dst, $src}", []>, PD,
-                      EVEX, REX_W, Sched<[WriteVecStore]>,
+ EVEX, REX_W, EVEX_CD8<64, CD8VT1>, Sched<[WriteVecStore]>,
                       Requires<[HasAVX512, In64BitMode]>;
 
 def VMOVPQI2QIZmr : I<0xD6, MRMDestMem, (outs),
```

Encoding should be fine -- it selects `VMOVPQI2QIZmr`
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVV1zmzoT_jXyzQ4eIYTAF76IwW59kUnrZNzMe9MRaDF6y0ciiRzy788InM-mPafHw2Ch1T77rHb1SFqrTx3imsQbEucLObi6N-t2MDwZwzBcFL16XBNBzw_NCb0gjMOICgLBIbgACBQCYUwwwBAqBTSFBCGWkFSEsdnn-vPV4YZEFzD9Htr-4f4egLB4bNtwRVgGdIyqlLCUsNiokbDVSzAs695HoKNgQEcMgY4-zkhToGOCQMdY-pGPByTJoGke2qAtIVDaSmuxLRqEILgzunOBbtugxnHGB3hFCd5TSir6AaV32zG99-Bq3f0AVyMorHSnne47aGT5w06Tbrhr0KPKTs2rtL1rZIktdg5sKRvdnaCSpeuNR5BD4yy4HkKxhJsaoeqbpv_LL2rlI0ilDNoZWls7IIkuPqSndFVBEJy0A0nYzu-M_9MFYbsbaU7oCNvdpmJ-7zvrzMXxNg7Z0iko_tRjjqk7hSPIKhWxKMtEJcVyqRitKOVCyIhDSKngfF4cBMGfM3tqjs38_FeihFPCKQScipSwLAHCNi_j2aiwguPl1fHL173rBf-fMeAbeU-ijI7J1pf08nCZo3UHPPkvwtJ-cBY-HQT3VWFcWee7Z7bpzsLxELL0djZaU87Gc0M26EDbrFf4CburrnkEEuUQeu9db0rMX7X0s6WW9lor3FYVls5O89TPt_Lx2vXmvBJ0dw7yPqn2l0ldYvsqqbdpaMFbbF_lmP02s49_hLHp8JE4cyTZPPn5IBNokr2gn41J7oXFf0-yRaKJ8Jf8OVTwcajtcXvrVx62t9-_-cF1WaMiUUbizTejHR6xnLbrGfS5z3729RPfszwlUSa4n8jy9HgTnsn8S-Rf7MkB7wdt0M4An6Wd-9YD7zvBN9pd9uoJK9qcsX6uLfu6f1vaXPxDaX8jcduu7JXXH1v3Q6OgQKh053UVtAOLzdx6gr4JTgRdqHWkVtFKLnAdipQJFgkRLuq1YlVcMl6VPBGh4HFRrgpWpEVVxCuponCh14yyiHKWhCuW8HAZ01KFQmCSpiUqHhFOsZW6WfrDv-zNaTGJ4VowHrJFIwts7NPlZtbTtVAMJ0s4bbR19sXNaddM16DXizgHhedk350Sg24wnQUvq2i8dPdVZdGBq2UHunPYjKgWg2nWtXN3djoJO8J2J-3qoViWfftKqjyfO9P_H0svVRN1S9huYv93AAAA___goiNL">