[nasm:nasm-2.15.xx] insns.dat: get rid of the X64 marker (= X86_64,LONG)
nasm-bot for H. Peter Anvin
hpa at zytor.com
Fri Jul 17 19:30:03 PDT 2020
Commit-ID: 6c1ad43d5e0874ab867678613c157b62bdb3251e
Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=6c1ad43d5e0874ab867678613c157b62bdb3251e
Author: H. Peter Anvin <hpa at zytor.com>
AuthorDate: Fri, 17 Jul 2020 19:25:19 -0700
Committer: H. Peter Anvin <hpa at zytor.com>
CommitDate: Fri, 17 Jul 2020 19:25:19 -0700
insns.dat: get rid of the X64 marker (= X86_64,LONG)
The X64 marker for "X86_64,LONG" has turned out to be a problem in
that it is easy to mistake for "long mode" when adding new
instructions, which results in duplicate CPU flags. Kill it off; it
isn't like we will legitimately have new instructions with this
pattern ever again.
Signed-off-by: H. Peter Anvin (Intel) <hpa at zytor.com>
---
x86/insns.dat | 804 ++++++++++++++++++++++++++++++----------------------------
x86/insns.pl | 8 +-
2 files changed, 419 insertions(+), 393 deletions(-)
diff --git a/x86/insns.dat b/x86/insns.dat
index 141d68b3..98dbc584 100644
--- a/x86/insns.dat
+++ b/x86/insns.dat
@@ -81,33 +81,33 @@ ADC mem,reg16 [mr: hle o16 11 /r] 8086,SM,LOCK
ADC reg16,reg16 [mr: o16 11 /r] 8086
ADC mem,reg32 [mr: hle o32 11 /r] 386,SM,LOCK
ADC reg32,reg32 [mr: o32 11 /r] 386
-ADC mem,reg64 [mr: hle o64 11 /r] X64,SM,LOCK
-ADC reg64,reg64 [mr: o64 11 /r] X64
+ADC mem,reg64 [mr: hle o64 11 /r] X86_64,LONG,SM,LOCK
+ADC reg64,reg64 [mr: o64 11 /r] X86_64,LONG
ADC reg8,mem [rm: 12 /r] 8086,SM
ADC reg8,reg8 [rm: 12 /r] 8086
ADC reg16,mem [rm: o16 13 /r] 8086,SM
ADC reg16,reg16 [rm: o16 13 /r] 8086
ADC reg32,mem [rm: o32 13 /r] 386,SM
ADC reg32,reg32 [rm: o32 13 /r] 386
-ADC reg64,mem [rm: o64 13 /r] X64,SM
-ADC reg64,reg64 [rm: o64 13 /r] X64
+ADC reg64,mem [rm: o64 13 /r] X86_64,LONG,SM
+ADC reg64,reg64 [rm: o64 13 /r] X86_64,LONG
ADC rm16,imm8 [mi: hle o16 83 /2 ib,s] 8086,LOCK
ADC rm32,imm8 [mi: hle o32 83 /2 ib,s] 386,LOCK
-ADC rm64,imm8 [mi: hle o64 83 /2 ib,s] X64,LOCK
+ADC rm64,imm8 [mi: hle o64 83 /2 ib,s] X86_64,LONG,LOCK
ADC reg_al,imm [-i: 14 ib] 8086,SM
ADC reg_ax,sbyteword [mi: o16 83 /2 ib,s] 8086,SM,ND
ADC reg_ax,imm [-i: o16 15 iw] 8086,SM
ADC reg_eax,sbytedword [mi: o32 83 /2 ib,s] 386,SM,ND
ADC reg_eax,imm [-i: o32 15 id] 386,SM
-ADC reg_rax,sbytedword [mi: o64 83 /2 ib,s] X64,SM,ND
-ADC reg_rax,imm [-i: o64 15 id,s] X64,SM
+ADC reg_rax,sbytedword [mi: o64 83 /2 ib,s] X86_64,LONG,SM,ND
+ADC reg_rax,imm [-i: o64 15 id,s] X86_64,LONG,SM
ADC rm8,imm [mi: hle 80 /2 ib] 8086,SM,LOCK
ADC rm16,sbyteword [mi: hle o16 83 /2 ib,s] 8086,SM,LOCK,ND
ADC rm16,imm [mi: hle o16 81 /2 iw] 8086,SM,LOCK
ADC rm32,sbytedword [mi: hle o32 83 /2 ib,s] 386,SM,LOCK,ND
ADC rm32,imm [mi: hle o32 81 /2 id] 386,SM,LOCK
-ADC rm64,sbytedword [mi: hle o64 83 /2 ib,s] X64,SM,LOCK,ND
-ADC rm64,imm [mi: hle o64 81 /2 id,s] X64,SM,LOCK
+ADC rm64,sbytedword [mi: hle o64 83 /2 ib,s] X86_64,LONG,SM,LOCK,ND
+ADC rm64,imm [mi: hle o64 81 /2 id,s] X86_64,LONG,SM,LOCK
ADC mem,imm8 [mi: hle 80 /2 ib] 8086,SM,LOCK,ND
ADC mem,sbyteword16 [mi: hle o16 83 /2 ib,s] 8086,SM,LOCK,ND
ADC mem,imm16 [mi: hle o16 81 /2 iw] 8086,SM,LOCK
@@ -120,33 +120,33 @@ ADD mem,reg16 [mr: hle o16 01 /r] 8086,SM,LOCK
ADD reg16,reg16 [mr: o16 01 /r] 8086
ADD mem,reg32 [mr: hle o32 01 /r] 386,SM,LOCK
ADD reg32,reg32 [mr: o32 01 /r] 386
-ADD mem,reg64 [mr: hle o64 01 /r] X64,SM,LOCK
-ADD reg64,reg64 [mr: o64 01 /r] X64
+ADD mem,reg64 [mr: hle o64 01 /r] X86_64,LONG,SM,LOCK
+ADD reg64,reg64 [mr: o64 01 /r] X86_64,LONG
ADD reg8,mem [rm: 02 /r] 8086,SM
ADD reg8,reg8 [rm: 02 /r] 8086
ADD reg16,mem [rm: o16 03 /r] 8086,SM
ADD reg16,reg16 [rm: o16 03 /r] 8086
ADD reg32,mem [rm: o32 03 /r] 386,SM
ADD reg32,reg32 [rm: o32 03 /r] 386
-ADD reg64,mem [rm: o64 03 /r] X64,SM
-ADD reg64,reg64 [rm: o64 03 /r] X64
+ADD reg64,mem [rm: o64 03 /r] X86_64,LONG,SM
+ADD reg64,reg64 [rm: o64 03 /r] X86_64,LONG
ADD rm16,imm8 [mi: hle o16 83 /0 ib,s] 8086,LOCK
ADD rm32,imm8 [mi: hle o32 83 /0 ib,s] 386,LOCK
-ADD rm64,imm8 [mi: hle o64 83 /0 ib,s] X64,LOCK
+ADD rm64,imm8 [mi: hle o64 83 /0 ib,s] X86_64,LONG,LOCK
ADD reg_al,imm [-i: 04 ib] 8086,SM
ADD reg_ax,sbyteword [mi: o16 83 /0 ib,s] 8086,SM,ND
ADD reg_ax,imm [-i: o16 05 iw] 8086,SM
ADD reg_eax,sbytedword [mi: o32 83 /0 ib,s] 386,SM,ND
ADD reg_eax,imm [-i: o32 05 id] 386,SM
-ADD reg_rax,sbytedword [mi: o64 83 /0 ib,s] X64,SM,ND
-ADD reg_rax,imm [-i: o64 05 id,s] X64,SM
+ADD reg_rax,sbytedword [mi: o64 83 /0 ib,s] X86_64,LONG,SM,ND
+ADD reg_rax,imm [-i: o64 05 id,s] X86_64,LONG,SM
ADD rm8,imm [mi: hle 80 /0 ib] 8086,SM,LOCK
ADD rm16,sbyteword [mi: hle o16 83 /0 ib,s] 8086,SM,LOCK,ND
ADD rm16,imm [mi: hle o16 81 /0 iw] 8086,SM,LOCK
ADD rm32,sbytedword [mi: hle o32 83 /0 ib,s] 386,SM,LOCK,ND
ADD rm32,imm [mi: hle o32 81 /0 id] 386,SM,LOCK
-ADD rm64,sbytedword [mi: hle o64 83 /0 ib,s] X64,SM,LOCK,ND
-ADD rm64,imm [mi: hle o64 81 /0 id,s] X64,SM,LOCK
+ADD rm64,sbytedword [mi: hle o64 83 /0 ib,s] X86_64,LONG,SM,LOCK,ND
+ADD rm64,imm [mi: hle o64 81 /0 id,s] X86_64,LONG,SM,LOCK
ADD mem,imm8 [mi: hle 80 /0 ib] 8086,SM,LOCK
ADD mem,sbyteword16 [mi: hle o16 83 /0 ib,s] 8086,SM,LOCK,ND
ADD mem,imm16 [mi: hle o16 81 /0 iw] 8086,SM,LOCK
@@ -159,33 +159,33 @@ AND mem,reg16 [mr: hle o16 21 /r] 8086,SM,LOCK
AND reg16,reg16 [mr: o16 21 /r] 8086
AND mem,reg32 [mr: hle o32 21 /r] 386,SM,LOCK
AND reg32,reg32 [mr: o32 21 /r] 386
-AND mem,reg64 [mr: hle o64 21 /r] X64,SM,LOCK
-AND reg64,reg64 [mr: o64 21 /r] X64
+AND mem,reg64 [mr: hle o64 21 /r] X86_64,LONG,SM,LOCK
+AND reg64,reg64 [mr: o64 21 /r] X86_64,LONG
AND reg8,mem [rm: 22 /r] 8086,SM
AND reg8,reg8 [rm: 22 /r] 8086
AND reg16,mem [rm: o16 23 /r] 8086,SM
AND reg16,reg16 [rm: o16 23 /r] 8086
AND reg32,mem [rm: o32 23 /r] 386,SM
AND reg32,reg32 [rm: o32 23 /r] 386
-AND reg64,mem [rm: o64 23 /r] X64,SM
-AND reg64,reg64 [rm: o64 23 /r] X64
+AND reg64,mem [rm: o64 23 /r] X86_64,LONG,SM
+AND reg64,reg64 [rm: o64 23 /r] X86_64,LONG
AND rm16,imm8 [mi: hle o16 83 /4 ib,s] 8086,LOCK
AND rm32,imm8 [mi: hle o32 83 /4 ib,s] 386,LOCK
-AND rm64,imm8 [mi: hle o64 83 /4 ib,s] X64,LOCK
+AND rm64,imm8 [mi: hle o64 83 /4 ib,s] X86_64,LONG,LOCK
AND reg_al,imm [-i: 24 ib] 8086,SM
AND reg_ax,sbyteword [mi: o16 83 /4 ib,s] 8086,SM,ND
AND reg_ax,imm [-i: o16 25 iw] 8086,SM
AND reg_eax,sbytedword [mi: o32 83 /4 ib,s] 386,SM,ND
AND reg_eax,imm [-i: o32 25 id] 386,SM
-AND reg_rax,sbytedword [mi: o64 83 /4 ib,s] X64,SM,ND
-AND reg_rax,imm [-i: o64 25 id,s] X64,SM
+AND reg_rax,sbytedword [mi: o64 83 /4 ib,s] X86_64,LONG,SM,ND
+AND reg_rax,imm [-i: o64 25 id,s] X86_64,LONG,SM
AND rm8,imm [mi: hle 80 /4 ib] 8086,SM,LOCK
AND rm16,sbyteword [mi: hle o16 83 /4 ib,s] 8086,SM,LOCK,ND
AND rm16,imm [mi: hle o16 81 /4 iw] 8086,SM,LOCK
AND rm32,sbytedword [mi: hle o32 83 /4 ib,s] 386,SM,LOCK,ND
AND rm32,imm [mi: hle o32 81 /4 id] 386,SM,LOCK
-AND rm64,sbytedword [mi: hle o64 83 /4 ib,s] X64,SM,LOCK,ND
-AND rm64,imm [mi: hle o64 81 /4 id,s] X64,SM,LOCK
+AND rm64,sbytedword [mi: hle o64 83 /4 ib,s] X86_64,LONG,SM,LOCK,ND
+AND rm64,imm [mi: hle o64 81 /4 id,s] X86_64,LONG,SM,LOCK
AND mem,imm8 [mi: hle 80 /4 ib] 8086,SM,LOCK
AND mem,sbyteword16 [mi: hle o16 83 /4 ib,s] 8086,SM,LOCK,ND
AND mem,imm16 [mi: hle o16 81 /4 iw] 8086,SM,LOCK
@@ -202,52 +202,52 @@ BSF reg16,mem [rm: o16 nof3 0f bc /r] 386,SM
BSF reg16,reg16 [rm: o16 nof3 0f bc /r] 386
BSF reg32,mem [rm: o32 nof3 0f bc /r] 386,SM
BSF reg32,reg32 [rm: o32 nof3 0f bc /r] 386
-BSF reg64,mem [rm: o64 nof3 0f bc /r] X64,SM
-BSF reg64,reg64 [rm: o64 nof3 0f bc /r] X64
+BSF reg64,mem [rm: o64 nof3 0f bc /r] X86_64,LONG,SM
+BSF reg64,reg64 [rm: o64 nof3 0f bc /r] X86_64,LONG
BSR reg16,mem [rm: o16 nof3 0f bd /r] 386,SM
BSR reg16,reg16 [rm: o16 nof3 0f bd /r] 386
BSR reg32,mem [rm: o32 nof3 0f bd /r] 386,SM
BSR reg32,reg32 [rm: o32 nof3 0f bd /r] 386
-BSR reg64,mem [rm: o64 nof3 0f bd /r] X64,SM
-BSR reg64,reg64 [rm: o64 nof3 0f bd /r] X64
+BSR reg64,mem [rm: o64 nof3 0f bd /r] X86_64,LONG,SM
+BSR reg64,reg64 [rm: o64 nof3 0f bd /r] X86_64,LONG
BSWAP reg32 [r: o32 0f c8+r] 486
-BSWAP reg64 [r: o64 0f c8+r] X64
+BSWAP reg64 [r: o64 0f c8+r] X86_64,LONG
BT mem,reg16 [mr: o16 0f a3 /r] 386,SM
BT reg16,reg16 [mr: o16 0f a3 /r] 386
BT mem,reg32 [mr: o32 0f a3 /r] 386,SM
BT reg32,reg32 [mr: o32 0f a3 /r] 386
-BT mem,reg64 [mr: o64 0f a3 /r] X64,SM
-BT reg64,reg64 [mr: o64 0f a3 /r] X64
+BT mem,reg64 [mr: o64 0f a3 /r] X86_64,LONG,SM
+BT reg64,reg64 [mr: o64 0f a3 /r] X86_64,LONG
BT rm16,imm [mi: o16 0f ba /4 ib,u] 386,SB
BT rm32,imm [mi: o32 0f ba /4 ib,u] 386,SB
-BT rm64,imm [mi: o64 0f ba /4 ib,u] X64,SB
+BT rm64,imm [mi: o64 0f ba /4 ib,u] X86_64,LONG,SB
BTC mem,reg16 [mr: hle o16 0f bb /r] 386,SM,LOCK
BTC reg16,reg16 [mr: o16 0f bb /r] 386
BTC mem,reg32 [mr: hle o32 0f bb /r] 386,SM,LOCK
BTC reg32,reg32 [mr: o32 0f bb /r] 386
-BTC mem,reg64 [mr: hle o64 0f bb /r] X64,SM,LOCK
-BTC reg64,reg64 [mr: o64 0f bb /r] X64
+BTC mem,reg64 [mr: hle o64 0f bb /r] X86_64,LONG,SM,LOCK
+BTC reg64,reg64 [mr: o64 0f bb /r] X86_64,LONG
BTC rm16,imm [mi: hle o16 0f ba /7 ib,u] 386,SB,LOCK
BTC rm32,imm [mi: hle o32 0f ba /7 ib,u] 386,SB,LOCK
-BTC rm64,imm [mi: hle o64 0f ba /7 ib,u] X64,SB,LOCK
+BTC rm64,imm [mi: hle o64 0f ba /7 ib,u] X86_64,LONG,SB,LOCK
BTR mem,reg16 [mr: hle o16 0f b3 /r] 386,SM,LOCK
BTR reg16,reg16 [mr: o16 0f b3 /r] 386
BTR mem,reg32 [mr: hle o32 0f b3 /r] 386,SM,LOCK
BTR reg32,reg32 [mr: o32 0f b3 /r] 386
-BTR mem,reg64 [mr: hle o64 0f b3 /r] X64,SM,LOCK
-BTR reg64,reg64 [mr: o64 0f b3 /r] X64
+BTR mem,reg64 [mr: hle o64 0f b3 /r] X86_64,LONG,SM,LOCK
+BTR reg64,reg64 [mr: o64 0f b3 /r] X86_64,LONG
BTR rm16,imm [mi: hle o16 0f ba /6 ib,u] 386,SB,LOCK
BTR rm32,imm [mi: hle o32 0f ba /6 ib,u] 386,SB,LOCK
-BTR rm64,imm [mi: hle o64 0f ba /6 ib,u] X64,SB,LOCK
+BTR rm64,imm [mi: hle o64 0f ba /6 ib,u] X86_64,LONG,SB,LOCK
BTS mem,reg16 [mr: hle o16 0f ab /r] 386,SM,LOCK
BTS reg16,reg16 [mr: o16 0f ab /r] 386
BTS mem,reg32 [mr: hle o32 0f ab /r] 386,SM,LOCK
BTS reg32,reg32 [mr: o32 0f ab /r] 386
-BTS mem,reg64 [mr: hle o64 0f ab /r] X64,SM,LOCK
-BTS reg64,reg64 [mr: o64 0f ab /r] X64
+BTS mem,reg64 [mr: hle o64 0f ab /r] X86_64,LONG,SM,LOCK
+BTS reg64,reg64 [mr: o64 0f ab /r] X86_64,LONG
BTS rm16,imm [mi: hle o16 0f ba /5 ib,u] 386,SB,LOCK
BTS rm32,imm [mi: hle o32 0f ba /5 ib,u] 386,SB,LOCK
-BTS rm64,imm [mi: hle o64 0f ba /5 ib,u] X64,SB,LOCK
+BTS rm64,imm [mi: hle o64 0f ba /5 ib,u] X86_64,LONG,SB,LOCK
CALL imm [i: odf e8 rel] 8086,BND
CALL imm|near [i: odf e8 rel] 8086,ND,BND
CALL imm|far [i: odf 9a iwd seg] 8086,ND,NOLONG
@@ -258,30 +258,30 @@ CALL imm16|far [i: o16 9a iwd seg] 8086,ND,NOLONG
CALL imm32 [i: o32 e8 rel] 386,NOLONG,BND
CALL imm32|near [i: o32 e8 rel] 386,ND,NOLONG,BND
CALL imm32|far [i: o32 9a iwd seg] 386,ND,NOLONG
-CALL imm64 [i: o64nw e8 rel] X64,BND
-CALL imm64|near [i: o64nw e8 rel] X64,ND,BND
+CALL imm64 [i: o64nw e8 rel] X86_64,LONG,BND
+CALL imm64|near [i: o64nw e8 rel] X86_64,LONG,ND,BND
CALL imm:imm [ji: odf 9a iwd iw] 8086,NOLONG
CALL imm16:imm [ji: o16 9a iw iw] 8086,NOLONG
CALL imm:imm16 [ji: o16 9a iw iw] 8086,NOLONG
CALL imm32:imm [ji: o32 9a id iw] 386,NOLONG
CALL imm:imm32 [ji: o32 9a id iw] 386,NOLONG
CALL mem|far [m: odf ff /3] 8086,NOLONG
-CALL mem|far [m: o64 ff /3] X64
+CALL mem|far [m: o64 ff /3] X86_64,LONG
CALL mem16|far [m: o16 ff /3] 8086
CALL mem32|far [m: o32 ff /3] 386
-CALL mem64|far [m: o64 ff /3] X64
+CALL mem64|far [m: o64 ff /3] X86_64,LONG
CALL mem|near [m: odf ff /2] 8086,ND,BND
CALL rm16|near [m: o16 ff /2] 8086,NOLONG,ND,BND
CALL rm32|near [m: o32 ff /2] 386,NOLONG,ND,BND
-CALL rm64|near [m: o64nw ff /2] X64,ND,BND
+CALL rm64|near [m: o64nw ff /2] X86_64,LONG,ND,BND
CALL mem [m: odf ff /2] 8086,BND
CALL rm16 [m: o16 ff /2] 8086,NOLONG,BND
CALL rm32 [m: o32 ff /2] 386,NOLONG,BND
-CALL rm64 [m: o64nw ff /2] X64,BND
+CALL rm64 [m: o64nw ff /2] X86_64,LONG,BND
CBW void [ o16 98] 8086
CDQ void [ o32 99] 386
-CDQE void [ o64 98] X64
+CDQE void [ o64 98] X86_64,LONG
CLC void [ f8] 8086
CLD void [ fc] 8086
CLI void [ fa] 8086
@@ -293,33 +293,33 @@ CMP mem,reg16 [mr: o16 39 /r] 8086,SM
CMP reg16,reg16 [mr: o16 39 /r] 8086
CMP mem,reg32 [mr: o32 39 /r] 386,SM
CMP reg32,reg32 [mr: o32 39 /r] 386
-CMP mem,reg64 [mr: o64 39 /r] X64,SM
-CMP reg64,reg64 [mr: o64 39 /r] X64
+CMP mem,reg64 [mr: o64 39 /r] X86_64,LONG,SM
+CMP reg64,reg64 [mr: o64 39 /r] X86_64,LONG
CMP reg8,mem [rm: 3a /r] 8086,SM
CMP reg8,reg8 [rm: 3a /r] 8086
CMP reg16,mem [rm: o16 3b /r] 8086,SM
CMP reg16,reg16 [rm: o16 3b /r] 8086
CMP reg32,mem [rm: o32 3b /r] 386,SM
CMP reg32,reg32 [rm: o32 3b /r] 386
-CMP reg64,mem [rm: o64 3b /r] X64,SM
-CMP reg64,reg64 [rm: o64 3b /r] X64
+CMP reg64,mem [rm: o64 3b /r] X86_64,LONG,SM
+CMP reg64,reg64 [rm: o64 3b /r] X86_64,LONG
CMP rm16,imm8 [mi: o16 83 /7 ib,s] 8086
CMP rm32,imm8 [mi: o32 83 /7 ib,s] 386
-CMP rm64,imm8 [mi: o64 83 /7 ib,s] X64
+CMP rm64,imm8 [mi: o64 83 /7 ib,s] X86_64,LONG
CMP reg_al,imm [-i: 3c ib] 8086,SM
CMP reg_ax,sbyteword [mi: o16 83 /7 ib,s] 8086,SM,ND
CMP reg_ax,imm [-i: o16 3d iw] 8086,SM
CMP reg_eax,sbytedword [mi: o32 83 /7 ib,s] 386,SM,ND
CMP reg_eax,imm [-i: o32 3d id] 386,SM
-CMP reg_rax,sbytedword [mi: o64 83 /7 ib,s] X64,SM,ND
-CMP reg_rax,imm [-i: o64 3d id,s] X64,SM
+CMP reg_rax,sbytedword [mi: o64 83 /7 ib,s] X86_64,LONG,SM,ND
+CMP reg_rax,imm [-i: o64 3d id,s] X86_64,LONG,SM
CMP rm8,imm [mi: 80 /7 ib] 8086,SM
CMP rm16,sbyteword [mi: o16 83 /7 ib,s] 8086,SM,ND
CMP rm16,imm [mi: o16 81 /7 iw] 8086,SM
CMP rm32,sbytedword [mi: o32 83 /7 ib,s] 386,SM,ND
CMP rm32,imm [mi: o32 81 /7 id] 386,SM
-CMP rm64,sbytedword [mi: o64 83 /7 ib,s] X64,SM,ND
-CMP rm64,imm [mi: o64 81 /7 id,s] X64,SM
+CMP rm64,sbytedword [mi: o64 83 /7 ib,s] X86_64,LONG,SM,ND
+CMP rm64,imm [mi: o64 81 /7 id,s] X86_64,LONG,SM
CMP mem,imm8 [mi: 80 /7 ib] 8086,SM
CMP mem,sbyteword16 [mi: o16 83 /7 ib,s] 8086,SM,ND
CMP mem,imm16 [mi: o16 81 /7 iw] 8086,SM
@@ -328,7 +328,7 @@ CMP mem,imm32 [mi: o32 81 /7 id] 386,SM
CMP rm8,imm [mi: 82 /7 ib] 8086,SM,ND,NOLONG
CMPSB void [ repe a6] 8086
CMPSD void [ repe o32 a7] 386
-CMPSQ void [ repe o64 a7] X64
+CMPSQ void [ repe o64 a7] X86_64,LONG
CMPSW void [ repe o16 a7] 8086
CMPXCHG mem,reg8 [mr: hle 0f b0 /r] PENT,SM,LOCK
CMPXCHG reg8,reg8 [mr: 0f b0 /r] PENT
@@ -336,8 +336,8 @@ CMPXCHG mem,reg16 [mr: hle o16 0f b1 /r] PENT,SM,LOCK
CMPXCHG reg16,reg16 [mr: o16 0f b1 /r] PENT
CMPXCHG mem,reg32 [mr: hle o32 0f b1 /r] PENT,SM,LOCK
CMPXCHG reg32,reg32 [mr: o32 0f b1 /r] PENT
-CMPXCHG mem,reg64 [mr: hle o64 0f b1 /r] X64,SM,LOCK
-CMPXCHG reg64,reg64 [mr: o64 0f b1 /r] X64
+CMPXCHG mem,reg64 [mr: hle o64 0f b1 /r] X86_64,LONG,SM,LOCK
+CMPXCHG reg64,reg64 [mr: o64 0f b1 /r] X86_64,LONG
CMPXCHG486 mem,reg8 [mr: 0f a6 /r] 486,SM,UNDOC,ND,LOCK,OBSOLETE
CMPXCHG486 reg8,reg8 [mr: 0f a6 /r] 486,UNDOC,ND,OBSOLETE
CMPXCHG486 mem,reg16 [mr: o16 0f a7 /r] 486,SM,UNDOC,ND,LOCK,OBSOLETE
@@ -345,11 +345,11 @@ CMPXCHG486 reg16,reg16 [mr: o16 0f a7 /r] 486,UNDOC,ND,OBSOLETE
CMPXCHG486 mem,reg32 [mr: o32 0f a7 /r] 486,SM,UNDOC,ND,LOCK,OBSOLETE
CMPXCHG486 reg32,reg32 [mr: o32 0f a7 /r] 486,UNDOC,ND,OBSOLETE
CMPXCHG8B mem64 [m: hle norexw 0f c7 /1] PENT,LOCK
-CMPXCHG16B mem128 [m: o64 0f c7 /1] X64,LOCK
+CMPXCHG16B mem128 [m: o64 0f c7 /1] X86_64,LONG,LOCK
CPUID void [ 0f a2] PENT
CPU_READ void [ 0f 3d] PENT,CYRIX
CPU_WRITE void [ 0f 3c] PENT,CYRIX
-CQO void [ o64 99] X64
+CQO void [ o64 99] X86_64,LONG
CWD void [ o16 99] 8086
CWDE void [ o32 98] 386
DAA void [ 27] 8086,NOLONG
@@ -359,11 +359,11 @@ DEC reg32 [r: o32 48+r] 386,NOLONG
DEC rm8 [m: hle fe /1] 8086,LOCK
DEC rm16 [m: hle o16 ff /1] 8086,LOCK
DEC rm32 [m: hle o32 ff /1] 386,LOCK
-DEC rm64 [m: hle o64 ff /1] X64,LOCK
+DEC rm64 [m: hle o64 ff /1] X86_64,LONG,LOCK
DIV rm8 [m: f6 /6] 8086
DIV rm16 [m: o16 f7 /6] 8086
DIV rm32 [m: o32 f7 /6] 386
-DIV rm64 [m: o64 f7 /6] X64
+DIV rm64 [m: o64 f7 /6] X86_64,LONG
DMINT void [ 0f 39] P6,CYRIX
EMMS void [ 0f 77] PENT,MMX
ENTER imm,imm [ij: c8 iw ib,u] 186
@@ -596,17 +596,17 @@ ICEBP void [ f1] 386,ND
IDIV rm8 [m: f6 /7] 8086
IDIV rm16 [m: o16 f7 /7] 8086
IDIV rm32 [m: o32 f7 /7] 386
-IDIV rm64 [m: o64 f7 /7] X64
+IDIV rm64 [m: o64 f7 /7] X86_64,LONG
IMUL rm8 [m: f6 /5] 8086
IMUL rm16 [m: o16 f7 /5] 8086
IMUL rm32 [m: o32 f7 /5] 386
-IMUL rm64 [m: o64 f7 /5] X64
+IMUL rm64 [m: o64 f7 /5] X86_64,LONG
IMUL reg16,mem [rm: o16 0f af /r] 386,SM
IMUL reg16,reg16 [rm: o16 0f af /r] 386
IMUL reg32,mem [rm: o32 0f af /r] 386,SM
IMUL reg32,reg32 [rm: o32 0f af /r] 386
-IMUL reg64,mem [rm: o64 0f af /r] X64,SM
-IMUL reg64,reg64 [rm: o64 0f af /r] X64
+IMUL reg64,mem [rm: o64 0f af /r] X86_64,LONG,SM
+IMUL reg64,reg64 [rm: o64 0f af /r] X86_64,LONG
IMUL reg16,mem,imm8 [rmi: o16 6b /r ib,s] 186,SM
IMUL reg16,mem,sbyteword [rmi: o16 6b /r ib,s] 186,SM,ND
IMUL reg16,mem,imm16 [rmi: o16 69 /r iw] 186,SM
@@ -623,14 +623,14 @@ IMUL reg32,reg32,imm8 [rmi: o32 6b /r ib,s] 386
IMUL reg32,reg32,sbytedword [rmi: o32 6b /r ib,s] 386,SM,ND
IMUL reg32,reg32,imm32 [rmi: o32 69 /r id] 386
IMUL reg32,reg32,imm [rmi: o32 69 /r id] 386,SM,ND
-IMUL reg64,mem,imm8 [rmi: o64 6b /r ib,s] X64,SM
-IMUL reg64,mem,sbytedword [rmi: o64 6b /r ib,s] X64,SM,ND
-IMUL reg64,mem,imm32 [rmi: o64 69 /r id] X64,SM
-IMUL reg64,mem,imm [rmi: o64 69 /r id,s] X64,SM,ND
-IMUL reg64,reg64,imm8 [rmi: o64 6b /r ib,s] X64
-IMUL reg64,reg64,sbytedword [rmi: o64 6b /r ib,s] X64,SM,ND
-IMUL reg64,reg64,imm32 [rmi: o64 69 /r id] X64
-IMUL reg64,reg64,imm [rmi: o64 69 /r id,s] X64,SM,ND
+IMUL reg64,mem,imm8 [rmi: o64 6b /r ib,s] X86_64,LONG,SM
+IMUL reg64,mem,sbytedword [rmi: o64 6b /r ib,s] X86_64,LONG,SM,ND
+IMUL reg64,mem,imm32 [rmi: o64 69 /r id] X86_64,LONG,SM
+IMUL reg64,mem,imm [rmi: o64 69 /r id,s] X86_64,LONG,SM,ND
+IMUL reg64,reg64,imm8 [rmi: o64 6b /r ib,s] X86_64,LONG
+IMUL reg64,reg64,sbytedword [rmi: o64 6b /r ib,s] X86_64,LONG,SM,ND
+IMUL reg64,reg64,imm32 [rmi: o64 69 /r id] X86_64,LONG
+IMUL reg64,reg64,imm [rmi: o64 69 /r id,s] X86_64,LONG,SM,ND
IMUL reg16,imm8 [r+mi: o16 6b /r ib,s] 186
IMUL reg16,sbyteword [r+mi: o16 6b /r ib,s] 186,SM,ND
IMUL reg16,imm16 [r+mi: o16 69 /r iw] 186
@@ -639,10 +639,10 @@ IMUL reg32,imm8 [r+mi: o32 6b /r ib,s] 386
IMUL reg32,sbytedword [r+mi: o32 6b /r ib,s] 386,SM,ND
IMUL reg32,imm32 [r+mi: o32 69 /r id] 386
IMUL reg32,imm [r+mi: o32 69 /r id] 386,SM,ND
-IMUL reg64,imm8 [r+mi: o64 6b /r ib,s] X64
-IMUL reg64,sbytedword [r+mi: o64 6b /r ib,s] X64,SM,ND
-IMUL reg64,imm32 [r+mi: o64 69 /r id,s] X64
-IMUL reg64,imm [r+mi: o64 69 /r id,s] X64,SM,ND
+IMUL reg64,imm8 [r+mi: o64 6b /r ib,s] X86_64,LONG
+IMUL reg64,sbytedword [r+mi: o64 6b /r ib,s] X86_64,LONG,SM,ND
+IMUL reg64,imm32 [r+mi: o64 69 /r id,s] X86_64,LONG
+IMUL reg64,imm [r+mi: o64 69 /r id,s] X86_64,LONG,SM,ND
IN reg_al,imm [-i: e4 ib,u] 8086,SB
IN reg_ax,imm [-i: o16 e5 ib,u] 8086,SB
IN reg_eax,imm [-i: o32 e5 ib,u] 386,SB
@@ -654,7 +654,7 @@ INC reg32 [r: o32 40+r] 386,NOLONG
INC rm8 [m: hle fe /0] 8086,LOCK
INC rm16 [m: hle o16 ff /0] 8086,LOCK
INC rm32 [m: hle o32 ff /0] 386,LOCK
-INC rm64 [m: hle o64 ff /0] X64,LOCK
+INC rm64 [m: hle o64 ff /0] X86_64,LONG,LOCK
INSB void [ 6c] 186
INSD void [ o32 6d] 386
INSW void [ o16 6d] 186
@@ -670,15 +670,15 @@ INVPCID reg64,mem128 [rm: 66 0f 38 82 /r] FUTURE,INVPCID,PRIV,LONG
INVLPG mem [m: 0f 01 /7] 486,PRIV
INVLPGA reg_ax,reg_ecx [--: a16 0f 01 df] X86_64,AMD,NOLONG
INVLPGA reg_eax,reg_ecx [--: a32 0f 01 df] X86_64,AMD
-INVLPGA reg_rax,reg_ecx [--: o64nw a64 0f 01 df] X64,AMD
+INVLPGA reg_rax,reg_ecx [--: o64nw a64 0f 01 df] X86_64,LONG,AMD
INVLPGA void [ 0f 01 df] X86_64,AMD
IRET void [ odf cf] 8086
IRETD void [ o32 cf] 386
-IRETQ void [ o64 cf] X64
+IRETQ void [ o64 cf] X86_64,LONG
IRETW void [ o16 cf] 8086
JCXZ imm [i: a16 e3 rel8] 8086,NOLONG
JECXZ imm [i: a32 e3 rel8] 386
-JRCXZ imm [i: o64nw a64 e3 rel8] X64
+JRCXZ imm [i: o64nw a64 e3 rel8] X86_64,LONG
JMP imm|short [i: eb rel8] 8086
JMP imm [i: jmp8 eb rel8] 8086,ND
JMP imm [i: odf e9 rel] 8086,BND
@@ -691,26 +691,26 @@ JMP imm16|far [i: o16 ea iwd seg] 8086,ND,NOLONG
JMP imm32 [i: o32 e9 rel] 386,NOLONG,BND
JMP imm32|near [i: o32 e9 rel] 386,ND,NOLONG,BND
JMP imm32|far [i: o32 ea iwd seg] 386,ND,NOLONG
-JMP imm64 [i: o64nw e9 rel] X64,BND
-JMP imm64|near [i: o64nw e9 rel] X64,ND,BND
+JMP imm64 [i: o64nw e9 rel] X86_64,LONG,BND
+JMP imm64|near [i: o64nw e9 rel] X86_64,LONG,ND,BND
JMP imm:imm [ji: odf ea iwd iw] 8086,NOLONG
JMP imm16:imm [ji: o16 ea iw iw] 8086,NOLONG
JMP imm:imm16 [ji: o16 ea iw iw] 8086,NOLONG
JMP imm32:imm [ji: o32 ea id iw] 386,NOLONG
JMP imm:imm32 [ji: o32 ea id iw] 386,NOLONG
JMP mem|far [m: odf ff /5] 8086,NOLONG
-JMP mem|far [m: o64 ff /5] X64
+JMP mem|far [m: o64 ff /5] X86_64,LONG
JMP mem16|far [m: o16 ff /5] 8086
JMP mem32|far [m: o32 ff /5] 386
-JMP mem64|far [m: o64 ff /5] X64
+JMP mem64|far [m: o64 ff /5] X86_64,LONG
JMP mem|near [m: odf ff /4] 8086,ND,BND
JMP rm16|near [m: o16 ff /4] 8086,NOLONG,ND,BND
JMP rm32|near [m: o32 ff /4] 386,NOLONG,ND,BND
-JMP rm64|near [m: o64nw ff /4] X64,ND,BND
+JMP rm64|near [m: o64nw ff /4] X86_64,LONG,ND,BND
JMP mem [m: odf ff /4] 8086,BND
JMP rm16 [m: o16 ff /4] 8086,NOLONG,BND
JMP rm32 [m: o32 ff /4] 386,NOLONG,BND
-JMP rm64 [m: o64nw ff /4] X64,BND
+JMP rm64 [m: o64nw ff /4] X86_64,LONG,BND
JMPE imm [i: odf 0f b8 rel] IA64
JMPE imm16 [i: o16 0f b8 rel] IA64
@@ -721,34 +721,34 @@ LAHF void [ 9f] 8086
LAR reg16,mem [rm: o16 0f 02 /r] 286,PROT,SW
LAR reg16,reg16 [rm: o16 0f 02 /r] 286,PROT
LAR reg16,reg32 [rm: o16 0f 02 /r] 386,PROT
-LAR reg16,reg64 [rm: o16 o64nw 0f 02 /r] X64,PROT,ND
+LAR reg16,reg64 [rm: o16 o64nw 0f 02 /r] X86_64,LONG,PROT,ND
LAR reg32,mem [rm: o32 0f 02 /r] 386,PROT,SW
LAR reg32,reg16 [rm: o32 0f 02 /r] 386,PROT
LAR reg32,reg32 [rm: o32 0f 02 /r] 386,PROT
-LAR reg32,reg64 [rm: o32 o64nw 0f 02 /r] X64,PROT,ND
-LAR reg64,mem [rm: o64 0f 02 /r] X64,PROT,SW
-LAR reg64,reg16 [rm: o64 0f 02 /r] X64,PROT
-LAR reg64,reg32 [rm: o64 0f 02 /r] X64,PROT
-LAR reg64,reg64 [rm: o64 0f 02 /r] X64,PROT
+LAR reg32,reg64 [rm: o32 o64nw 0f 02 /r] X86_64,LONG,PROT,ND
+LAR reg64,mem [rm: o64 0f 02 /r] X86_64,LONG,PROT,SW
+LAR reg64,reg16 [rm: o64 0f 02 /r] X86_64,LONG,PROT
+LAR reg64,reg32 [rm: o64 0f 02 /r] X86_64,LONG,PROT
+LAR reg64,reg64 [rm: o64 0f 02 /r] X86_64,LONG,PROT
LDS reg16,mem [rm: o16 c5 /r] 8086,NOLONG
LDS reg32,mem [rm: o32 c5 /r] 386,NOLONG
LEA reg16,mem [rm: o16 8d /r] 8086,ANYSIZE
LEA reg32,mem [rm: o32 8d /r] 386,ANYSIZE
-LEA reg64,mem [rm: o64 8d /r] X64,ANYSIZE
+LEA reg64,mem [rm: o64 8d /r] X86_64,LONG,ANYSIZE
LEA reg16,imm [rm: o16 8d /r] 8086,ND,ANYSIZE
LEA reg32,imm [rm: o32 8d /r] 386,ND,ANYSIZE
-LEA reg64,imm [rm: o64 8d /r] X64,ND,ANYSIZE
+LEA reg64,imm [rm: o64 8d /r] X86_64,LONG,ND,ANYSIZE
LEAVE void [ c9] 186
LES reg16,mem [rm: o16 c4 /r] 8086,NOLONG
LES reg32,mem [rm: o32 c4 /r] 386,NOLONG
-LFENCE void [ np 0f ae e8] X64,AMD
+LFENCE void [ np 0f ae e8] X86_64,LONG,AMD
LFS reg16,mem [rm: o16 0f b4 /r] 386
LFS reg32,mem [rm: o32 0f b4 /r] 386
-LFS reg64,mem [rm: o64 0f b4 /r] X64
+LFS reg64,mem [rm: o64 0f b4 /r] X86_64,LONG
LGDT mem [m: 0f 01 /2] 286,PRIV
LGS reg16,mem [rm: o16 0f b5 /r] 386
LGS reg32,mem [rm: o32 0f b5 /r] 386
-LGS reg64,mem [rm: o64 0f b5 /r] X64
+LGS reg64,mem [rm: o64 0f b5 /r] X86_64,LONG
LIDT mem [m: 0f 01 /3] 286,PRIV
LLDT mem [m: 0f 00 /2] 286,PROT,PRIV
LLDT mem16 [m: 0f 00 /2] 286,PROT,PRIV
@@ -760,82 +760,82 @@ LOADALL void [ 0f 07] 386,UNDOC,ND,OBSOLETE
LOADALL286 void [ 0f 05] 286,UNDOC,ND,OBSOLETE
LODSB void [ ac] 8086
LODSD void [ o32 ad] 386
-LODSQ void [ o64 ad] X64
+LODSQ void [ o64 ad] X86_64,LONG
LODSW void [ o16 ad] 8086
LOOP imm [i: adf e2 rel8] 8086
LOOP imm,reg_cx [i-: a16 e2 rel8] 8086,NOLONG
LOOP imm,reg_ecx [i-: a32 e2 rel8] 386
-LOOP imm,reg_rcx [i-: a64 e2 rel8] X64
+LOOP imm,reg_rcx [i-: a64 e2 rel8] X86_64,LONG
LOOPE imm [i: adf e1 rel8] 8086
LOOPE imm,reg_cx [i-: a16 e1 rel8] 8086,NOLONG
LOOPE imm,reg_ecx [i-: a32 e1 rel8] 386
-LOOPE imm,reg_rcx [i-: a64 e1 rel8] X64
+LOOPE imm,reg_rcx [i-: a64 e1 rel8] X86_64,LONG
LOOPNE imm [i: adf e0 rel8] 8086
LOOPNE imm,reg_cx [i-: a16 e0 rel8] 8086,NOLONG
LOOPNE imm,reg_ecx [i-: a32 e0 rel8] 386
-LOOPNE imm,reg_rcx [i-: a64 e0 rel8] X64
+LOOPNE imm,reg_rcx [i-: a64 e0 rel8] X86_64,LONG
LOOPNZ imm [i: adf e0 rel8] 8086
LOOPNZ imm,reg_cx [i-: a16 e0 rel8] 8086,NOLONG
LOOPNZ imm,reg_ecx [i-: a32 e0 rel8] 386
-LOOPNZ imm,reg_rcx [i-: a64 e0 rel8] X64
+LOOPNZ imm,reg_rcx [i-: a64 e0 rel8] X86_64,LONG
LOOPZ imm [i: adf e1 rel8] 8086
LOOPZ imm,reg_cx [i-: a16 e1 rel8] 8086,NOLONG
LOOPZ imm,reg_ecx [i-: a32 e1 rel8] 386
-LOOPZ imm,reg_rcx [i-: a64 e1 rel8] X64
+LOOPZ imm,reg_rcx [i-: a64 e1 rel8] X86_64,LONG
LSL reg16,mem [rm: o16 0f 03 /r] 286,PROT,SW
LSL reg16,reg16 [rm: o16 0f 03 /r] 286,PROT
LSL reg16,reg32 [rm: o16 0f 03 /r] 386,PROT
-LSL reg16,reg64 [rm: o16 o64nw 0f 03 /r] X64,PROT,ND
+LSL reg16,reg64 [rm: o16 o64nw 0f 03 /r] X86_64,LONG,PROT,ND
LSL reg32,mem [rm: o32 0f 03 /r] 386,PROT,SW
LSL reg32,reg16 [rm: o32 0f 03 /r] 386,PROT
LSL reg32,reg32 [rm: o32 0f 03 /r] 386,PROT
-LSL reg32,reg64 [rm: o32 o64nw 0f 03 /r] X64,PROT,ND
-LSL reg64,mem [rm: o64 0f 03 /r] X64,PROT,SW
-LSL reg64,reg16 [rm: o64 0f 03 /r] X64,PROT
-LSL reg64,reg32 [rm: o64 0f 03 /r] X64,PROT
-LSL reg64,reg64 [rm: o64 0f 03 /r] X64,PROT
+LSL reg32,reg64 [rm: o32 o64nw 0f 03 /r] X86_64,LONG,PROT,ND
+LSL reg64,mem [rm: o64 0f 03 /r] X86_64,LONG,PROT,SW
+LSL reg64,reg16 [rm: o64 0f 03 /r] X86_64,LONG,PROT
+LSL reg64,reg32 [rm: o64 0f 03 /r] X86_64,LONG,PROT
+LSL reg64,reg64 [rm: o64 0f 03 /r] X86_64,LONG,PROT
LSS reg16,mem [rm: o16 0f b2 /r] 386
LSS reg32,mem [rm: o32 0f b2 /r] 386
-LSS reg64,mem [rm: o64 0f b2 /r] X64
+LSS reg64,mem [rm: o64 0f b2 /r] X86_64,LONG
LTR mem [m: 0f 00 /3] 286,PROT,PRIV
LTR mem16 [m: 0f 00 /3] 286,PROT,PRIV
LTR reg16 [m: 0f 00 /3] 286,PROT,PRIV
-MFENCE void [ np 0f ae f0] X64,AMD
+MFENCE void [ np 0f ae f0] X86_64,LONG,AMD
MONITOR void [ 0f 01 c8] PRESCOTT
MONITOR reg_eax,reg_ecx,reg_edx [---: 0f 01 c8] PRESCOTT,NOLONG,ND
-MONITOR reg_rax,reg_ecx,reg_edx [---: 0f 01 c8] X64,ND
+MONITOR reg_rax,reg_ecx,reg_edx [---: 0f 01 c8] X86_64,LONG,ND
MONITORX void [ 0f 01 fa] AMD
-MONITORX reg_rax,reg_ecx,reg_edx [---: 0f 01 fa] X64,AMD,ND
+MONITORX reg_rax,reg_ecx,reg_edx [---: 0f 01 fa] X86_64,LONG,AMD,ND
MONITORX reg_eax,reg_ecx,reg_edx [---: 0f 01 fa] AMD,ND
MONITORX reg_ax,reg_ecx,reg_edx [---: 0f 01 fa] AMD,ND
MOV mem,reg_sreg [mr: 8c /r] 8086,SW
MOV reg16,reg_sreg [mr: o16 8c /r] 8086
MOV reg32,reg_sreg [mr: o32 8c /r] 386
-MOV reg64,reg_sreg [mr: o64nw 8c /r] X64,OPT,ND
-MOV rm64,reg_sreg [mr: o64 8c /r] X64
+MOV reg64,reg_sreg [mr: o64nw 8c /r] X86_64,LONG,OPT,ND
+MOV rm64,reg_sreg [mr: o64 8c /r] X86_64,LONG
MOV reg_sreg,mem [rm: 8e /r] 8086,SW
MOV reg_sreg,reg16 [rm: 8e /r] 8086,OPT,ND
MOV reg_sreg,reg32 [rm: 8e /r] 386,OPT,ND
-MOV reg_sreg,reg64 [rm: o64nw 8e /r] X64,OPT,ND
+MOV reg_sreg,reg64 [rm: o64nw 8e /r] X86_64,LONG,OPT,ND
MOV reg_sreg,reg16 [rm: o16 8e /r] 8086
MOV reg_sreg,reg32 [rm: o32 8e /r] 386
-MOV reg_sreg,rm64 [rm: o64 8e /r] X64
+MOV reg_sreg,rm64 [rm: o64 8e /r] X86_64,LONG
MOV reg_al,mem_offs [-i: a0 iwdq] 8086,SM
MOV reg_ax,mem_offs [-i: o16 a1 iwdq] 8086,SM
MOV reg_eax,mem_offs [-i: o32 a1 iwdq] 386,SM
-MOV reg_rax,mem_offs [-i: o64 a1 iwdq] X64,SM
+MOV reg_rax,mem_offs [-i: o64 a1 iwdq] X86_64,LONG,SM
MOV mem_offs,reg_al [i-: a2 iwdq] 8086,SM,NOHLE
MOV mem_offs,reg_ax [i-: o16 a3 iwdq] 8086,SM,NOHLE
MOV mem_offs,reg_eax [i-: o32 a3 iwdq] 386,SM,NOHLE
-MOV mem_offs,reg_rax [i-: o64 a3 iwdq] X64,SM,NOHLE
+MOV mem_offs,reg_rax [i-: o64 a3 iwdq] X86_64,LONG,SM,NOHLE
MOV reg32,reg_creg [mr: rex.l 0f 20 /r] 386,PRIV,NOLONG
-MOV reg64,reg_creg [mr: o64nw 0f 20 /r] X64,PRIV
+MOV reg64,reg_creg [mr: o64nw 0f 20 /r] X86_64,LONG,PRIV
MOV reg_creg,reg32 [rm: rex.l 0f 22 /r] 386,PRIV,NOLONG
-MOV reg_creg,reg64 [rm: o64nw 0f 22 /r] X64,PRIV
+MOV reg_creg,reg64 [rm: o64nw 0f 22 /r] X86_64,LONG,PRIV
MOV reg32,reg_dreg [mr: 0f 21 /r] 386,PRIV,NOLONG
-MOV reg64,reg_dreg [mr: o64nw 0f 21 /r] X64,PRIV
+MOV reg64,reg_dreg [mr: o64nw 0f 21 /r] X86_64,LONG,PRIV
MOV reg_dreg,reg32 [rm: 0f 23 /r] 386,PRIV,NOLONG
-MOV reg_dreg,reg64 [rm: o64nw 0f 23 /r] X64,PRIV
+MOV reg_dreg,reg64 [rm: o64nw 0f 23 /r] X86_64,LONG,PRIV
MOV reg32,reg_treg [mr: 0f 24 /r] 386,NOLONG,ND
MOV reg_treg,reg32 [rm: 0f 26 /r] 386,NOLONG,ND
MOV mem,reg8 [mr: hlexr 88 /r] 8086,SM
@@ -844,60 +844,60 @@ MOV mem,reg16 [mr: hlexr o16 89 /r] 8086,SM
MOV reg16,reg16 [mr: o16 89 /r] 8086
MOV mem,reg32 [mr: hlexr o32 89 /r] 386,SM
MOV reg32,reg32 [mr: o32 89 /r] 386
-MOV mem,reg64 [mr: hlexr o64 89 /r] X64,SM
-MOV reg64,reg64 [mr: o64 89 /r] X64
+MOV mem,reg64 [mr: hlexr o64 89 /r] X86_64,LONG,SM
+MOV reg64,reg64 [mr: o64 89 /r] X86_64,LONG
MOV reg8,mem [rm: 8a /r] 8086,SM
MOV reg8,reg8 [rm: 8a /r] 8086
MOV reg16,mem [rm: o16 8b /r] 8086,SM
MOV reg16,reg16 [rm: o16 8b /r] 8086
MOV reg32,mem [rm: o32 8b /r] 386,SM
MOV reg32,reg32 [rm: o32 8b /r] 386
-MOV reg64,mem [rm: o64 8b /r] X64,SM
-MOV reg64,reg64 [rm: o64 8b /r] X64
+MOV reg64,mem [rm: o64 8b /r] X86_64,LONG,SM
+MOV reg64,reg64 [rm: o64 8b /r] X86_64,LONG
MOV reg8,imm [ri: b0+r ib] 8086,SM
MOV reg16,imm [ri: o16 b8+r iw] 8086,SM
MOV reg32,imm [ri: o32 b8+r id] 386,SM
-MOV reg64,udword [ri: o64nw b8+r id] X64,SM,OPT,ND
-MOV reg64,sdword [mi: o64 c7 /0 id,s] X64,SM,OPT,ND
-MOV reg64,imm [ri: o64 b8+r iq] X64,SM
+MOV reg64,udword [ri: o64nw b8+r id] X86_64,LONG,SM,OPT,ND
+MOV reg64,sdword [mi: o64 c7 /0 id,s] X86_64,LONG,SM,OPT,ND
+MOV reg64,imm [ri: o64 b8+r iq] X86_64,LONG,SM
MOV rm8,imm [mi: hlexr c6 /0 ib] 8086,SM
MOV rm16,imm [mi: hlexr o16 c7 /0 iw] 8086,SM
MOV rm32,imm [mi: hlexr o32 c7 /0 id] 386,SM
-MOV rm64,imm [mi: hlexr o64 c7 /0 id,s] X64,SM
-MOV rm64,imm32 [mi: hlexr o64 c7 /0 id,s] X64
+MOV rm64,imm [mi: hlexr o64 c7 /0 id,s] X86_64,LONG,SM
+MOV rm64,imm32 [mi: hlexr o64 c7 /0 id,s] X86_64,LONG
MOV mem,imm8 [mi: hlexr c6 /0 ib] 8086,SM
MOV mem,imm16 [mi: hlexr o16 c7 /0 iw] 8086,SM
MOV mem,imm32 [mi: hlexr o32 c7 /0 id] 386,SM
MOVD mmxreg,rm32 [rm: np 0f 6e /r] PENT,MMX,SD
MOVD rm32,mmxreg [mr: np 0f 7e /r] PENT,MMX,SD
-MOVD mmxreg,rm64 [rm: np o64 0f 6e /r] X64,MMX,SX,ND
-MOVD rm64,mmxreg [mr: np o64 0f 7e /r] X64,MMX,SX,ND
+MOVD mmxreg,rm64 [rm: np o64 0f 6e /r] X86_64,LONG,MMX,SX,ND
+MOVD rm64,mmxreg [mr: np o64 0f 7e /r] X86_64,LONG,MMX,SX,ND
MOVQ mmxreg,mmxrm [rm: np 0f 6f /r] PENT,MMX,SQ
MOVQ mmxrm,mmxreg [mr: np 0f 7f /r] PENT,MMX,SQ
-MOVQ mmxreg,rm64 [rm: np o64 0f 6e /r] X64,MMX
-MOVQ rm64,mmxreg [mr: np o64 0f 7e /r] X64,MMX
+MOVQ mmxreg,rm64 [rm: np o64 0f 6e /r] X86_64,LONG,MMX
+MOVQ rm64,mmxreg [mr: np o64 0f 7e /r] X86_64,LONG,MMX
MOVSB void [ a4] 8086
MOVSD void [ o32 a5] 386
-MOVSQ void [ o64 a5] X64
+MOVSQ void [ o64 a5] X86_64,LONG
MOVSW void [ o16 a5] 8086
MOVSX reg16,mem [rm: o16 0f be /r] 386,SB
MOVSX reg16,reg8 [rm: o16 0f be /r] 386
MOVSX reg32,rm8 [rm: o32 0f be /r] 386
MOVSX reg32,rm16 [rm: o32 0f bf /r] 386
-MOVSX reg64,rm8 [rm: o64 0f be /r] X64
-MOVSX reg64,rm16 [rm: o64 0f bf /r] X64
-MOVSXD reg64,rm32 [rm: o64 63 /r] X64
-MOVSX reg64,rm32 [rm: o64 63 /r] X64,ND
+MOVSX reg64,rm8 [rm: o64 0f be /r] X86_64,LONG
+MOVSX reg64,rm16 [rm: o64 0f bf /r] X86_64,LONG
+MOVSXD reg64,rm32 [rm: o64 63 /r] X86_64,LONG
+MOVSX reg64,rm32 [rm: o64 63 /r] X86_64,LONG,ND
MOVZX reg16,mem [rm: o16 0f b6 /r] 386,SB
MOVZX reg16,reg8 [rm: o16 0f b6 /r] 386
MOVZX reg32,rm8 [rm: o32 0f b6 /r] 386
MOVZX reg32,rm16 [rm: o32 0f b7 /r] 386
-MOVZX reg64,rm8 [rm: o64 0f b6 /r] X64
-MOVZX reg64,rm16 [rm: o64 0f b7 /r] X64
+MOVZX reg64,rm8 [rm: o64 0f b6 /r] X86_64,LONG
+MOVZX reg64,rm16 [rm: o64 0f b7 /r] X86_64,LONG
MUL rm8 [m: f6 /4] 8086
MUL rm16 [m: o16 f7 /4] 8086
MUL rm32 [m: o32 f7 /4] 386
-MUL rm64 [m: o64 f7 /4] X64
+MUL rm64 [m: o64 f7 /4] X86_64,LONG
MWAIT void [ 0f 01 c9] PRESCOTT
MWAIT reg_eax,reg_ecx [--: 0f 01 c9] PRESCOTT,ND
MWAITX void [ 0f 01 fb] AMD
@@ -905,48 +905,48 @@ MWAITX reg_eax,reg_ecx [--: 0f 01 fb] AMD,ND
NEG rm8 [m: hle f6 /3] 8086,LOCK
NEG rm16 [m: hle o16 f7 /3] 8086,LOCK
NEG rm32 [m: hle o32 f7 /3] 386,LOCK
-NEG rm64 [m: hle o64 f7 /3] X64,LOCK
+NEG rm64 [m: hle o64 f7 /3] X86_64,LONG,LOCK
NOP void [ norexb nof3 90] 8086
NOP rm16 [m: o16 0f 1f /0] P6
NOP rm32 [m: o32 0f 1f /0] P6
-NOP rm64 [m: o64 0f 1f /0] X64
+NOP rm64 [m: o64 0f 1f /0] X86_64,LONG
NOT rm8 [m: hle f6 /2] 8086,LOCK
NOT rm16 [m: hle o16 f7 /2] 8086,LOCK
NOT rm32 [m: hle o32 f7 /2] 386,LOCK
-NOT rm64 [m: hle o64 f7 /2] X64,LOCK
+NOT rm64 [m: hle o64 f7 /2] X86_64,LONG,LOCK
OR mem,reg8 [mr: hle 08 /r] 8086,SM,LOCK
OR reg8,reg8 [mr: 08 /r] 8086
OR mem,reg16 [mr: hle o16 09 /r] 8086,SM,LOCK
OR reg16,reg16 [mr: o16 09 /r] 8086
OR mem,reg32 [mr: hle o32 09 /r] 386,SM,LOCK
OR reg32,reg32 [mr: o32 09 /r] 386
-OR mem,reg64 [mr: hle o64 09 /r] X64,SM,LOCK
-OR reg64,reg64 [mr: o64 09 /r] X64
+OR mem,reg64 [mr: hle o64 09 /r] X86_64,LONG,SM,LOCK
+OR reg64,reg64 [mr: o64 09 /r] X86_64,LONG
OR reg8,mem [rm: 0a /r] 8086,SM
OR reg8,reg8 [rm: 0a /r] 8086
OR reg16,mem [rm: o16 0b /r] 8086,SM
OR reg16,reg16 [rm: o16 0b /r] 8086
OR reg32,mem [rm: o32 0b /r] 386,SM
OR reg32,reg32 [rm: o32 0b /r] 386
-OR reg64,mem [rm: o64 0b /r] X64,SM
-OR reg64,reg64 [rm: o64 0b /r] X64
+OR reg64,mem [rm: o64 0b /r] X86_64,LONG,SM
+OR reg64,reg64 [rm: o64 0b /r] X86_64,LONG
OR rm16,imm8 [mi: hle o16 83 /1 ib,s] 8086,LOCK
OR rm32,imm8 [mi: hle o32 83 /1 ib,s] 386,LOCK
-OR rm64,imm8 [mi: hle o64 83 /1 ib,s] X64,LOCK
+OR rm64,imm8 [mi: hle o64 83 /1 ib,s] X86_64,LONG,LOCK
OR reg_al,imm [-i: 0c ib] 8086,SM
OR reg_ax,sbyteword [mi: o16 83 /1 ib,s] 8086,SM,ND
OR reg_ax,imm [-i: o16 0d iw] 8086,SM
OR reg_eax,sbytedword [mi: o32 83 /1 ib,s] 386,SM,ND
OR reg_eax,imm [-i: o32 0d id] 386,SM
-OR reg_rax,sbytedword [mi: o64 83 /1 ib,s] X64,SM,ND
-OR reg_rax,imm [-i: o64 0d id,s] X64,SM
+OR reg_rax,sbytedword [mi: o64 83 /1 ib,s] X86_64,LONG,SM,ND
+OR reg_rax,imm [-i: o64 0d id,s] X86_64,LONG,SM
OR rm8,imm [mi: hle 80 /1 ib] 8086,SM,LOCK
OR rm16,sbyteword [mi: hle o16 83 /1 ib,s] 8086,SM,LOCK,ND
OR rm16,imm [mi: hle o16 81 /1 iw] 8086,SM,LOCK
OR rm32,sbytedword [mi: hle o32 83 /1 ib,s] 386,SM,LOCK,ND
OR rm32,imm [mi: hle o32 81 /1 id] 386,SM,LOCK
-OR rm64,sbytedword [mi: hle o64 83 /1 ib,s] X64,SM,LOCK,ND
-OR rm64,imm [mi: hle o64 81 /1 id,s] X64,SM,LOCK
+OR rm64,sbytedword [mi: hle o64 83 /1 ib,s] X86_64,LONG,SM,LOCK,ND
+OR rm64,imm [mi: hle o64 81 /1 id,s] X86_64,LONG,SM,LOCK
OR mem,imm8 [mi: hle 80 /1 ib] 8086,SM,LOCK
OR mem,sbyteword16 [mi: hle o16 83 /1 ib,s] 8086,SM,LOCK,ND
OR mem,imm16 [mi: hle o16 81 /1 iw] 8086,SM,LOCK
@@ -1016,10 +1016,10 @@ PMVNZB mmxreg,mem [rm: 0f 5a /r] PENT,MMX,SQ,CYRIX
PMVZB mmxreg,mem [rm: 0f 58 /r] PENT,MMX,SQ,CYRIX
POP reg16 [r: o16 58+r] 8086
POP reg32 [r: o32 58+r] 386,NOLONG
-POP reg64 [r: o64nw 58+r] X64
+POP reg64 [r: o64nw 58+r] X86_64,LONG
POP rm16 [m: o16 8f /0] 8086
POP rm32 [m: o32 8f /0] 386,NOLONG
-POP rm64 [m: o64nw 8f /0] X64
+POP rm64 [m: o64nw 8f /0] X86_64,LONG
POP reg_es [-: 07] 8086,NOLONG
POP reg_cs [-: 0f] 8086,UNDOC,ND,OBSOLETE
POP reg_ss [-: 17] 8086,NOLONG
@@ -1031,7 +1031,7 @@ POPAD void [ o32 61] 386,NOLONG
POPAW void [ o16 61] 186,NOLONG
POPF void [ odf 9d] 8086
POPFD void [ o32 9d] 386,NOLONG
-POPFQ void [ o32 9d] X64
+POPFQ void [ o32 9d] X86_64,LONG
POPFW void [ o16 9d] 8086
POR mmxreg,mmxrm [rm: np o64nw 0f eb /r] PENT,MMX,SQ
PREFETCH mem [m: 0f 0d /0] PENT,3DNOW,SQ
@@ -1068,10 +1068,10 @@ PUNPCKLDQ mmxreg,mmxrm [rm: np o64nw 0f 62 /r] PENT,MMX,SQ
PUNPCKLWD mmxreg,mmxrm [rm: np o64nw 0f 61 /r] PENT,MMX,SQ
PUSH reg16 [r: o16 50+r] 8086
PUSH reg32 [r: o32 50+r] 386,NOLONG
-PUSH reg64 [r: o64nw 50+r] X64
+PUSH reg64 [r: o64nw 50+r] X86_64,LONG
PUSH rm16 [m: o16 ff /6] 8086
PUSH rm32 [m: o32 ff /6] 386,NOLONG
-PUSH rm64 [m: o64nw ff /6] X64
+PUSH rm64 [m: o64nw ff /6] X86_64,LONG
PUSH reg_es [-: 06] 8086,NOLONG
PUSH reg_cs [-: 0e] 8086,NOLONG
PUSH reg_ss [-: 16] 8086,NOLONG
@@ -1085,16 +1085,16 @@ PUSH sbytedword32 [i: o32 6a ib,s] 386,NOLONG,AR0,SIZE,ND
PUSH imm32 [i: o32 68 id] 386,NOLONG,AR0,SIZE
PUSH sbytedword32 [i: o32 6a ib,s] 386,NOLONG,SD,ND
PUSH imm32 [i: o32 68 id] 386,NOLONG,SD
-PUSH sbytedword64 [i: o64nw 6a ib,s] X64,AR0,SIZE,ND
-PUSH imm64 [i: o64nw 68 id,s] X64,AR0,SIZE
-PUSH sbytedword32 [i: o64nw 6a ib,s] X64,AR0,SIZE,ND
-PUSH imm32 [i: o64nw 68 id,s] X64,AR0,SIZE
+PUSH sbytedword64 [i: o64nw 6a ib,s] X86_64,LONG,AR0,SIZE,ND
+PUSH imm64 [i: o64nw 68 id,s] X86_64,LONG,AR0,SIZE
+PUSH sbytedword32 [i: o64nw 6a ib,s] X86_64,LONG,AR0,SIZE,ND
+PUSH imm32 [i: o64nw 68 id,s] X86_64,LONG,AR0,SIZE
PUSHA void [ odf 60] 186,NOLONG
PUSHAD void [ o32 60] 386,NOLONG
PUSHAW void [ o16 60] 186,NOLONG
PUSHF void [ odf 9c] 8086
PUSHFD void [ o32 9c] 386,NOLONG
-PUSHFQ void [ o32 9c] X64
+PUSHFQ void [ o32 9c] X86_64,LONG
PUSHFW void [ o16 9c] 8086
PXOR mmxreg,mmxrm [rm: np o64nw 0f ef /r] PENT,MMX,SQ
RCL rm8,unity [m-: d0 /2] 8086
@@ -1106,9 +1106,9 @@ RCL rm16,imm8 [mi: o16 c1 /2 ib,u] 186
RCL rm32,unity [m-: o32 d1 /2] 386
RCL rm32,reg_cl [m-: o32 d3 /2] 386
RCL rm32,imm8 [mi: o32 c1 /2 ib,u] 386
-RCL rm64,unity [m-: o64 d1 /2] X64
-RCL rm64,reg_cl [m-: o64 d3 /2] X64
-RCL rm64,imm8 [mi: o64 c1 /2 ib,u] X64
+RCL rm64,unity [m-: o64 d1 /2] X86_64,LONG
+RCL rm64,reg_cl [m-: o64 d3 /2] X86_64,LONG
+RCL rm64,imm8 [mi: o64 c1 /2 ib,u] X86_64,LONG
RCR rm8,unity [m-: d0 /3] 8086
RCR rm8,reg_cl [m-: d2 /3] 8086
RCR rm8,imm8 [mi: c0 /3 ib,u] 186
@@ -1118,9 +1118,9 @@ RCR rm16,imm8 [mi: o16 c1 /3 ib,u] 186
RCR rm32,unity [m-: o32 d1 /3] 386
RCR rm32,reg_cl [m-: o32 d3 /3] 386
RCR rm32,imm8 [mi: o32 c1 /3 ib,u] 386
-RCR rm64,unity [m-: o64 d1 /3] X64
-RCR rm64,reg_cl [m-: o64 d3 /3] X64
-RCR rm64,imm8 [mi: o64 c1 /3 ib,u] X64
+RCR rm64,unity [m-: o64 d1 /3] X86_64,LONG
+RCR rm64,reg_cl [m-: o64 d3 /3] X86_64,LONG
+RCR rm64,imm8 [mi: o64 c1 /3 ib,u] X86_64,LONG
RDSHR rm32 [m: o32 0f 36 /0] P6,CYRIX,SMM
RDMSR void [ 0f 32] PENT,PRIV
RDPMC void [ 0f 33] P6
@@ -1144,12 +1144,12 @@ RETFD void [ o32 cb] 8086
RETFD imm [i: o32 ca iw] 8086,SW
RETND void [ o32 c3] 8086,BND,NOLONG
RETND imm [i: o32 c2 iw] 8086,SW,BND,NOLONG
-RETQ void [ o64nw c3] X64,BND
-RETQ imm [i: o64nw c2 iw] X64,SW,BND
-RETFQ void [ o64 cb] X64
-RETFQ imm [i: o64 ca iw] X64,SW
-RETNQ void [ o64nw c3] X64,BND
-RETNQ imm [i: o64nw c2 iw] X64,SW,BND
+RETQ void [ o64nw c3] X86_64,LONG,BND
+RETQ imm [i: o64nw c2 iw] X86_64,LONG,SW,BND
+RETFQ void [ o64 cb] X86_64,LONG
+RETFQ imm [i: o64 ca iw] X86_64,LONG,SW
+RETNQ void [ o64nw c3] X86_64,LONG,BND
+RETNQ imm [i: o64nw c2 iw] X86_64,LONG,SW,BND
ROL rm8,unity [m-: d0 /0] 8086
ROL rm8,reg_cl [m-: d2 /0] 8086
@@ -1160,9 +1160,9 @@ ROL rm16,imm8 [mi: o16 c1 /0 ib,u] 186
ROL rm32,unity [m-: o32 d1 /0] 386
ROL rm32,reg_cl [m-: o32 d3 /0] 386
ROL rm32,imm8 [mi: o32 c1 /0 ib,u] 386
-ROL rm64,unity [m-: o64 d1 /0] X64
-ROL rm64,reg_cl [m-: o64 d3 /0] X64
-ROL rm64,imm8 [mi: o64 c1 /0 ib,u] X64
+ROL rm64,unity [m-: o64 d1 /0] X86_64,LONG
+ROL rm64,reg_cl [m-: o64 d3 /0] X86_64,LONG
+ROL rm64,imm8 [mi: o64 c1 /0 ib,u] X86_64,LONG
ROR rm8,unity [m-: d0 /1] 8086
ROR rm8,reg_cl [m-: d2 /1] 8086
ROR rm8,imm8 [mi: c0 /1 ib,u] 186
@@ -1172,9 +1172,9 @@ ROR rm16,imm8 [mi: o16 c1 /1 ib,u] 186
ROR rm32,unity [m-: o32 d1 /1] 386
ROR rm32,reg_cl [m-: o32 d3 /1] 386
ROR rm32,imm8 [mi: o32 c1 /1 ib,u] 386
-ROR rm64,unity [m-: o64 d1 /1] X64
-ROR rm64,reg_cl [m-: o64 d3 /1] X64
-ROR rm64,imm8 [mi: o64 c1 /1 ib,u] X64
+ROR rm64,unity [m-: o64 d1 /1] X86_64,LONG
+ROR rm64,reg_cl [m-: o64 d3 /1] X86_64,LONG
+ROR rm64,imm8 [mi: o64 c1 /1 ib,u] X86_64,LONG
RDM void [ 0f 3a] P6,CYRIX,ND
RSDC reg_sreg,mem80 [rm: 0f 79 /r] 486,CYRIX,SMM
RSLDT mem80 [m: 0f 7b /0] 486,CYRIX,SMM
@@ -1190,9 +1190,9 @@ SAL rm16,imm8 [mi: o16 c1 /4 ib,u] 186,ND
SAL rm32,unity [m-: o32 d1 /4] 386,ND
SAL rm32,reg_cl [m-: o32 d3 /4] 386,ND
SAL rm32,imm8 [mi: o32 c1 /4 ib,u] 386,ND
-SAL rm64,unity [m-: o64 d1 /4] X64,ND
-SAL rm64,reg_cl [m-: o64 d3 /4] X64,ND
-SAL rm64,imm8 [mi: o64 c1 /4 ib,u] X64,ND
+SAL rm64,unity [m-: o64 d1 /4] X86_64,LONG,ND
+SAL rm64,reg_cl [m-: o64 d3 /4] X86_64,LONG,ND
+SAL rm64,imm8 [mi: o64 c1 /4 ib,u] X86_64,LONG,ND
SALC void [ d6] 8086,UNDOC
SAR rm8,unity [m-: d0 /7] 8086
SAR rm8,reg_cl [m-: d2 /7] 8086
@@ -1203,42 +1203,42 @@ SAR rm16,imm8 [mi: o16 c1 /7 ib,u] 186
SAR rm32,unity [m-: o32 d1 /7] 386
SAR rm32,reg_cl [m-: o32 d3 /7] 386
SAR rm32,imm8 [mi: o32 c1 /7 ib,u] 386
-SAR rm64,unity [m-: o64 d1 /7] X64
-SAR rm64,reg_cl [m-: o64 d3 /7] X64
-SAR rm64,imm8 [mi: o64 c1 /7 ib,u] X64
+SAR rm64,unity [m-: o64 d1 /7] X86_64,LONG
+SAR rm64,reg_cl [m-: o64 d3 /7] X86_64,LONG
+SAR rm64,imm8 [mi: o64 c1 /7 ib,u] X86_64,LONG
SBB mem,reg8 [mr: hle 18 /r] 8086,SM,LOCK
SBB reg8,reg8 [mr: 18 /r] 8086
SBB mem,reg16 [mr: hle o16 19 /r] 8086,SM,LOCK
SBB reg16,reg16 [mr: o16 19 /r] 8086
SBB mem,reg32 [mr: hle o32 19 /r] 386,SM,LOCK
SBB reg32,reg32 [mr: o32 19 /r] 386
-SBB mem,reg64 [mr: hle o64 19 /r] X64,SM,LOCK
-SBB reg64,reg64 [mr: o64 19 /r] X64
+SBB mem,reg64 [mr: hle o64 19 /r] X86_64,LONG,SM,LOCK
+SBB reg64,reg64 [mr: o64 19 /r] X86_64,LONG
SBB reg8,mem [rm: 1a /r] 8086,SM
SBB reg8,reg8 [rm: 1a /r] 8086
SBB reg16,mem [rm: o16 1b /r] 8086,SM
SBB reg16,reg16 [rm: o16 1b /r] 8086
SBB reg32,mem [rm: o32 1b /r] 386,SM
SBB reg32,reg32 [rm: o32 1b /r] 386
-SBB reg64,mem [rm: o64 1b /r] X64,SM
-SBB reg64,reg64 [rm: o64 1b /r] X64
+SBB reg64,mem [rm: o64 1b /r] X86_64,LONG,SM
+SBB reg64,reg64 [rm: o64 1b /r] X86_64,LONG
SBB rm16,imm8 [mi: hle o16 83 /3 ib,s] 8086,LOCK
SBB rm32,imm8 [mi: hle o32 83 /3 ib,s] 386,LOCK
-SBB rm64,imm8 [mi: hle o64 83 /3 ib,s] X64,LOCK
+SBB rm64,imm8 [mi: hle o64 83 /3 ib,s] X86_64,LONG,LOCK
SBB reg_al,imm [-i: 1c ib] 8086,SM
SBB reg_ax,sbyteword [mi: o16 83 /3 ib,s] 8086,SM,ND
SBB reg_ax,imm [-i: o16 1d iw] 8086,SM
SBB reg_eax,sbytedword [mi: o32 83 /3 ib,s] 386,SM,ND
SBB reg_eax,imm [-i: o32 1d id] 386,SM
-SBB reg_rax,sbytedword [mi: o64 83 /3 ib,s] X64,SM,ND
-SBB reg_rax,imm [-i: o64 1d id,s] X64,SM
+SBB reg_rax,sbytedword [mi: o64 83 /3 ib,s] X86_64,LONG,SM,ND
+SBB reg_rax,imm [-i: o64 1d id,s] X86_64,LONG,SM
SBB rm8,imm [mi: hle 80 /3 ib] 8086,SM,LOCK
SBB rm16,sbyteword [mi: hle o16 83 /3 ib,s] 8086,SM,LOCK,ND
SBB rm16,imm [mi: hle o16 81 /3 iw] 8086,SM,LOCK
SBB rm32,sbytedword [mi: hle o32 83 /3 ib,s] 386,SM,LOCK,ND
SBB rm32,imm [mi: hle o32 81 /3 id] 386,SM,LOCK
-SBB rm64,sbytedword [mi: hle o64 83 /3 ib,s] X64,SM,LOCK,ND
-SBB rm64,imm [mi: hle o64 81 /3 id,s] X64,SM,LOCK
+SBB rm64,sbytedword [mi: hle o64 83 /3 ib,s] X86_64,LONG,SM,LOCK,ND
+SBB rm64,imm [mi: hle o64 81 /3 id,s] X86_64,LONG,SM,LOCK
SBB mem,imm8 [mi: hle 80 /3 ib] 8086,SM,LOCK
SBB mem,sbyteword16 [mi: hle o16 83 /3 ib,s] 8086,SM,LOCK,ND
SBB mem,imm16 [mi: hle o16 81 /3 iw] 8086,SM,LOCK
@@ -1247,9 +1247,9 @@ SBB mem,imm32 [mi: hle o32 81 /3 id] 386,SM,LOCK
SBB rm8,imm [mi: hle 82 /3 ib] 8086,SM,LOCK,ND,NOLONG
SCASB void [ repe ae] 8086
SCASD void [ repe o32 af] 386
-SCASQ void [ repe o64 af] X64
+SCASQ void [ repe o64 af] X86_64,LONG
SCASW void [ repe o16 af] 8086
-SFENCE void [ np 0f ae f8] X64,AMD
+SFENCE void [ np 0f ae f8] X86_64,LONG,AMD
SGDT mem [m: 0f 01 /0] 286
SHL rm8,unity [m-: d0 /4] 8086
SHL rm8,reg_cl [m-: d2 /4] 8086
@@ -1260,21 +1260,21 @@ SHL rm16,imm8 [mi: o16 c1 /4 ib,u] 186
SHL rm32,unity [m-: o32 d1 /4] 386
SHL rm32,reg_cl [m-: o32 d3 /4] 386
SHL rm32,imm8 [mi: o32 c1 /4 ib,u] 386
-SHL rm64,unity [m-: o64 d1 /4] X64
-SHL rm64,reg_cl [m-: o64 d3 /4] X64
-SHL rm64,imm8 [mi: o64 c1 /4 ib,u] X64
+SHL rm64,unity [m-: o64 d1 /4] X86_64,LONG
+SHL rm64,reg_cl [m-: o64 d3 /4] X86_64,LONG
+SHL rm64,imm8 [mi: o64 c1 /4 ib,u] X86_64,LONG
SHLD mem,reg16,imm [mri: o16 0f a4 /r ib,u] 386,SM2,SB,AR2
SHLD reg16,reg16,imm [mri: o16 0f a4 /r ib,u] 386,SM2,SB,AR2
SHLD mem,reg32,imm [mri: o32 0f a4 /r ib,u] 386,SM2,SB,AR2
SHLD reg32,reg32,imm [mri: o32 0f a4 /r ib,u] 386,SM2,SB,AR2
-SHLD mem,reg64,imm [mri: o64 0f a4 /r ib,u] X64,SM2,SB,AR2
-SHLD reg64,reg64,imm [mri: o64 0f a4 /r ib,u] X64,SM2,SB,AR2
+SHLD mem,reg64,imm [mri: o64 0f a4 /r ib,u] X86_64,LONG,SM2,SB,AR2
+SHLD reg64,reg64,imm [mri: o64 0f a4 /r ib,u] X86_64,LONG,SM2,SB,AR2
SHLD mem,reg16,reg_cl [mr-: o16 0f a5 /r] 386,SM
SHLD reg16,reg16,reg_cl [mr-: o16 0f a5 /r] 386
SHLD mem,reg32,reg_cl [mr-: o32 0f a5 /r] 386,SM
SHLD reg32,reg32,reg_cl [mr-: o32 0f a5 /r] 386
-SHLD mem,reg64,reg_cl [mr-: o64 0f a5 /r] X64,SM
-SHLD reg64,reg64,reg_cl [mr-: o64 0f a5 /r] X64
+SHLD mem,reg64,reg_cl [mr-: o64 0f a5 /r] X86_64,LONG,SM
+SHLD reg64,reg64,reg_cl [mr-: o64 0f a5 /r] X86_64,LONG
SHR rm8,unity [m-: d0 /5] 8086
SHR rm8,reg_cl [m-: d2 /5] 8086
SHR rm8,imm8 [mi: c0 /5 ib,u] 186
@@ -1284,29 +1284,29 @@ SHR rm16,imm8 [mi: o16 c1 /5 ib,u] 186
SHR rm32,unity [m-: o32 d1 /5] 386
SHR rm32,reg_cl [m-: o32 d3 /5] 386
SHR rm32,imm8 [mi: o32 c1 /5 ib,u] 386
-SHR rm64,unity [m-: o64 d1 /5] X64
-SHR rm64,reg_cl [m-: o64 d3 /5] X64
-SHR rm64,imm8 [mi: o64 c1 /5 ib,u] X64
+SHR rm64,unity [m-: o64 d1 /5] X86_64,LONG
+SHR rm64,reg_cl [m-: o64 d3 /5] X86_64,LONG
+SHR rm64,imm8 [mi: o64 c1 /5 ib,u] X86_64,LONG
SHRD mem,reg16,imm [mri: o16 0f ac /r ib,u] 386,SM2,SB,AR2
SHRD reg16,reg16,imm [mri: o16 0f ac /r ib,u] 386,SM2,SB,AR2
SHRD mem,reg32,imm [mri: o32 0f ac /r ib,u] 386,SM2,SB,AR2
SHRD reg32,reg32,imm [mri: o32 0f ac /r ib,u] 386,SM2,SB,AR2
-SHRD mem,reg64,imm [mri: o64 0f ac /r ib,u] X64,SM2,SB,AR2
-SHRD reg64,reg64,imm [mri: o64 0f ac /r ib,u] X64,SM2,SB,AR2
+SHRD mem,reg64,imm [mri: o64 0f ac /r ib,u] X86_64,LONG,SM2,SB,AR2
+SHRD reg64,reg64,imm [mri: o64 0f ac /r ib,u] X86_64,LONG,SM2,SB,AR2
SHRD mem,reg16,reg_cl [mr-: o16 0f ad /r] 386,SM
SHRD reg16,reg16,reg_cl [mr-: o16 0f ad /r] 386
SHRD mem,reg32,reg_cl [mr-: o32 0f ad /r] 386,SM
SHRD reg32,reg32,reg_cl [mr-: o32 0f ad /r] 386
-SHRD mem,reg64,reg_cl [mr-: o64 0f ad /r] X64,SM
-SHRD reg64,reg64,reg_cl [mr-: o64 0f ad /r] X64
+SHRD mem,reg64,reg_cl [mr-: o64 0f ad /r] X86_64,LONG,SM
+SHRD reg64,reg64,reg_cl [mr-: o64 0f ad /r] X86_64,LONG
SIDT mem [m: 0f 01 /1] 286
SLDT mem [m: 0f 00 /0] 286
SLDT mem16 [m: 0f 00 /0] 286
SLDT reg16 [m: o16 0f 00 /0] 286
SLDT reg32 [m: o32 0f 00 /0] 386
-SLDT reg64 [m: o64nw 0f 00 /0] X64,ND
-SLDT reg64 [m: o64 0f 00 /0] X64
-SKINIT void [ 0f 01 de] X64
+SLDT reg64 [m: o64nw 0f 00 /0] X86_64,LONG,ND
+SLDT reg64 [m: o64 0f 00 /0] X86_64,LONG
+SKINIT void [ 0f 01 de] X86_64,LONG
SMI void [ f1] 386,UNDOC
SMINT void [ 0f 38] P6,CYRIX,ND
; Older Cyrix chips had this; they had to move due to conflict with MMX
@@ -1315,52 +1315,52 @@ SMSW mem [m: 0f 01 /4] 286
SMSW mem16 [m: 0f 01 /4] 286
SMSW reg16 [m: o16 0f 01 /4] 286
SMSW reg32 [m: o32 0f 01 /4] 386
-SMSW reg64 [m: o64 0f 01 /4] X64
+SMSW reg64 [m: o64 0f 01 /4] X86_64,LONG
STC void [ f9] 8086
STD void [ fd] 8086
STI void [ fb] 8086
STOSB void [ aa] 8086
STOSD void [ o32 ab] 386
-STOSQ void [ o64 ab] X64
+STOSQ void [ o64 ab] X86_64,LONG
STOSW void [ o16 ab] 8086
STR mem [m: 0f 00 /1] 286,PROT
STR mem16 [m: 0f 00 /1] 286,PROT
STR reg16 [m: o16 0f 00 /1] 286,PROT
STR reg32 [m: o32 0f 00 /1] 386,PROT
-STR reg64 [m: o64 0f 00 /1] X64
+STR reg64 [m: o64 0f 00 /1] X86_64,LONG
SUB mem,reg8 [mr: hle 28 /r] 8086,SM,LOCK
SUB reg8,reg8 [mr: 28 /r] 8086
SUB mem,reg16 [mr: hle o16 29 /r] 8086,SM,LOCK
SUB reg16,reg16 [mr: o16 29 /r] 8086
SUB mem,reg32 [mr: hle o32 29 /r] 386,SM,LOCK
SUB reg32,reg32 [mr: o32 29 /r] 386
-SUB mem,reg64 [mr: hle o64 29 /r] X64,SM,LOCK
-SUB reg64,reg64 [mr: o64 29 /r] X64
+SUB mem,reg64 [mr: hle o64 29 /r] X86_64,LONG,SM,LOCK
+SUB reg64,reg64 [mr: o64 29 /r] X86_64,LONG
SUB reg8,mem [rm: 2a /r] 8086,SM
SUB reg8,reg8 [rm: 2a /r] 8086
SUB reg16,mem [rm: o16 2b /r] 8086,SM
SUB reg16,reg16 [rm: o16 2b /r] 8086
SUB reg32,mem [rm: o32 2b /r] 386,SM
SUB reg32,reg32 [rm: o32 2b /r] 386
-SUB reg64,mem [rm: o64 2b /r] X64,SM
-SUB reg64,reg64 [rm: o64 2b /r] X64
+SUB reg64,mem [rm: o64 2b /r] X86_64,LONG,SM
+SUB reg64,reg64 [rm: o64 2b /r] X86_64,LONG
SUB rm16,imm8 [mi: hle o16 83 /5 ib,s] 8086,LOCK
SUB rm32,imm8 [mi: hle o32 83 /5 ib,s] 386,LOCK
-SUB rm64,imm8 [mi: hle o64 83 /5 ib,s] X64,LOCK
+SUB rm64,imm8 [mi: hle o64 83 /5 ib,s] X86_64,LONG,LOCK
SUB reg_al,imm [-i: 2c ib] 8086,SM
SUB reg_ax,sbyteword [mi: o16 83 /5 ib,s] 8086,SM,ND
SUB reg_ax,imm [-i: o16 2d iw] 8086,SM
SUB reg_eax,sbytedword [mi: o32 83 /5 ib,s] 386,SM,ND
SUB reg_eax,imm [-i: o32 2d id] 386,SM
-SUB reg_rax,sbytedword [mi: o64 83 /5 ib,s] X64,SM,ND
-SUB reg_rax,imm [-i: o64 2d id,s] X64,SM
+SUB reg_rax,sbytedword [mi: o64 83 /5 ib,s] X86_64,LONG,SM,ND
+SUB reg_rax,imm [-i: o64 2d id,s] X86_64,LONG,SM
SUB rm8,imm [mi: hle 80 /5 ib] 8086,SM,LOCK
SUB rm16,sbyteword [mi: hle o16 83 /5 ib,s] 8086,SM,LOCK,ND
SUB rm16,imm [mi: hle o16 81 /5 iw] 8086,SM,LOCK
SUB rm32,sbytedword [mi: hle o32 83 /5 ib,s] 386,SM,LOCK,ND
SUB rm32,imm [mi: hle o32 81 /5 id] 386,SM,LOCK
-SUB rm64,sbytedword [mi: hle o64 83 /5 ib,s] X64,SM,LOCK,ND
-SUB rm64,imm [mi: hle o64 81 /5 id,s] X64,SM,LOCK
+SUB rm64,sbytedword [mi: hle o64 83 /5 ib,s] X86_64,LONG,SM,LOCK,ND
+SUB rm64,imm [mi: hle o64 81 /5 id,s] X86_64,LONG,SM,LOCK
SUB mem,imm8 [mi: hle 80 /5 ib] 8086,SM,LOCK
SUB mem,sbyteword16 [mi: hle o16 83 /5 ib,s] 8086,SM,LOCK,ND
SUB mem,imm16 [mi: hle o16 81 /5 iw] 8086,SM,LOCK
@@ -1370,7 +1370,7 @@ SUB rm8,imm [mi: hle 82 /5 ib] 8086,SM,LOCK,ND,NOLONG
SVDC mem80,reg_sreg [mr: 0f 78 /r] 486,CYRIX,SMM
SVLDT mem80 [m: 0f 7a /0] 486,CYRIX,SMM,ND
SVTS mem80 [m: 0f 7c /0] 486,CYRIX,SMM
-SWAPGS void [ 0f 01 f8] X64
+SWAPGS void [ 0f 01 f8] X86_64,LONG
SYSCALL void [ 0f 05] P6,AMD
SYSENTER void [ 0f 34] P6
SYSEXIT void [ 0f 35] P6,PRIV
@@ -1381,20 +1381,20 @@ TEST mem,reg16 [mr: o16 85 /r] 8086,SM
TEST reg16,reg16 [mr: o16 85 /r] 8086
TEST mem,reg32 [mr: o32 85 /r] 386,SM
TEST reg32,reg32 [mr: o32 85 /r] 386
-TEST mem,reg64 [mr: o64 85 /r] X64,SM
-TEST reg64,reg64 [mr: o64 85 /r] X64
+TEST mem,reg64 [mr: o64 85 /r] X86_64,LONG,SM
+TEST reg64,reg64 [mr: o64 85 /r] X86_64,LONG
TEST reg8,mem [rm: 84 /r] 8086,SM
TEST reg16,mem [rm: o16 85 /r] 8086,SM
TEST reg32,mem [rm: o32 85 /r] 386,SM
-TEST reg64,mem [rm: o64 85 /r] X64,SM
+TEST reg64,mem [rm: o64 85 /r] X86_64,LONG,SM
TEST reg_al,imm [-i: a8 ib] 8086,SM
TEST reg_ax,imm [-i: o16 a9 iw] 8086,SM
TEST reg_eax,imm [-i: o32 a9 id] 386,SM
-TEST reg_rax,imm [-i: o64 a9 id,s] X64,SM
+TEST reg_rax,imm [-i: o64 a9 id,s] X86_64,LONG,SM
TEST rm8,imm [mi: f6 /0 ib] 8086,SM
TEST rm16,imm [mi: o16 f7 /0 iw] 8086,SM
TEST rm32,imm [mi: o32 f7 /0 id] 386,SM
-TEST rm64,imm [mi: o64 f7 /0 id,s] X64,SM
+TEST rm64,imm [mi: o64 f7 /0 id,s] X86_64,LONG,SM
TEST mem,imm8 [mi: f6 /0 ib] 8086,SM
TEST mem,imm16 [mi: o16 f7 /0 iw] 8086,SM
TEST mem,imm32 [mi: o32 f7 /0 id] 386,SM
@@ -1440,18 +1440,18 @@ XADD mem,reg16 [mr: hle o16 0f c1 /r] 486,SM,LOCK
XADD reg16,reg16 [mr: o16 0f c1 /r] 486
XADD mem,reg32 [mr: hle o32 0f c1 /r] 486,SM,LOCK
XADD reg32,reg32 [mr: o32 0f c1 /r] 486
-XADD mem,reg64 [mr: hle o64 0f c1 /r] X64,SM,LOCK
-XADD reg64,reg64 [mr: o64 0f c1 /r] X64
+XADD mem,reg64 [mr: hle o64 0f c1 /r] X86_64,LONG,SM,LOCK
+XADD reg64,reg64 [mr: o64 0f c1 /r] X86_64,LONG
XBTS reg16,mem [rm: o16 0f a6 /r] 386,SW,UNDOC,ND
XBTS reg16,reg16 [rm: o16 0f a6 /r] 386,UNDOC,ND
XBTS reg32,mem [rm: o32 0f a6 /r] 386,SD,UNDOC,ND
XBTS reg32,reg32 [rm: o32 0f a6 /r] 386,UNDOC,ND
XCHG reg_ax,reg16 [-r: o16 90+r] 8086
XCHG reg_eax,reg32na [-r: o32 90+r] 386
-XCHG reg_rax,reg64 [-r: o64 90+r] X64
+XCHG reg_rax,reg64 [-r: o64 90+r] X86_64,LONG
XCHG reg16,reg_ax [r-: o16 90+r] 8086
XCHG reg32na,reg_eax [r-: o32 90+r] 386
-XCHG reg64,reg_rax [r-: o64 90+r] X64
+XCHG reg64,reg_rax [r-: o64 90+r] X86_64,LONG
; This must be NOLONG since opcode 90 is NOP, and in 64-bit mode
; "xchg eax,eax" is *not* a NOP.
XCHG reg_eax,reg_eax [--: o32 90] 386,NOLONG
@@ -1461,16 +1461,16 @@ XCHG reg16,mem [rm: hlenl o16 87 /r] 8086,SM,LOCK
XCHG reg16,reg16 [rm: o16 87 /r] 8086
XCHG reg32,mem [rm: hlenl o32 87 /r] 386,SM,LOCK
XCHG reg32,reg32 [rm: o32 87 /r] 386
-XCHG reg64,mem [rm: hlenl o64 87 /r] X64,SM,LOCK
-XCHG reg64,reg64 [rm: o64 87 /r] X64
+XCHG reg64,mem [rm: hlenl o64 87 /r] X86_64,LONG,SM,LOCK
+XCHG reg64,reg64 [rm: o64 87 /r] X86_64,LONG
XCHG mem,reg8 [mr: hlenl 86 /r] 8086,SM,LOCK
XCHG reg8,reg8 [mr: 86 /r] 8086
XCHG mem,reg16 [mr: hlenl o16 87 /r] 8086,SM,LOCK
XCHG reg16,reg16 [mr: o16 87 /r] 8086
XCHG mem,reg32 [mr: hlenl o32 87 /r] 386,SM,LOCK
XCHG reg32,reg32 [mr: o32 87 /r] 386
-XCHG mem,reg64 [mr: hlenl o64 87 /r] X64,SM,LOCK
-XCHG reg64,reg64 [mr: o64 87 /r] X64
+XCHG mem,reg64 [mr: hlenl o64 87 /r] X86_64,LONG,SM,LOCK
+XCHG reg64,reg64 [mr: o64 87 /r] X86_64,LONG
XLATB void [ d7] 8086
XLAT void [ d7] 8086
XOR mem,reg8 [mr: hle 30 /r] 8086,SM,LOCK
@@ -1479,33 +1479,33 @@ XOR mem,reg16 [mr: hle o16 31 /r] 8086,SM,LOCK
XOR reg16,reg16 [mr: o16 31 /r] 8086
XOR mem,reg32 [mr: hle o32 31 /r] 386,SM,LOCK
XOR reg32,reg32 [mr: o32 31 /r] 386
-XOR mem,reg64 [mr: hle o64 31 /r] X64,SM,LOCK
-XOR reg64,reg64 [mr: o64 31 /r] X64
+XOR mem,reg64 [mr: hle o64 31 /r] X86_64,LONG,SM,LOCK
+XOR reg64,reg64 [mr: o64 31 /r] X86_64,LONG
XOR reg8,mem [rm: 32 /r] 8086,SM
XOR reg8,reg8 [rm: 32 /r] 8086
XOR reg16,mem [rm: o16 33 /r] 8086,SM
XOR reg16,reg16 [rm: o16 33 /r] 8086
XOR reg32,mem [rm: o32 33 /r] 386,SM
XOR reg32,reg32 [rm: o32 33 /r] 386
-XOR reg64,mem [rm: o64 33 /r] X64,SM
-XOR reg64,reg64 [rm: o64 33 /r] X64
+XOR reg64,mem [rm: o64 33 /r] X86_64,LONG,SM
+XOR reg64,reg64 [rm: o64 33 /r] X86_64,LONG
XOR rm16,imm8 [mi: hle o16 83 /6 ib,s] 8086,LOCK
XOR rm32,imm8 [mi: hle o32 83 /6 ib,s] 386,LOCK
-XOR rm64,imm8 [mi: hle o64 83 /6 ib,s] X64,LOCK
+XOR rm64,imm8 [mi: hle o64 83 /6 ib,s] X86_64,LONG,LOCK
XOR reg_al,imm [-i: 34 ib] 8086,SM
XOR reg_ax,sbyteword [mi: o16 83 /6 ib,s] 8086,SM,ND
XOR reg_ax,imm [-i: o16 35 iw] 8086,SM
XOR reg_eax,sbytedword [mi: o32 83 /6 ib,s] 386,SM,ND
XOR reg_eax,imm [-i: o32 35 id] 386,SM
-XOR reg_rax,sbytedword [mi: o64 83 /6 ib,s] X64,SM,ND
-XOR reg_rax,imm [-i: o64 35 id,s] X64,SM
+XOR reg_rax,sbytedword [mi: o64 83 /6 ib,s] X86_64,LONG,SM,ND
+XOR reg_rax,imm [-i: o64 35 id,s] X86_64,LONG,SM
XOR rm8,imm [mi: hle 80 /6 ib] 8086,SM,LOCK
XOR rm16,sbyteword [mi: hle o16 83 /6 ib,s] 8086,SM,LOCK,ND
XOR rm16,imm [mi: hle o16 81 /6 iw] 8086,SM,LOCK
XOR rm32,sbytedword [mi: hle o32 83 /6 ib,s] 386,SM,LOCK,ND
XOR rm32,imm [mi: hle o32 81 /6 id] 386,SM,LOCK
-XOR rm64,sbytedword [mi: hle o64 83 /6 ib,s] X64,SM,LOCK,ND
-XOR rm64,imm [mi: hle o64 81 /6 id,s] X64,SM,LOCK
+XOR rm64,sbytedword [mi: hle o64 83 /6 ib,s] X86_64,LONG,SM,LOCK,ND
+XOR rm64,imm [mi: hle o64 81 /6 id,s] X86_64,LONG,SM,LOCK
XOR mem,imm8 [mi: hle 80 /6 ib] 8086,SM,LOCK
XOR mem,sbyteword16 [mi: hle o16 83 /6 ib,s] 8086,SM,LOCK,ND
XOR mem,imm16 [mi: hle o16 81 /6 iw] 8086,SM,LOCK
@@ -1516,12 +1516,12 @@ CMOVcc reg16,mem [rm: o16 0f 40+c /r] P6,SM
CMOVcc reg16,reg16 [rm: o16 0f 40+c /r] P6
CMOVcc reg32,mem [rm: o32 0f 40+c /r] P6,SM
CMOVcc reg32,reg32 [rm: o32 0f 40+c /r] P6
-CMOVcc reg64,mem [rm: o64 0f 40+c /r] X64,SM
-CMOVcc reg64,reg64 [rm: o64 0f 40+c /r] X64
+CMOVcc reg64,mem [rm: o64 0f 40+c /r] X86_64,LONG,SM
+CMOVcc reg64,reg64 [rm: o64 0f 40+c /r] X86_64,LONG
Jcc imm|near [i: odf 0f 80+c rel] 386,BND
Jcc imm16|near [i: o16 0f 80+c rel] 386,NOLONG,BND
Jcc imm32|near [i: o32 0f 80+c rel] 386,NOLONG,BND
-Jcc imm64|near [i: o64nw 0f 80+c rel] X64,BND
+Jcc imm64|near [i: o64nw 0f 80+c rel] X86_64,LONG,BND
Jcc imm|short [i: 70+c rel8] 8086,ND,BND
Jcc imm [i: jcc8 70+c rel8] 8086,ND,BND
Jcc imm [i: 0f 80+c rel] 386,ND,BND
@@ -1563,14 +1563,14 @@ CVTPI2PS xmmreg,mmxrm64 [rm: np 0f 2a /r] KATMAI,SSE,MMX
CVTPS2PI mmxreg,xmmrm64 [rm: np 0f 2d /r] KATMAI,SSE,MMX
CVTSI2SS xmmreg,mem [rm: f3 0f 2a /r] KATMAI,SSE,SD,AR1,ND
CVTSI2SS xmmreg,rm32 [rm: f3 0f 2a /r] KATMAI,SSE,SD,AR1
-CVTSI2SS xmmreg,rm64 [rm: o64 f3 0f 2a /r] X64,SSE,SQ,AR1
+CVTSI2SS xmmreg,rm64 [rm: o64 f3 0f 2a /r] X86_64,LONG,SSE,SQ,AR1
CVTSS2SI reg32,xmmreg [rm: f3 0f 2d /r] KATMAI,SSE,SD,AR1
CVTSS2SI reg32,mem [rm: f3 0f 2d /r] KATMAI,SSE,SD,AR1
-CVTSS2SI reg64,xmmreg [rm: o64 f3 0f 2d /r] X64,SSE,SD,AR1
-CVTSS2SI reg64,mem [rm: o64 f3 0f 2d /r] X64,SSE,SD,AR1
+CVTSS2SI reg64,xmmreg [rm: o64 f3 0f 2d /r] X86_64,LONG,SSE,SD,AR1
+CVTSS2SI reg64,mem [rm: o64 f3 0f 2d /r] X86_64,LONG,SSE,SD,AR1
CVTTPS2PI mmxreg,xmmrm [rm: np 0f 2c /r] KATMAI,SSE,MMX,SQ
CVTTSS2SI reg32,xmmrm [rm: f3 0f 2c /r] KATMAI,SSE,SD,AR1
-CVTTSS2SI reg64,xmmrm [rm: o64 f3 0f 2c /r] X64,SSE,SD,AR1
+CVTTSS2SI reg64,xmmrm [rm: o64 f3 0f 2c /r] X86_64,LONG,SSE,SD,AR1
DIVPS xmmreg,xmmrm128 [rm: np 0f 5e /r] KATMAI,SSE
DIVSS xmmreg,xmmrm32 [rm: f3 0f 5e /r] KATMAI,SSE
LDMXCSR mem32 [m: np 0f ae /2] KATMAI,SSE
@@ -1587,7 +1587,7 @@ MOVLPS xmmreg,mem64 [rm: np 0f 12 /r] KATMAI,SSE
MOVLPS mem64,xmmreg [mr: np 0f 13 /r] KATMAI,SSE
MOVHLPS xmmreg,xmmreg [rm: np 0f 12 /r] KATMAI,SSE
MOVMSKPS reg32,xmmreg [rm: np 0f 50 /r] KATMAI,SSE
-MOVMSKPS reg64,xmmreg [rm: np o64 0f 50 /r] X64,SSE
+MOVMSKPS reg64,xmmreg [rm: np o64 0f 50 /r] X86_64,LONG,SSE
MOVNTPS mem128,xmmreg [mr: np 0f 2b /r] KATMAI,SSE
MOVSS xmmreg,xmmrm32 [rm: f3 0f 10 /r] KATMAI,SSE
MOVSS mem32,xmmreg [mr: f3 0f 11 /r] KATMAI,SSE
@@ -1614,9 +1614,9 @@ XORPS xmmreg,xmmrm128 [rm: np 0f 57 /r] KATMAI,SSE
;# Introduced in Deschutes but necessary for SSE support
FXRSTOR mem [m: np 0f ae /1] P6,SSE,FPU
-FXRSTOR64 mem [m: o64 np 0f ae /1] X64,SSE,FPU
+FXRSTOR64 mem [m: o64 np 0f ae /1] X86_64,LONG,SSE,FPU
FXSAVE mem [m: np 0f ae /0] P6,SSE,FPU
-FXSAVE64 mem [m: o64 np 0f ae /0] X64,SSE,FPU
+FXSAVE64 mem [m: o64 np 0f ae /0] X86_64,LONG,SSE,FPU
;# XSAVE group (AVX and extended state)
; Introduced in late Penryn ... we really need to clean up the handling
@@ -1678,7 +1678,7 @@ MASKMOVDQU xmmreg,xmmreg [rm: 66 0f f7 /r] WILLAMETTE,SSE2
CLFLUSH mem [m: np 0f ae /7] WILLAMETTE,SSE2
MOVNTDQ mem,xmmreg [mr: 66 0f e7 /r] WILLAMETTE,SSE2,SO
MOVNTI mem,reg32 [mr: np 0f c3 /r] WILLAMETTE,SD
-MOVNTI mem,reg64 [mr: o64 np 0f c3 /r] X64,SQ
+MOVNTI mem,reg64 [mr: o64 np 0f c3 /r] X86_64,LONG,SQ
MOVNTPD mem,xmmreg [mr: 66 0f 2b /r] WILLAMETTE,SSE2,SO
LFENCE void [ np 0f ae e8] WILLAMETTE,SSE2
MFENCE void [ np 0f ae f0] WILLAMETTE,SSE2
@@ -1701,8 +1701,8 @@ MOVQ xmmreg,xmmreg [rm: f3 0f 7e /r] WILLAMETTE,SSE2
MOVQ xmmreg,xmmreg [mr: 66 0f d6 /r] WILLAMETTE,SSE2
MOVQ mem,xmmreg [mr: 66 0f d6 /r] WILLAMETTE,SSE2,SQ
MOVQ xmmreg,mem [rm: f3 0f 7e /r] WILLAMETTE,SSE2,SQ
-MOVQ xmmreg,rm64 [rm: 66 o64 0f 6e /r] X64,SSE2
-MOVQ rm64,xmmreg [mr: 66 o64 0f 7e /r] X64,SSE2
+MOVQ xmmreg,rm64 [rm: 66 o64 0f 6e /r] X86_64,LONG,SSE2
+MOVQ rm64,xmmreg [mr: 66 o64 0f 7e /r] X86_64,LONG,SSE2
MOVQ2DQ xmmreg,mmxreg [rm: f3 0f d6 /r] WILLAMETTE,SSE2
PACKSSWB xmmreg,xmmrm [rm: 66 0f 63 /r] WILLAMETTE,SSE2,SO
PACKSSDW xmmreg,xmmrm [rm: 66 0f 6b /r] WILLAMETTE,SSE2,SO
@@ -1727,10 +1727,10 @@ PCMPGTB xmmreg,xmmrm [rm: 66 0f 64 /r] WILLAMETTE,SSE2,SO
PCMPGTW xmmreg,xmmrm [rm: 66 0f 65 /r] WILLAMETTE,SSE2,SO
PCMPGTD xmmreg,xmmrm [rm: 66 0f 66 /r] WILLAMETTE,SSE2,SO
PEXTRW reg32,xmmreg,imm [rmi: 66 0f c5 /r ib,u] WILLAMETTE,SSE2,SB,AR2
-PEXTRW reg64,xmmreg,imm [rmi: 66 0f c5 /r ib,u] X64,SSE2,SB,AR2,ND
+PEXTRW reg64,xmmreg,imm [rmi: 66 0f c5 /r ib,u] X86_64,LONG,SSE2,SB,AR2,ND
PINSRW xmmreg,reg16,imm [rmi: 66 0f c4 /r ib,u] WILLAMETTE,SSE2,SB,AR2
PINSRW xmmreg,reg32,imm [rmi: 66 0f c4 /r ib,u] WILLAMETTE,SSE2,SB,AR2,ND
-PINSRW xmmreg,reg64,imm [rmi: 66 0f c4 /r ib,u] X64,SSE2,SB,AR2,ND
+PINSRW xmmreg,reg64,imm [rmi: 66 0f c4 /r ib,u] X86_64,LONG,SSE2,SB,AR2,ND
PINSRW xmmreg,mem,imm [rmi: 66 0f c4 /r ib,u] WILLAMETTE,SSE2,SB,AR2
PINSRW xmmreg,mem16,imm [rmi: 66 0f c4 /r ib,u] WILLAMETTE,SSE2,SB,AR2
PMADDWD xmmreg,xmmrm [rm: 66 0f f5 /r] WILLAMETTE,SSE2,SO
@@ -1825,20 +1825,20 @@ CVTPS2DQ xmmreg,xmmrm [rm: 66 0f 5b /r] WILLAMETTE,SSE2,SO
CVTPS2PD xmmreg,xmmrm [rm: np 0f 5a /r] WILLAMETTE,SSE2,SQ
CVTSD2SI reg32,xmmreg [rm: norexw f2 0f 2d /r] WILLAMETTE,SSE2,SQ,AR1
CVTSD2SI reg32,mem [rm: norexw f2 0f 2d /r] WILLAMETTE,SSE2,SQ,AR1
-CVTSD2SI reg64,xmmreg [rm: o64 f2 0f 2d /r] X64,SSE2,SQ,AR1
-CVTSD2SI reg64,mem [rm: o64 f2 0f 2d /r] X64,SSE2,SQ,AR1
+CVTSD2SI reg64,xmmreg [rm: o64 f2 0f 2d /r] X86_64,LONG,SSE2,SQ,AR1
+CVTSD2SI reg64,mem [rm: o64 f2 0f 2d /r] X86_64,LONG,SSE2,SQ,AR1
CVTSD2SS xmmreg,xmmrm [rm: f2 0f 5a /r] WILLAMETTE,SSE2,SQ
CVTSI2SD xmmreg,mem [rm: f2 0f 2a /r] WILLAMETTE,SSE2,SD,AR1,ND
CVTSI2SD xmmreg,rm32 [rm: norexw f2 0f 2a /r] WILLAMETTE,SSE2,SD,AR1
-CVTSI2SD xmmreg,rm64 [rm: o64 f2 0f 2a /r] X64,SSE2,SQ,AR1
+CVTSI2SD xmmreg,rm64 [rm: o64 f2 0f 2a /r] X86_64,LONG,SSE2,SQ,AR1
CVTSS2SD xmmreg,xmmrm [rm: f3 0f 5a /r] WILLAMETTE,SSE2,SD
CVTTPD2PI mmxreg,xmmrm [rm: 66 0f 2c /r] WILLAMETTE,SSE2,SO
CVTTPD2DQ xmmreg,xmmrm [rm: 66 0f e6 /r] WILLAMETTE,SSE2,SO
CVTTPS2DQ xmmreg,xmmrm [rm: f3 0f 5b /r] WILLAMETTE,SSE2,SO
CVTTSD2SI reg32,xmmreg [rm: norexw f2 0f 2c /r] WILLAMETTE,SSE2,SQ,AR1
CVTTSD2SI reg32,mem [rm: norexw f2 0f 2c /r] WILLAMETTE,SSE2,SQ,AR1
-CVTTSD2SI reg64,xmmreg [rm: o64 f2 0f 2c /r] X64,SSE2,SQ,AR1
-CVTTSD2SI reg64,mem [rm: o64 f2 0f 2c /r] X64,SSE2,SQ,AR1
+CVTTSD2SI reg64,xmmreg [rm: o64 f2 0f 2c /r] X86_64,LONG,SSE2,SQ,AR1
+CVTTSD2SI reg64,mem [rm: o64 f2 0f 2c /r] X86_64,LONG,SSE2,SQ,AR1
DIVPD xmmreg,xmmrm [rm: 66 0f 5e /r] WILLAMETTE,SSE2,SO
DIVSD xmmreg,xmmrm [rm: f2 0f 5e /r] WILLAMETTE,SSE2
MAXPD xmmreg,xmmrm [rm: 66 0f 5f /r] WILLAMETTE,SSE2,SO
@@ -1854,7 +1854,7 @@ MOVHPD xmmreg,mem [rm: 66 0f 16 /r] WILLAMETTE,SSE2
MOVLPD mem64,xmmreg [mr: 66 0f 13 /r] WILLAMETTE,SSE2
MOVLPD xmmreg,mem64 [rm: 66 0f 12 /r] WILLAMETTE,SSE2
MOVMSKPD reg32,xmmreg [rm: 66 0f 50 /r] WILLAMETTE,SSE2
-MOVMSKPD reg64,xmmreg [rm: 66 o64 0f 50 /r] X64,SSE2
+MOVMSKPD reg64,xmmreg [rm: 66 o64 0f 50 /r] X86_64,LONG,SSE2
MOVSD xmmreg,xmmreg [rm: f2 0f 10 /r] WILLAMETTE,SSE2
MOVSD xmmreg,xmmreg [mr: f2 0f 11 /r] WILLAMETTE,SSE2
MOVSD mem64,xmmreg [mr: f2 0f 11 /r] WILLAMETTE,SSE2
@@ -1901,12 +1901,12 @@ VMMCALL void [ 0f 01 d9] VMX,AMD
VMPTRLD mem [m: np 0f c7 /6] VMX
VMPTRST mem [m: np 0f c7 /7] VMX
VMREAD rm32,reg32 [mr: np 0f 78 /r] VMX,NOLONG,SD
-VMREAD rm64,reg64 [mr: o64nw np 0f 78 /r] X64,VMX,SQ
+VMREAD rm64,reg64 [mr: o64nw np 0f 78 /r] X86_64,LONG,VMX,SQ
VMRESUME void [ 0f 01 c3] VMX
VMRUN void [ 0f 01 d8] VMX,AMD
VMSAVE void [ 0f 01 db] VMX,AMD
VMWRITE reg32,rm32 [rm: np 0f 79 /r] VMX,NOLONG,SD
-VMWRITE reg64,rm64 [rm: o64nw np 0f 79 /r] X64,VMX,SQ
+VMWRITE reg64,rm64 [rm: o64nw np 0f 79 /r] X86_64,LONG,VMX,SQ
VMXOFF void [ 0f 01 c4] VMX
VMXON mem [m: f3 0f c7 /6] VMX
;# Extended Page Tables VMX instructions
@@ -1960,7 +1960,7 @@ MOVNTSS mem,xmmreg [mr: f3 0f 2b /r] SSE4A,AMD,SD
;# New instructions in Barcelona
LZCNT reg16,rm16 [rm: o16 f3i 0f bd /r] P6,AMD
LZCNT reg32,rm32 [rm: o32 f3i 0f bd /r] P6,AMD
-LZCNT reg64,rm64 [rm: o64 f3i 0f bd /r] X64,AMD
+LZCNT reg64,rm64 [rm: o64 f3i 0f bd /r] X86_64,LONG,AMD
;# Penryn New Instructions (SSE4.1)
BLENDPD xmmreg,xmmrm,imm [rmi: 66 0f 3a 0d /r ib,u] SSE41
@@ -1972,7 +1972,7 @@ BLENDVPS xmmreg,xmmrm [rm: 66 0f 38 14 /r] SSE41
DPPD xmmreg,xmmrm,imm [rmi: 66 0f 3a 41 /r ib,u] SSE41
DPPS xmmreg,xmmrm,imm [rmi: 66 0f 3a 40 /r ib,u] SSE41
EXTRACTPS rm32,xmmreg,imm [mri: 66 0f 3a 17 /r ib,u] SSE41
-EXTRACTPS reg64,xmmreg,imm [mri: o64 66 0f 3a 17 /r ib,u] SSE41,X64
+EXTRACTPS reg64,xmmreg,imm [mri: o64 66 0f 3a 17 /r ib,u] SSE41,X86_64,LONG
INSERTPS xmmreg,xmmrm,imm [rmi: 66 0f 3a 21 /r ib,u] SSE41,SD
MOVNTDQA xmmreg,mem128 [rm: 66 0f 38 2a /r] SSE41
MPSADBW xmmreg,xmmrm,imm [rmi: 66 0f 3a 42 /r ib,u] SSE41
@@ -1983,20 +1983,20 @@ PBLENDW xmmreg,xmmrm,imm [rmi: 66 0f 3a 0e /r ib,u] SSE41
PCMPEQQ xmmreg,xmmrm [rm: 66 0f 38 29 /r] SSE41
PEXTRB reg32,xmmreg,imm [mri: 66 0f 3a 14 /r ib,u] SSE41
PEXTRB mem8,xmmreg,imm [mri: 66 0f 3a 14 /r ib,u] SSE41
-PEXTRB reg64,xmmreg,imm [mri: o64nw 66 0f 3a 14 /r ib,u] SSE41,X64
+PEXTRB reg64,xmmreg,imm [mri: o64nw 66 0f 3a 14 /r ib,u] SSE41,X86_64,LONG
PEXTRD rm32,xmmreg,imm [mri: norexw 66 0f 3a 16 /r ib,u] SSE41
-PEXTRQ rm64,xmmreg,imm [mri: o64 66 0f 3a 16 /r ib,u] SSE41,X64
+PEXTRQ rm64,xmmreg,imm [mri: o64 66 0f 3a 16 /r ib,u] SSE41,X86_64,LONG
PEXTRW reg32,xmmreg,imm [mri: 66 0f 3a 15 /r ib,u] SSE41
PEXTRW mem16,xmmreg,imm [mri: 66 0f 3a 15 /r ib,u] SSE41
-PEXTRW reg64,xmmreg,imm [mri: o64 66 0f 3a 15 /r ib,u] SSE41,X64
+PEXTRW reg64,xmmreg,imm [mri: o64 66 0f 3a 15 /r ib,u] SSE41,X86_64,LONG
PHMINPOSUW xmmreg,xmmrm [rm: 66 0f 38 41 /r] SSE41
PINSRB xmmreg,mem,imm [rmi: 66 0f 3a 20 /r ib,u] SSE41,SB,AR2
PINSRB xmmreg,rm8,imm [rmi: nohi 66 0f 3a 20 /r ib,u] SSE41,SB,AR2
PINSRB xmmreg,reg32,imm [rmi: 66 0f 3a 20 /r ib,u] SSE41,SB,AR2
PINSRD xmmreg,mem,imm [rmi: norexw 66 0f 3a 22 /r ib,u] SSE41,SB,AR2
PINSRD xmmreg,rm32,imm [rmi: norexw 66 0f 3a 22 /r ib,u] SSE41,SB,AR2
-PINSRQ xmmreg,mem,imm [rmi: o64 66 0f 3a 22 /r ib,u] SSE41,X64,SB,AR2
-PINSRQ xmmreg,rm64,imm [rmi: o64 66 0f 3a 22 /r ib,u] SSE41,X64,SB,AR2
+PINSRQ xmmreg,mem,imm [rmi: o64 66 0f 3a 22 /r ib,u] SSE41,X86_64,LONG,SB,AR2
+PINSRQ xmmreg,rm64,imm [rmi: o64 66 0f 3a 22 /r ib,u] SSE41,X86_64,LONG,SB,AR2
PMAXSB xmmreg,xmmrm [rm: 66 0f 38 3c /r] SSE41
PMAXSD xmmreg,xmmrm [rm: 66 0f 38 3d /r] SSE41
PMAXUD xmmreg,xmmrm [rm: 66 0f 38 3f /r] SSE41
@@ -2029,8 +2029,8 @@ ROUNDSS xmmreg,xmmrm,imm [rmi: 66 0f 3a 0a /r ib,u] SSE41
CRC32 reg32,rm8 [rm: f2i 0f 38 f0 /r] SSE42
CRC32 reg32,rm16 [rm: o16 f2i 0f 38 f1 /r] SSE42
CRC32 reg32,rm32 [rm: o32 f2i 0f 38 f1 /r] SSE42
-CRC32 reg64,rm8 [rm: o64 f2i 0f 38 f0 /r] SSE42,X64
-CRC32 reg64,rm64 [rm: o64 f2i 0f 38 f1 /r] SSE42,X64
+CRC32 reg64,rm8 [rm: o64 f2i 0f 38 f0 /r] SSE42,X86_64,LONG
+CRC32 reg64,rm64 [rm: o64 f2i 0f 38 f1 /r] SSE42,X86_64,LONG
PCMPESTRI xmmreg,xmmrm,imm [rmi: 66 0f 3a 61 /r ib,u] SSE42
PCMPESTRM xmmreg,xmmrm,imm [rmi: 66 0f 3a 60 /r ib,u] SSE42
PCMPISTRI xmmreg,xmmrm,imm [rmi: 66 0f 3a 63 /r ib,u] SSE42
@@ -2038,7 +2038,8 @@ PCMPISTRM xmmreg,xmmrm,imm [rmi: 66 0f 3a 62 /r ib,u] SSE42
PCMPGTQ xmmreg,xmmrm [rm: 66 0f 38 37 /r] SSE42
POPCNT reg16,rm16 [rm: o16 f3i 0f b8 /r] NEHALEM,SW
POPCNT reg32,rm32 [rm: o32 f3i 0f b8 /r] NEHALEM,SD
-POPCNT reg64,rm64 [rm: o64 f3i 0f b8 /r] NEHALEM,SQ,X64
+POPCNT reg64,rm64 [rm: o64 f3i 0f b8 /r] NEHALEM,SQ,LONG
+POPCNT reg64,rm64 [rm: o64 f3i 0f b8 /r] NEHALEM,SQ,LONG
;# Intel SMX
GETSEC void [ 0f 37] KATMAI
@@ -3077,16 +3078,16 @@ XSHA256 void [ mustrep 0f a6 d0] PENT,CYRIX
; Sebastian Pop <sebastian.pop at amd.com>
;
LLWPCB reg32 [m: xop.m9.w0.l0.p0 12 /0] AMD,386
-LLWPCB reg64 [m: xop.m9.w1.l0.p0 12 /0] AMD,X64
+LLWPCB reg64 [m: xop.m9.w1.l0.p0 12 /0] AMD,X86_64,LONG
SLWPCB reg32 [m: xop.m9.w0.l0.p0 12 /1] AMD,386
-SLWPCB reg64 [m: xop.m9.w1.l0.p0 12 /1] AMD,X64
+SLWPCB reg64 [m: xop.m9.w1.l0.p0 12 /1] AMD,X86_64,LONG
LWPVAL reg32,rm32,imm32 [vmi: xop.m10.w0.ndd.l0.p0 12 /1 id] AMD,386
-LWPVAL reg64,rm32,imm32 [vmi: xop.m10.w1.ndd.l0.p0 12 /1 id] AMD,X64
+LWPVAL reg64,rm32,imm32 [vmi: xop.m10.w1.ndd.l0.p0 12 /1 id] AMD,X86_64,LONG
LWPINS reg32,rm32,imm32 [vmi: xop.m10.w0.ndd.l0.p0 12 /0 id] AMD,386
-LWPINS reg64,rm32,imm32 [vmi: xop.m10.w1.ndd.l0.p0 12 /0 id] AMD,X64
+LWPINS reg64,rm32,imm32 [vmi: xop.m10.w1.ndd.l0.p0 12 /0 id] AMD,X86_64,LONG
;# AMD XOP and FMA4 instructions (SSE5)
;
@@ -5813,13 +5814,17 @@ VXORPS zmmreg|mask|z,zmmreg*,zmmrm512|b32 [rvm:fv: evex.nds.512.0f.w0
; MJC PUBLIC END
;# Intel memory protection keys for userspace (PKU aka PKEYs)
-RDPKRU void [ 0f 01 ee] X64,FUTURE
-WRPKRU void [ 0f 01 ef] X64,FUTURE
+RDPKRU void [ 0f 01 ee] LONG,FUTURE
+RDPKRU void [ 0f 01 ee] LONG,FUTURE
+WRPKRU void [ 0f 01 ef] LONG,FUTURE
+WRPKRU void [ 0f 01 ef] LONG,FUTURE
;# Read Processor ID
RDPID reg32 [m: f3 0f c7 /7] NOLONG,FUTURE
-RDPID reg64 [m: o64nw f3 0f c7 /7] X64,FUTURE
-RDPID reg32 [m: f3 0f c7 /7] X64,UNDOC,FUTURE
+RDPID reg64 [m: o64nw f3 0f c7 /7] LONG,FUTURE
+RDPID reg64 [m: o64nw f3 0f c7 /7] LONG,FUTURE
+RDPID reg32 [m: f3 0f c7 /7] LONG,UNDOC,FUTURE
+RDPID reg32 [m: f3 0f c7 /7] LONG,UNDOC,FUTURE
;# New memory instructions
CLFLUSHOPT mem [m: 66 0f ae /7] FUTURE
@@ -5831,26 +5836,31 @@ PCOMMIT void [ 66 0f ae f8]
CLZERO void [ 0f 01 fc] FUTURE,AMD
CLZERO reg_ax [-: a16 0f 01 fc] FUTURE,AMD,ND,NOLONG
CLZERO reg_eax [-: a32 0f 01 fc] FUTURE,AMD,ND
-CLZERO reg_rax [-: a64 0f 01 fc] FUTURE,AMD,ND,X64
+CLZERO reg_rax [-: a64 0f 01 fc] FUTURE,AMD,ND,LONG
+CLZERO reg_rax [-: a64 0f 01 fc] FUTURE,AMD,ND,LONG
;# Processor trace write
PTWRITE rm32 [m: np 0f ae /4] FUTURE
-PTWRITE rm64 [m: o64 np 0f ae /4] X64,FUTURE
+PTWRITE rm64 [m: o64 np 0f ae /4] LONG,FUTURE
+PTWRITE rm64 [m: o64 np 0f ae /4] LONG,FUTURE
;# Instructions from the Intel Instruction Set Extensions,
;# doc 319433-034 May 2018
CLDEMOTE mem [m: np 0f 1c /0] FUTURE
MOVDIRI mem32,reg32 [mr: np 0f 38 f9 /r] FUTURE,SD
-MOVDIRI mem64,reg64 [mr: o64 0f 38 f9 /r] FUTURE,X64,SQ
+MOVDIRI mem64,reg64 [mr: o64 0f 38 f9 /r] FUTURE,LONG,SQ
+MOVDIRI mem64,reg64 [mr: o64 0f 38 f9 /r] FUTURE,LONG,SQ
MOVDIR64B reg16,mem512 [rm: a16 66 0f 38 f8 /r] FUTURE,NOLONG
MOVDIR64B reg32,mem512 [rm: a32 66 0f 38 f8 /r] FUTURE
-MOVDIR64B reg64,mem512 [rm: o64nw a64 66 0f 38 f8 /r] FUTURE,X64
+MOVDIR64B reg64,mem512 [rm: o64nw a64 66 0f 38 f8 /r] FUTURE,LONG
+MOVDIR64B reg64,mem512 [rm: o64nw a64 66 0f 38 f8 /r] FUTURE,LONG
PCONFIG void [ np 0f 01 c5] FUTURE
TPAUSE reg32 [m: 66 0f ae /6] FUTURE
TPAUSE reg32,reg_edx,reg_eax [m--: 66 0f ae /6] FUTURE,ND
UMONITOR reg16 [m: a16 f3 0f ae /6] FUTURE,NOLONG
UMONITOR reg32 [m: a32 f3 0f ae /6] FUTURE
-UMONITOR reg64 [m: o64nw a64 f3 0f ae /6] FUTURE,X64
+UMONITOR reg64 [m: o64nw a64 f3 0f ae /6] FUTURE,LONG
+UMONITOR reg64 [m: o64nw a64 f3 0f ae /6] FUTURE,LONG
UMWAIT reg32 [m: f2 0f ae /6] FUTURE
UMWAIT reg32,reg_edx,reg_eax [m--: f2 0f ae /6] FUTURE,ND
WBNOINVD void [ f3 0f 09] FUTURE
@@ -5988,26 +5998,32 @@ CLRSSBSY mem64 [m: f3 0f ae /6] CET,FUTURE
ENDBR32 void [ f3 0f 1e fb] CET,FUTURE
ENDBR64 void [ f3 0f 1e fa] CET,FUTURE
INCSSPD reg32 [m: o32 f3 0f ae /5] CET,FUTURE
-INCSSPQ reg64 [m: o64 f3 0f ae /5] CET,FUTURE,X64
+INCSSPQ reg64 [m: o64 f3 0f ae /5] CET,FUTURE,LONG
+INCSSPQ reg64 [m: o64 f3 0f ae /5] CET,FUTURE,LONG
RDSSPD reg32 [m: o32 f3 0f 1e /1] CET,FUTURE
-RDSSPQ reg64 [m: o64 f3 0f 1e /1] CET,FUTURE,X64
+RDSSPQ reg64 [m: o64 f3 0f 1e /1] CET,FUTURE,LONG
+RDSSPQ reg64 [m: o64 f3 0f 1e /1] CET,FUTURE,LONG
RSTORSSP mem64 [m: f3 0f 01 /5] CET,FUTURE
SAVEPREVSSP void [ f3 0f 01 ea] CET,FUTURE
SETSSBSY void [ f3 0f 01 e8] CET,FUTURE
WRUSSD mem,reg32 [mr: o32 66 0f 38 f5 /r] CET,FUTURE
-WRUSSQ mem,reg64 [mr: o64 66 0f 38 f5 /r] CET,FUTURE,X64
+WRUSSQ mem,reg64 [mr: o64 66 0f 38 f5 /r] CET,FUTURE,LONG
+WRUSSQ mem,reg64 [mr: o64 66 0f 38 f5 /r] CET,FUTURE,LONG
WRSSD mem,reg32 [mr: o32 0f 38 f6 /r] CET,FUTURE
-WRSSQ mem,reg64 [mr: o64 0f 38 f6 /r] CET,FUTURE,X64
+WRSSQ mem,reg64 [mr: o64 0f 38 f6 /r] CET,FUTURE,LONG
+WRSSQ mem,reg64 [mr: o64 0f 38 f6 /r] CET,FUTURE,LONG
;# Instructions from ISE doc 319433-040, June 2020
ENQCMD reg16,mem512 [rm: a16 f2 0f 38 f8 /r] ENQCMD,FUTURE
ENQCMD reg32,mem512 [rm: a16 f2 0f 38 f8 /r] ENQCMD,FUTURE,ND
ENQCMD reg32,mem512 [rm: a32 f2 0f 38 f8 /r] ENQCMD,FUTURE
-ENQCMD reg64,mem512 [rm: a64 f2 0f 38 f8 /r] ENQCMD,FUTURE,X64
+ENQCMD reg64,mem512 [rm: a64 f2 0f 38 f8 /r] ENQCMD,FUTURE,LONG
+ENQCMD reg64,mem512 [rm: a64 f2 0f 38 f8 /r] ENQCMD,FUTURE,LONG
ENQCMDS reg16,mem512 [rm: a16 f2 0f 38 f8 /r] ENQCMD,FUTURE,PRIV
ENQCMDS reg32,mem512 [rm: a16 f2 0f 38 f8 /r] ENQCMD,FUTURE,PRIV,ND
ENQCMDS reg32,mem512 [rm: a32 f2 0f 38 f8 /r] ENQCMD,FUTURE,PRIV
-ENQCMDS reg64,mem512 [rm: a64 f2 0f 38 f8 /r] ENQCMD,FUTURE,PRIV,X64
+ENQCMDS reg64,mem512 [rm: a64 f2 0f 38 f8 /r] ENQCMD,FUTURE,PRIV,LONG
+ENQCMDS reg64,mem512 [rm: a64 f2 0f 38 f8 /r] ENQCMD,FUTURE,PRIV,LONG
PCONFIG void [ np 0f 01 c5] PCONFIG,FUTURE,PRIV
SERIALIZE void [ np 0f 01 e8] SERIALIZE,FUTURE
WBNOINVD void [ f3 0f 09] WBNOINVD,FUTURE,PRIV
@@ -6031,210 +6047,222 @@ VP2INTERSECTD kreg|rs2,ymmreg,ymmrm128|b32 [rvm:fv: evex.nds.256.f2.0f38.w0 68
VP2INTERSECTD kreg|rs2,zmmreg,zmmrm128|b32 [rvm:fv: evex.nds.512.f2.0f38.w0 68 /r] AVX512BF16,FUTURE
;# Intel Advanced Matrix Extensions (AMX)
-LDTILECFG mem512 [m: vex.128.np.0f38.w0 49 /0] AMXTILE,FUTURE,SZ,X64
-STTILECFG mem512 [m: vex.128.66.0f38.w0 49 /0] AMXTILE,FUTURE,SZ,X64
-TDPBF16PS tmmreg,tmmreg,tmmreg [rmv: vex.128.f3.0f38.w0 5c /r] AMXBF16,FUTURE,X64
-TDPBSSD tmmreg,tmmreg,tmmreg [rmv: vex.128.f2.0f38.w0 5e /r] AMXINT8,FUTURE,X64
-TDPBSUD tmmreg,tmmreg,tmmreg [rmv: vex.128.f3.0f38.w0 5e /r] AMXINT8,FUTURE,X64
-TDPBUSD tmmreg,tmmreg,tmmreg [rmv: vex.128.66.0f38.w0 5e /r] AMXINT8,FUTURE,X64
-TDPBUUD tmmreg,tmmreg,tmmreg [rmv: vex.128.np.0f38.w0 5e /r] AMXINT8,FUTURE,X64
-TILELOADD tmmreg,mem [rm: vex.128.f2.0f38.w0 4b /r] AMXTILE,MIB,FUTURE,SX,X64
-TILELOADDT1 tmmreg,mem [rm: vex.128.f2.0f38.w0 4b /r] AMXTILE,MIB,FUTURE,SX,X64
-TILERELEASE void [ vex.128.np.0f38.w0 49 c0] AMXTILE,FUTURE,X64
-TILESTORED mem,tmmreg [mr: vex.128.f3.0f38.w0 4b /r] AMXTILE,MIB,FUTURE,SX,X64
-TILEZERO tmmreg [r: vex.128.f2.0f38.w0 49 /3r0] AMXTILE,FUTURE,X64
+LDTILECFG mem512 [m: vex.128.np.0f38.w0 49 /0] AMXTILE,FUTURE,SZ,LONG
+LDTILECFG mem512 [m: vex.128.np.0f38.w0 49 /0] AMXTILE,FUTURE,SZ,LONG
+STTILECFG mem512 [m: vex.128.66.0f38.w0 49 /0] AMXTILE,FUTURE,SZ,LONG
+STTILECFG mem512 [m: vex.128.66.0f38.w0 49 /0] AMXTILE,FUTURE,SZ,LONG
+TDPBF16PS tmmreg,tmmreg,tmmreg [rmv: vex.128.f3.0f38.w0 5c /r] AMXBF16,FUTURE,LONG
+TDPBF16PS tmmreg,tmmreg,tmmreg [rmv: vex.128.f3.0f38.w0 5c /r] AMXBF16,FUTURE,LONG
+TDPBSSD tmmreg,tmmreg,tmmreg [rmv: vex.128.f2.0f38.w0 5e /r] AMXINT8,FUTURE,LONG
+TDPBSSD tmmreg,tmmreg,tmmreg [rmv: vex.128.f2.0f38.w0 5e /r] AMXINT8,FUTURE,LONG
+TDPBSUD tmmreg,tmmreg,tmmreg [rmv: vex.128.f3.0f38.w0 5e /r] AMXINT8,FUTURE,LONG
+TDPBSUD tmmreg,tmmreg,tmmreg [rmv: vex.128.f3.0f38.w0 5e /r] AMXINT8,FUTURE,LONG
+TDPBUSD tmmreg,tmmreg,tmmreg [rmv: vex.128.66.0f38.w0 5e /r] AMXINT8,FUTURE,LONG
+TDPBUSD tmmreg,tmmreg,tmmreg [rmv: vex.128.66.0f38.w0 5e /r] AMXINT8,FUTURE,LONG
+TDPBUUD tmmreg,tmmreg,tmmreg [rmv: vex.128.np.0f38.w0 5e /r] AMXINT8,FUTURE,LONG
+TDPBUUD tmmreg,tmmreg,tmmreg [rmv: vex.128.np.0f38.w0 5e /r] AMXINT8,FUTURE,LONG
+TILELOADD tmmreg,mem [rm: vex.128.f2.0f38.w0 4b /r] AMXTILE,MIB,FUTURE,SX,LONG
+TILELOADD tmmreg,mem [rm: vex.128.f2.0f38.w0 4b /r] AMXTILE,MIB,FUTURE,SX,LONG
+TILELOADDT1 tmmreg,mem [rm: vex.128.f2.0f38.w0 4b /r] AMXTILE,MIB,FUTURE,SX,LONG
+TILELOADDT1 tmmreg,mem [rm: vex.128.f2.0f38.w0 4b /r] AMXTILE,MIB,FUTURE,SX,LONG
+TILERELEASE void [ vex.128.np.0f38.w0 49 c0] AMXTILE,FUTURE,LONG
+TILERELEASE void [ vex.128.np.0f38.w0 49 c0] AMXTILE,FUTURE,LONG
+TILESTORED mem,tmmreg [mr: vex.128.f3.0f38.w0 4b /r] AMXTILE,MIB,FUTURE,SX,LONG
+TILESTORED mem,tmmreg [mr: vex.128.f3.0f38.w0 4b /r] AMXTILE,MIB,FUTURE,SX,LONG
+TILEZERO tmmreg [r: vex.128.f2.0f38.w0 49 /3r0] AMXTILE,FUTURE,LONG
+TILEZERO tmmreg [r: vex.128.f2.0f38.w0 49 /3r0] AMXTILE,FUTURE,LONG
;# Systematic names for the hinting nop instructions
; These should be last in the file
HINT_NOP0 rm16 [m: o16 0f 18 /0] P6,UNDOC
HINT_NOP0 rm32 [m: o32 0f 18 /0] P6,UNDOC
-HINT_NOP0 rm64 [m: o64 0f 18 /0] X64,UNDOC
+HINT_NOP0 rm64 [m: o64 0f 18 /0] X86_64,LONG,UNDOC
HINT_NOP1 rm16 [m: o16 0f 18 /1] P6,UNDOC
HINT_NOP1 rm32 [m: o32 0f 18 /1] P6,UNDOC
-HINT_NOP1 rm64 [m: o64 0f 18 /1] X64,UNDOC
+HINT_NOP1 rm64 [m: o64 0f 18 /1] X86_64,LONG,UNDOC
HINT_NOP2 rm16 [m: o16 0f 18 /2] P6,UNDOC
HINT_NOP2 rm32 [m: o32 0f 18 /2] P6,UNDOC
-HINT_NOP2 rm64 [m: o64 0f 18 /2] X64,UNDOC
+HINT_NOP2 rm64 [m: o64 0f 18 /2] X86_64,LONG,UNDOC
HINT_NOP3 rm16 [m: o16 0f 18 /3] P6,UNDOC
HINT_NOP3 rm32 [m: o32 0f 18 /3] P6,UNDOC
-HINT_NOP3 rm64 [m: o64 0f 18 /3] X64,UNDOC
+HINT_NOP3 rm64 [m: o64 0f 18 /3] X86_64,LONG,UNDOC
HINT_NOP4 rm16 [m: o16 0f 18 /4] P6,UNDOC
HINT_NOP4 rm32 [m: o32 0f 18 /4] P6,UNDOC
-HINT_NOP4 rm64 [m: o64 0f 18 /4] X64,UNDOC
+HINT_NOP4 rm64 [m: o64 0f 18 /4] X86_64,LONG,UNDOC
HINT_NOP5 rm16 [m: o16 0f 18 /5] P6,UNDOC
HINT_NOP5 rm32 [m: o32 0f 18 /5] P6,UNDOC
-HINT_NOP5 rm64 [m: o64 0f 18 /5] X64,UNDOC
+HINT_NOP5 rm64 [m: o64 0f 18 /5] X86_64,LONG,UNDOC
HINT_NOP6 rm16 [m: o16 0f 18 /6] P6,UNDOC
HINT_NOP6 rm32 [m: o32 0f 18 /6] P6,UNDOC
-HINT_NOP6 rm64 [m: o64 0f 18 /6] X64,UNDOC
+HINT_NOP6 rm64 [m: o64 0f 18 /6] X86_64,LONG,UNDOC
HINT_NOP7 rm16 [m: o16 0f 18 /7] P6,UNDOC
HINT_NOP7 rm32 [m: o32 0f 18 /7] P6,UNDOC
-HINT_NOP7 rm64 [m: o64 0f 18 /7] X64,UNDOC
+HINT_NOP7 rm64 [m: o64 0f 18 /7] X86_64,LONG,UNDOC
HINT_NOP8 rm16 [m: o16 0f 19 /0] P6,UNDOC
HINT_NOP8 rm32 [m: o32 0f 19 /0] P6,UNDOC
-HINT_NOP8 rm64 [m: o64 0f 19 /0] X64,UNDOC
+HINT_NOP8 rm64 [m: o64 0f 19 /0] X86_64,LONG,UNDOC
HINT_NOP9 rm16 [m: o16 0f 19 /1] P6,UNDOC
HINT_NOP9 rm32 [m: o32 0f 19 /1] P6,UNDOC
-HINT_NOP9 rm64 [m: o64 0f 19 /1] X64,UNDOC
+HINT_NOP9 rm64 [m: o64 0f 19 /1] X86_64,LONG,UNDOC
HINT_NOP10 rm16 [m: o16 0f 19 /2] P6,UNDOC
HINT_NOP10 rm32 [m: o32 0f 19 /2] P6,UNDOC
-HINT_NOP10 rm64 [m: o64 0f 19 /2] X64,UNDOC
+HINT_NOP10 rm64 [m: o64 0f 19 /2] X86_64,LONG,UNDOC
HINT_NOP11 rm16 [m: o16 0f 19 /3] P6,UNDOC
HINT_NOP11 rm32 [m: o32 0f 19 /3] P6,UNDOC
-HINT_NOP11 rm64 [m: o64 0f 19 /3] X64,UNDOC
+HINT_NOP11 rm64 [m: o64 0f 19 /3] X86_64,LONG,UNDOC
HINT_NOP12 rm16 [m: o16 0f 19 /4] P6,UNDOC
HINT_NOP12 rm32 [m: o32 0f 19 /4] P6,UNDOC
-HINT_NOP12 rm64 [m: o64 0f 19 /4] X64,UNDOC
+HINT_NOP12 rm64 [m: o64 0f 19 /4] X86_64,LONG,UNDOC
HINT_NOP13 rm16 [m: o16 0f 19 /5] P6,UNDOC
HINT_NOP13 rm32 [m: o32 0f 19 /5] P6,UNDOC
-HINT_NOP13 rm64 [m: o64 0f 19 /5] X64,UNDOC
+HINT_NOP13 rm64 [m: o64 0f 19 /5] X86_64,LONG,UNDOC
HINT_NOP14 rm16 [m: o16 0f 19 /6] P6,UNDOC
HINT_NOP14 rm32 [m: o32 0f 19 /6] P6,UNDOC
-HINT_NOP14 rm64 [m: o64 0f 19 /6] X64,UNDOC
+HINT_NOP14 rm64 [m: o64 0f 19 /6] X86_64,LONG,UNDOC
HINT_NOP15 rm16 [m: o16 0f 19 /7] P6,UNDOC
HINT_NOP15 rm32 [m: o32 0f 19 /7] P6,UNDOC
-HINT_NOP15 rm64 [m: o64 0f 19 /7] X64,UNDOC
+HINT_NOP15 rm64 [m: o64 0f 19 /7] X86_64,LONG,UNDOC
HINT_NOP16 rm16 [m: o16 0f 1a /0] P6,UNDOC
HINT_NOP16 rm32 [m: o32 0f 1a /0] P6,UNDOC
-HINT_NOP16 rm64 [m: o64 0f 1a /0] X64,UNDOC
+HINT_NOP16 rm64 [m: o64 0f 1a /0] X86_64,LONG,UNDOC
HINT_NOP17 rm16 [m: o16 0f 1a /1] P6,UNDOC
HINT_NOP17 rm32 [m: o32 0f 1a /1] P6,UNDOC
-HINT_NOP17 rm64 [m: o64 0f 1a /1] X64,UNDOC
+HINT_NOP17 rm64 [m: o64 0f 1a /1] X86_64,LONG,UNDOC
HINT_NOP18 rm16 [m: o16 0f 1a /2] P6,UNDOC
HINT_NOP18 rm32 [m: o32 0f 1a /2] P6,UNDOC
-HINT_NOP18 rm64 [m: o64 0f 1a /2] X64,UNDOC
+HINT_NOP18 rm64 [m: o64 0f 1a /2] X86_64,LONG,UNDOC
HINT_NOP19 rm16 [m: o16 0f 1a /3] P6,UNDOC
HINT_NOP19 rm32 [m: o32 0f 1a /3] P6,UNDOC
-HINT_NOP19 rm64 [m: o64 0f 1a /3] X64,UNDOC
+HINT_NOP19 rm64 [m: o64 0f 1a /3] X86_64,LONG,UNDOC
HINT_NOP20 rm16 [m: o16 0f 1a /4] P6,UNDOC
HINT_NOP20 rm32 [m: o32 0f 1a /4] P6,UNDOC
-HINT_NOP20 rm64 [m: o64 0f 1a /4] X64,UNDOC
+HINT_NOP20 rm64 [m: o64 0f 1a /4] X86_64,LONG,UNDOC
HINT_NOP21 rm16 [m: o16 0f 1a /5] P6,UNDOC
HINT_NOP21 rm32 [m: o32 0f 1a /5] P6,UNDOC
-HINT_NOP21 rm64 [m: o64 0f 1a /5] X64,UNDOC
+HINT_NOP21 rm64 [m: o64 0f 1a /5] X86_64,LONG,UNDOC
HINT_NOP22 rm16 [m: o16 0f 1a /6] P6,UNDOC
HINT_NOP22 rm32 [m: o32 0f 1a /6] P6,UNDOC
-HINT_NOP22 rm64 [m: o64 0f 1a /6] X64,UNDOC
+HINT_NOP22 rm64 [m: o64 0f 1a /6] X86_64,LONG,UNDOC
HINT_NOP23 rm16 [m: o16 0f 1a /7] P6,UNDOC
HINT_NOP23 rm32 [m: o32 0f 1a /7] P6,UNDOC
-HINT_NOP23 rm64 [m: o64 0f 1a /7] X64,UNDOC
+HINT_NOP23 rm64 [m: o64 0f 1a /7] X86_64,LONG,UNDOC
HINT_NOP24 rm16 [m: o16 0f 1b /0] P6,UNDOC
HINT_NOP24 rm32 [m: o32 0f 1b /0] P6,UNDOC
-HINT_NOP24 rm64 [m: o64 0f 1b /0] X64,UNDOC
+HINT_NOP24 rm64 [m: o64 0f 1b /0] X86_64,LONG,UNDOC
HINT_NOP25 rm16 [m: o16 0f 1b /1] P6,UNDOC
HINT_NOP25 rm32 [m: o32 0f 1b /1] P6,UNDOC
-HINT_NOP25 rm64 [m: o64 0f 1b /1] X64,UNDOC
+HINT_NOP25 rm64 [m: o64 0f 1b /1] X86_64,LONG,UNDOC
HINT_NOP26 rm16 [m: o16 0f 1b /2] P6,UNDOC
HINT_NOP26 rm32 [m: o32 0f 1b /2] P6,UNDOC
-HINT_NOP26 rm64 [m: o64 0f 1b /2] X64,UNDOC
+HINT_NOP26 rm64 [m: o64 0f 1b /2] X86_64,LONG,UNDOC
HINT_NOP27 rm16 [m: o16 0f 1b /3] P6,UNDOC
HINT_NOP27 rm32 [m: o32 0f 1b /3] P6,UNDOC
-HINT_NOP27 rm64 [m: o64 0f 1b /3] X64,UNDOC
+HINT_NOP27 rm64 [m: o64 0f 1b /3] X86_64,LONG,UNDOC
HINT_NOP28 rm16 [m: o16 0f 1b /4] P6,UNDOC
HINT_NOP28 rm32 [m: o32 0f 1b /4] P6,UNDOC
-HINT_NOP28 rm64 [m: o64 0f 1b /4] X64,UNDOC
+HINT_NOP28 rm64 [m: o64 0f 1b /4] X86_64,LONG,UNDOC
HINT_NOP29 rm16 [m: o16 0f 1b /5] P6,UNDOC
HINT_NOP29 rm32 [m: o32 0f 1b /5] P6,UNDOC
-HINT_NOP29 rm64 [m: o64 0f 1b /5] X64,UNDOC
+HINT_NOP29 rm64 [m: o64 0f 1b /5] X86_64,LONG,UNDOC
HINT_NOP30 rm16 [m: o16 0f 1b /6] P6,UNDOC
HINT_NOP30 rm32 [m: o32 0f 1b /6] P6,UNDOC
-HINT_NOP30 rm64 [m: o64 0f 1b /6] X64,UNDOC
+HINT_NOP30 rm64 [m: o64 0f 1b /6] X86_64,LONG,UNDOC
HINT_NOP31 rm16 [m: o16 0f 1b /7] P6,UNDOC
HINT_NOP31 rm32 [m: o32 0f 1b /7] P6,UNDOC
-HINT_NOP31 rm64 [m: o64 0f 1b /7] X64,UNDOC
+HINT_NOP31 rm64 [m: o64 0f 1b /7] X86_64,LONG,UNDOC
HINT_NOP32 rm16 [m: o16 0f 1c /0] P6,UNDOC
HINT_NOP32 rm32 [m: o32 0f 1c /0] P6,UNDOC
-HINT_NOP32 rm64 [m: o64 0f 1c /0] X64,UNDOC
+HINT_NOP32 rm64 [m: o64 0f 1c /0] X86_64,LONG,UNDOC
HINT_NOP33 rm16 [m: o16 0f 1c /1] P6,UNDOC
HINT_NOP33 rm32 [m: o32 0f 1c /1] P6,UNDOC
-HINT_NOP33 rm64 [m: o64 0f 1c /1] X64,UNDOC
+HINT_NOP33 rm64 [m: o64 0f 1c /1] X86_64,LONG,UNDOC
HINT_NOP34 rm16 [m: o16 0f 1c /2] P6,UNDOC
HINT_NOP34 rm32 [m: o32 0f 1c /2] P6,UNDOC
-HINT_NOP34 rm64 [m: o64 0f 1c /2] X64,UNDOC
+HINT_NOP34 rm64 [m: o64 0f 1c /2] X86_64,LONG,UNDOC
HINT_NOP35 rm16 [m: o16 0f 1c /3] P6,UNDOC
HINT_NOP35 rm32 [m: o32 0f 1c /3] P6,UNDOC
-HINT_NOP35 rm64 [m: o64 0f 1c /3] X64,UNDOC
+HINT_NOP35 rm64 [m: o64 0f 1c /3] X86_64,LONG,UNDOC
HINT_NOP36 rm16 [m: o16 0f 1c /4] P6,UNDOC
HINT_NOP36 rm32 [m: o32 0f 1c /4] P6,UNDOC
-HINT_NOP36 rm64 [m: o64 0f 1c /4] X64,UNDOC
+HINT_NOP36 rm64 [m: o64 0f 1c /4] X86_64,LONG,UNDOC
HINT_NOP37 rm16 [m: o16 0f 1c /5] P6,UNDOC
HINT_NOP37 rm32 [m: o32 0f 1c /5] P6,UNDOC
-HINT_NOP37 rm64 [m: o64 0f 1c /5] X64,UNDOC
+HINT_NOP37 rm64 [m: o64 0f 1c /5] X86_64,LONG,UNDOC
HINT_NOP38 rm16 [m: o16 0f 1c /6] P6,UNDOC
HINT_NOP38 rm32 [m: o32 0f 1c /6] P6,UNDOC
-HINT_NOP38 rm64 [m: o64 0f 1c /6] X64,UNDOC
+HINT_NOP38 rm64 [m: o64 0f 1c /6] X86_64,LONG,UNDOC
HINT_NOP39 rm16 [m: o16 0f 1c /7] P6,UNDOC
HINT_NOP39 rm32 [m: o32 0f 1c /7] P6,UNDOC
-HINT_NOP39 rm64 [m: o64 0f 1c /7] X64,UNDOC
+HINT_NOP39 rm64 [m: o64 0f 1c /7] X86_64,LONG,UNDOC
HINT_NOP40 rm16 [m: o16 0f 1d /0] P6,UNDOC
HINT_NOP40 rm32 [m: o32 0f 1d /0] P6,UNDOC
-HINT_NOP40 rm64 [m: o64 0f 1d /0] X64,UNDOC
+HINT_NOP40 rm64 [m: o64 0f 1d /0] X86_64,LONG,UNDOC
HINT_NOP41 rm16 [m: o16 0f 1d /1] P6,UNDOC
HINT_NOP41 rm32 [m: o32 0f 1d /1] P6,UNDOC
-HINT_NOP41 rm64 [m: o64 0f 1d /1] X64,UNDOC
+HINT_NOP41 rm64 [m: o64 0f 1d /1] X86_64,LONG,UNDOC
HINT_NOP42 rm16 [m: o16 0f 1d /2] P6,UNDOC
HINT_NOP42 rm32 [m: o32 0f 1d /2] P6,UNDOC
-HINT_NOP42 rm64 [m: o64 0f 1d /2] X64,UNDOC
+HINT_NOP42 rm64 [m: o64 0f 1d /2] X86_64,LONG,UNDOC
HINT_NOP43 rm16 [m: o16 0f 1d /3] P6,UNDOC
HINT_NOP43 rm32 [m: o32 0f 1d /3] P6,UNDOC
-HINT_NOP43 rm64 [m: o64 0f 1d /3] X64,UNDOC
+HINT_NOP43 rm64 [m: o64 0f 1d /3] X86_64,LONG,UNDOC
HINT_NOP44 rm16 [m: o16 0f 1d /4] P6,UNDOC
HINT_NOP44 rm32 [m: o32 0f 1d /4] P6,UNDOC
-HINT_NOP44 rm64 [m: o64 0f 1d /4] X64,UNDOC
+HINT_NOP44 rm64 [m: o64 0f 1d /4] X86_64,LONG,UNDOC
HINT_NOP45 rm16 [m: o16 0f 1d /5] P6,UNDOC
HINT_NOP45 rm32 [m: o32 0f 1d /5] P6,UNDOC
-HINT_NOP45 rm64 [m: o64 0f 1d /5] X64,UNDOC
+HINT_NOP45 rm64 [m: o64 0f 1d /5] X86_64,LONG,UNDOC
HINT_NOP46 rm16 [m: o16 0f 1d /6] P6,UNDOC
HINT_NOP46 rm32 [m: o32 0f 1d /6] P6,UNDOC
-HINT_NOP46 rm64 [m: o64 0f 1d /6] X64,UNDOC
+HINT_NOP46 rm64 [m: o64 0f 1d /6] X86_64,LONG,UNDOC
HINT_NOP47 rm16 [m: o16 0f 1d /7] P6,UNDOC
HINT_NOP47 rm32 [m: o32 0f 1d /7] P6,UNDOC
-HINT_NOP47 rm64 [m: o64 0f 1d /7] X64,UNDOC
+HINT_NOP47 rm64 [m: o64 0f 1d /7] X86_64,LONG,UNDOC
HINT_NOP48 rm16 [m: o16 0f 1e /0] P6,UNDOC
HINT_NOP48 rm32 [m: o32 0f 1e /0] P6,UNDOC
-HINT_NOP48 rm64 [m: o64 0f 1e /0] X64,UNDOC
+HINT_NOP48 rm64 [m: o64 0f 1e /0] X86_64,LONG,UNDOC
HINT_NOP49 rm16 [m: o16 0f 1e /1] P6,UNDOC
HINT_NOP49 rm32 [m: o32 0f 1e /1] P6,UNDOC
-HINT_NOP49 rm64 [m: o64 0f 1e /1] X64,UNDOC
+HINT_NOP49 rm64 [m: o64 0f 1e /1] X86_64,LONG,UNDOC
HINT_NOP50 rm16 [m: o16 0f 1e /2] P6,UNDOC
HINT_NOP50 rm32 [m: o32 0f 1e /2] P6,UNDOC
-HINT_NOP50 rm64 [m: o64 0f 1e /2] X64,UNDOC
+HINT_NOP50 rm64 [m: o64 0f 1e /2] X86_64,LONG,UNDOC
HINT_NOP51 rm16 [m: o16 0f 1e /3] P6,UNDOC
HINT_NOP51 rm32 [m: o32 0f 1e /3] P6,UNDOC
-HINT_NOP51 rm64 [m: o64 0f 1e /3] X64,UNDOC
+HINT_NOP51 rm64 [m: o64 0f 1e /3] X86_64,LONG,UNDOC
HINT_NOP52 rm16 [m: o16 0f 1e /4] P6,UNDOC
HINT_NOP52 rm32 [m: o32 0f 1e /4] P6,UNDOC
-HINT_NOP52 rm64 [m: o64 0f 1e /4] X64,UNDOC
+HINT_NOP52 rm64 [m: o64 0f 1e /4] X86_64,LONG,UNDOC
HINT_NOP53 rm16 [m: o16 0f 1e /5] P6,UNDOC
HINT_NOP53 rm32 [m: o32 0f 1e /5] P6,UNDOC
-HINT_NOP53 rm64 [m: o64 0f 1e /5] X64,UNDOC
+HINT_NOP53 rm64 [m: o64 0f 1e /5] X86_64,LONG,UNDOC
HINT_NOP54 rm16 [m: o16 0f 1e /6] P6,UNDOC
HINT_NOP54 rm32 [m: o32 0f 1e /6] P6,UNDOC
-HINT_NOP54 rm64 [m: o64 0f 1e /6] X64,UNDOC
+HINT_NOP54 rm64 [m: o64 0f 1e /6] X86_64,LONG,UNDOC
HINT_NOP55 rm16 [m: o16 0f 1e /7] P6,UNDOC
HINT_NOP55 rm32 [m: o32 0f 1e /7] P6,UNDOC
-HINT_NOP55 rm64 [m: o64 0f 1e /7] X64,UNDOC
+HINT_NOP55 rm64 [m: o64 0f 1e /7] X86_64,LONG,UNDOC
HINT_NOP56 rm16 [m: o16 0f 1f /0] P6,UNDOC
HINT_NOP56 rm32 [m: o32 0f 1f /0] P6,UNDOC
-HINT_NOP56 rm64 [m: o64 0f 1f /0] X64,UNDOC
+HINT_NOP56 rm64 [m: o64 0f 1f /0] X86_64,LONG,UNDOC
HINT_NOP57 rm16 [m: o16 0f 1f /1] P6,UNDOC
HINT_NOP57 rm32 [m: o32 0f 1f /1] P6,UNDOC
-HINT_NOP57 rm64 [m: o64 0f 1f /1] X64,UNDOC
+HINT_NOP57 rm64 [m: o64 0f 1f /1] X86_64,LONG,UNDOC
HINT_NOP58 rm16 [m: o16 0f 1f /2] P6,UNDOC
HINT_NOP58 rm32 [m: o32 0f 1f /2] P6,UNDOC
-HINT_NOP58 rm64 [m: o64 0f 1f /2] X64,UNDOC
+HINT_NOP58 rm64 [m: o64 0f 1f /2] X86_64,LONG,UNDOC
HINT_NOP59 rm16 [m: o16 0f 1f /3] P6,UNDOC
HINT_NOP59 rm32 [m: o32 0f 1f /3] P6,UNDOC
-HINT_NOP59 rm64 [m: o64 0f 1f /3] X64,UNDOC
+HINT_NOP59 rm64 [m: o64 0f 1f /3] X86_64,LONG,UNDOC
HINT_NOP60 rm16 [m: o16 0f 1f /4] P6,UNDOC
HINT_NOP60 rm32 [m: o32 0f 1f /4] P6,UNDOC
-HINT_NOP60 rm64 [m: o64 0f 1f /4] X64,UNDOC
+HINT_NOP60 rm64 [m: o64 0f 1f /4] X86_64,LONG,UNDOC
HINT_NOP61 rm16 [m: o16 0f 1f /5] P6,UNDOC
HINT_NOP61 rm32 [m: o32 0f 1f /5] P6,UNDOC
-HINT_NOP61 rm64 [m: o64 0f 1f /5] X64,UNDOC
+HINT_NOP61 rm64 [m: o64 0f 1f /5] X86_64,LONG,UNDOC
HINT_NOP62 rm16 [m: o16 0f 1f /6] P6,UNDOC
HINT_NOP62 rm32 [m: o32 0f 1f /6] P6,UNDOC
-HINT_NOP62 rm64 [m: o64 0f 1f /6] X64,UNDOC
+HINT_NOP62 rm64 [m: o64 0f 1f /6] X86_64,LONG,UNDOC
HINT_NOP63 rm16 [m: o16 0f 1f /7] P6,UNDOC
HINT_NOP63 rm32 [m: o32 0f 1f /7] P6,UNDOC
-HINT_NOP63 rm64 [m: o64 0f 1f /7] X64,UNDOC
+HINT_NOP63 rm64 [m: o64 0f 1f /7] X86_64,LONG,UNDOC
diff --git a/x86/insns.pl b/x86/insns.pl
index 911ef7eb..b13569b5 100755
--- a/x86/insns.pl
+++ b/x86/insns.pl
@@ -502,13 +502,11 @@ sub format_insn($$$$$) {
# expand and uniqify the flags
my %flags;
foreach my $flag (split(',', $flags)) {
+ next if ($flag eq '');
+
if ($flag eq 'ND') {
$nd = 1;
- } elsif ($flag eq 'X64') {
- # X64 is shorthand for "LONG,X86_64"
- $flags{'LONG'}++;
- $flags{'X86_64'}++;
- } elsif ($flag ne '') {
+ } else {
$flags{$flag}++;
}
More information about the Nasm-commits
mailing list