instrs: Fixup register decoding for PEXTR*

This commit is contained in:
Alexis Engelke
2021-01-10 12:08:47 +01:00
parent a81582cc3a
commit e86ea540b5
2 changed files with 12 additions and 9 deletions

View File

@@ -824,8 +824,10 @@ NP.0f38f9/m MR MEM GP - - MOVDIRI
66.0f3a0d RMI XMM XMM IMM8 - SSE_BLENDPD 66.0f3a0d RMI XMM XMM IMM8 - SSE_BLENDPD
66.0f3a0e RMI XMM XMM IMM8 - SSE_PBLENDW 66.0f3a0e RMI XMM XMM IMM8 - SSE_PBLENDW
66.0f3a0f RMI XMM XMM IMM8 - SSE_PALIGNR 66.0f3a0f RMI XMM XMM IMM8 - SSE_PALIGNR
66.0f3a14 MRI GP8 XMM IMM8 - SSE_PEXTRB 66.0f3a14/m MRI GP8 XMM IMM8 - SSE_PEXTRB
66.0f3a15 MRI GP16 XMM IMM8 - SSE_PEXTRW 66.0f3a14/r MRI GP32 XMM IMM8 - SSE_PEXTRB
66.0f3a15/m MRI GP16 XMM IMM8 - SSE_PEXTRW
66.0f3a15/r MRI GP32 XMM IMM8 - SSE_PEXTRW
66.W0.0f3a16 MRI GP32 XMM IMM8 - SSE_PEXTRD 66.W0.0f3a16 MRI GP32 XMM IMM8 - SSE_PEXTRD
66.W1.0f3a16 MRI GP64 XMM IMM8 - SSE_PEXTRQ 66.W1.0f3a16 MRI GP64 XMM IMM8 - SSE_PEXTRQ
66.0f3a17 MRI GP32 XMM IMM8 - SSE_EXTRACTPS 66.0f3a17 MRI GP32 XMM IMM8 - SSE_EXTRACTPS
@@ -1216,9 +1218,10 @@ VEX.66.0f3a0c RVMI XMM XMM XMM IMM8 VBLENDPS
VEX.66.0f3a0d RVMI XMM XMM XMM IMM8 VBLENDPD VEX.66.0f3a0d RVMI XMM XMM XMM IMM8 VBLENDPD
VEX.66.0f3a0e RVMI XMM XMM XMM IMM8 VPBLENDW VEX.66.0f3a0e RVMI XMM XMM XMM IMM8 VPBLENDW
VEX.66.0f3a0f RVMI XMM XMM XMM IMM8 VPALIGNR VEX.66.0f3a0f RVMI XMM XMM XMM IMM8 VPALIGNR
VEX.66.WIG.L0.0f3a14 MRI GP8 XMM IMM8 - VPEXTRB ENC_NOSZ VEX.66.WIG.L0.0f3a14/m MRI GP8 XMM IMM8 - VPEXTRB ENC_NOSZ
# TODO: also WIG for PEXTRW? VEX.66.WIG.L0.0f3a14/r MRI GP32 XMM IMM8 - VPEXTRB ENC_NOSZ
VEX.66.WIG.L0.0f3a15 MRI GP16 XMM IMM8 - VPEXTRW ENC_NOSZ VEX.66.WIG.L0.0f3a15/m MRI GP16 XMM IMM8 - VPEXTRW ENC_NOSZ
VEX.66.WIG.L0.0f3a15/r MRI GP32 XMM IMM8 - VPEXTRW ENC_NOSZ
VEX.66.W0.L0.0f3a16 MRI GP XMM IMM8 - VPEXTRD ENC_NOSZ VEX.66.W0.L0.0f3a16 MRI GP XMM IMM8 - VPEXTRD ENC_NOSZ
VEX.66.W1.L0.0f3a16 MRI GP XMM IMM8 - VPEXTRD ONLY32 ENC_NOSZ VEX.66.W1.L0.0f3a16 MRI GP XMM IMM8 - VPEXTRD ONLY32 ENC_NOSZ
VEX.66.W1.L0.0f3a16 MRI GP XMM IMM8 - VPEXTRQ ONLY64 ENC_NOSZ VEX.66.W1.L0.0f3a16 MRI GP XMM IMM8 - VPEXTRQ ONLY64 ENC_NOSZ

View File

@@ -334,10 +334,10 @@ main(int argc, char** argv)
TEST32("\xc4\xe1\xf2\x2a\xc0", "vcvtsi2ss xmm0, xmm1, eax"); TEST32("\xc4\xe1\xf2\x2a\xc0", "vcvtsi2ss xmm0, xmm1, eax");
TEST64("\xc4\xe1\xf2\x2a\xc0", "vcvtsi2ss xmm0, xmm1, rax"); TEST64("\xc4\xe1\xf2\x2a\xc0", "vcvtsi2ss xmm0, xmm1, rax");
TEST("\xc4\xe3\x79\x14\xc0\x00", "vpextrb al, xmm0, 0x0"); TEST("\xc4\xe3\x79\x14\xc0\x00", "vpextrb eax, xmm0, 0x0");
TEST("\xc4\xe3\xf9\x14\xc0\x00", "vpextrb al, xmm0, 0x0"); TEST("\xc4\xe3\xf9\x14\xc0\x00", "vpextrb eax, xmm0, 0x0");
TEST("\xc4\xe3\x79\x15\xc0\x00", "vpextrw ax, xmm0, 0x0"); TEST("\xc4\xe3\x79\x15\xc0\x00", "vpextrw eax, xmm0, 0x0");
TEST("\xc4\xe3\xf9\x15\xc0\x00", "vpextrw ax, xmm0, 0x0"); TEST("\xc4\xe3\xf9\x15\xc0\x00", "vpextrw eax, xmm0, 0x0");
TEST32("\xc4\xe1\x79\xc5\xc0\x00", "vpextrw eax, xmm0, 0x0"); TEST32("\xc4\xe1\x79\xc5\xc0\x00", "vpextrw eax, xmm0, 0x0");
TEST64("\xc4\xe1\x79\xc5\xc0\x00", "vpextrw rax, xmm0, 0x0"); TEST64("\xc4\xe1\x79\xc5\xc0\x00", "vpextrw rax, xmm0, 0x0");
TEST("\xc4\xe3\x79\x16\xc0\x00", "vpextrd eax, xmm0, 0x0"); TEST("\xc4\xe3\x79\x16\xc0\x00", "vpextrd eax, xmm0, 0x0");