Skip to content

Commit 9dd3612

Browse files
ahunter6Ingo Molnar
authored andcommitted
x86/insn: Add misc new Intel instructions
The x86 instruction decoder is used not only for decoding kernel instructions. It is also used by perf uprobes (user space probes) and by perf tools Intel Processor Trace decoding. Consequently, it needs to support instructions executed by user space also. Add instructions documented in Intel Architecture Instruction Set Extensions and Future Features Programming Reference March 2024 319433-052, that have not been added yet: AADD AAND AOR AXOR CMPccXADD PBNDKB RDMSRLIST URDMSR UWRMSR VBCSTNEBF162PS VBCSTNESH2PS VCVTNEEBF162PS VCVTNEEPH2PS VCVTNEOBF162PS VCVTNEOPH2PS VCVTNEPS2BF16 VPDPB[SU,UU,SS]D[,S] VPDPW[SU,US,UU]D[,S] VPMADD52HUQ VPMADD52LUQ VSHA512MSG1 VSHA512MSG2 VSHA512RNDS2 VSM3MSG1 VSM3MSG2 VSM3RNDS2 VSM4KEY4 VSM4RNDS4 WRMSRLIST TCMMIMFP16PS TCMMRLFP16PS TDPFP16PS PREFETCHIT1 PREFETCHIT0 Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/20240502105853.5338-5-adrian.hunter@intel.com
1 parent b800026 commit 9dd3612

File tree

2 files changed

+90
-24
lines changed

2 files changed

+90
-24
lines changed

arch/x86/lib/x86-opcode-map.txt

Lines changed: 45 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -698,8 +698,8 @@ AVXcode: 2
698698
4d: vrcp14ss/d Vsd,Hpd,Wsd (66),(ev)
699699
4e: vrsqrt14ps/d Vpd,Wpd (66),(ev)
700700
4f: vrsqrt14ss/d Vsd,Hsd,Wsd (66),(ev)
701-
50: vpdpbusd Vx,Hx,Wx (66)
702-
51: vpdpbusds Vx,Hx,Wx (66)
701+
50: vpdpbusd Vx,Hx,Wx (66) | vpdpbssd Vx,Hx,Wx (F2),(v) | vpdpbsud Vx,Hx,Wx (F3),(v) | vpdpbuud Vx,Hx,Wx (v)
702+
51: vpdpbusds Vx,Hx,Wx (66) | vpdpbssds Vx,Hx,Wx (F2),(v) | vpdpbsuds Vx,Hx,Wx (F3),(v) | vpdpbuuds Vx,Hx,Wx (v)
703703
52: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev)
704704
53: vpdpwssds Vx,Hx,Wx (66) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev)
705705
54: vpopcntb/w Vx,Wx (66),(ev)
@@ -708,7 +708,7 @@ AVXcode: 2
708708
59: vpbroadcastq Vx,Wx (66),(v) | vbroadcasti32x2 Vx,Wx (66),(evo)
709709
5a: vbroadcasti128 Vqq,Mdq (66),(v) | vbroadcasti32x4/64x2 Vx,Wx (66),(evo)
710710
5b: vbroadcasti32x8/64x4 Vqq,Mdq (66),(ev)
711-
5c: TDPBF16PS Vt,Wt,Ht (F3),(v1)
711+
5c: TDPBF16PS Vt,Wt,Ht (F3),(v1) | TDPFP16PS Vt,Wt,Ht (F2),(v1),(o64)
712712
# Skip 0x5d
713713
5e: TDPBSSD Vt,Wt,Ht (F2),(v1) | TDPBSUD Vt,Wt,Ht (F3),(v1) | TDPBUSD Vt,Wt,Ht (66),(v1) | TDPBUUD Vt,Wt,Ht (v1)
714714
# Skip 0x5f-0x61
@@ -718,10 +718,12 @@ AVXcode: 2
718718
65: vblendmps/d Vx,Hx,Wx (66),(ev)
719719
66: vpblendmb/w Vx,Hx,Wx (66),(ev)
720720
68: vp2intersectd/q Kx,Hx,Wx (F2),(ev)
721-
# Skip 0x69-0x6f
721+
# Skip 0x69-0x6b
722+
6c: TCMMIMFP16PS Vt,Wt,Ht (66),(v1),(o64) | TCMMRLFP16PS Vt,Wt,Ht (v1),(o64)
723+
# Skip 0x6d-0x6f
722724
70: vpshldvw Vx,Hx,Wx (66),(ev)
723725
71: vpshldvd/q Vx,Hx,Wx (66),(ev)
724-
72: vcvtne2ps2bf16 Vx,Hx,Wx (F2),(ev) | vcvtneps2bf16 Vx,Wx (F3),(ev) | vpshrdvw Vx,Hx,Wx (66),(ev)
726+
72: vcvtne2ps2bf16 Vx,Hx,Wx (F2),(ev) | vcvtneps2bf16 Vx,Wx (F3) | vpshrdvw Vx,Hx,Wx (66),(ev)
725727
73: vpshrdvd/q Vx,Hx,Wx (66),(ev)
726728
75: vpermi2b/w Vx,Hx,Wx (66),(ev)
727729
76: vpermi2d/q Vx,Hx,Wx (66),(ev)
@@ -777,8 +779,10 @@ ac: vfnmadd213ps/d Vx,Hx,Wx (66),(v)
777779
ad: vfnmadd213ss/d Vx,Hx,Wx (66),(v),(v1)
778780
ae: vfnmsub213ps/d Vx,Hx,Wx (66),(v)
779781
af: vfnmsub213ss/d Vx,Hx,Wx (66),(v),(v1)
780-
b4: vpmadd52luq Vx,Hx,Wx (66),(ev)
781-
b5: vpmadd52huq Vx,Hx,Wx (66),(ev)
782+
b0: vcvtneebf162ps Vx,Mx (F3),(!11B),(v) | vcvtneeph2ps Vx,Mx (66),(!11B),(v) | vcvtneobf162ps Vx,Mx (F2),(!11B),(v) | vcvtneoph2ps Vx,Mx (!11B),(v)
783+
b1: vbcstnebf162ps Vx,Mw (F3),(!11B),(v) | vbcstnesh2ps Vx,Mw (66),(!11B),(v)
784+
b4: vpmadd52luq Vx,Hx,Wx (66)
785+
b5: vpmadd52huq Vx,Hx,Wx (66)
782786
b6: vfmaddsub231ps/d Vx,Hx,Wx (66),(v)
783787
b7: vfmsubadd231ps/d Vx,Hx,Wx (66),(v)
784788
b8: vfmadd231ps/d Vx,Hx,Wx (66),(v)
@@ -796,27 +800,47 @@ c7: Grp19 (1A)
796800
c8: sha1nexte Vdq,Wdq | vexp2ps/d Vx,Wx (66),(ev)
797801
c9: sha1msg1 Vdq,Wdq
798802
ca: sha1msg2 Vdq,Wdq | vrcp28ps/d Vx,Wx (66),(ev)
799-
cb: sha256rnds2 Vdq,Wdq | vrcp28ss/d Vx,Hx,Wx (66),(ev)
800-
cc: sha256msg1 Vdq,Wdq | vrsqrt28ps/d Vx,Wx (66),(ev)
801-
cd: sha256msg2 Vdq,Wdq | vrsqrt28ss/d Vx,Hx,Wx (66),(ev)
803+
cb: sha256rnds2 Vdq,Wdq | vrcp28ss/d Vx,Hx,Wx (66),(ev) | vsha512rnds2 Vqq,Hqq,Udq (F2),(11B),(v)
804+
cc: sha256msg1 Vdq,Wdq | vrsqrt28ps/d Vx,Wx (66),(ev) | vsha512msg1 Vqq,Udq (F2),(11B),(v)
805+
cd: sha256msg2 Vdq,Wdq | vrsqrt28ss/d Vx,Hx,Wx (66),(ev) | vsha512msg2 Vqq,Uqq (F2),(11B),(v)
802806
cf: vgf2p8mulb Vx,Wx (66)
807+
d2: vpdpwsud Vx,Hx,Wx (F3),(v) | vpdpwusd Vx,Hx,Wx (66),(v) | vpdpwuud Vx,Hx,Wx (v)
808+
d3: vpdpwsuds Vx,Hx,Wx (F3),(v) | vpdpwusds Vx,Hx,Wx (66),(v) | vpdpwuuds Vx,Hx,Wx (v)
803809
d8: AESENCWIDE128KL Qpi (F3),(000),(00B) | AESENCWIDE256KL Qpi (F3),(000),(10B) | AESDECWIDE128KL Qpi (F3),(000),(01B) | AESDECWIDE256KL Qpi (F3),(000),(11B)
810+
da: vsm3msg1 Vdq,Hdq,Udq (v1) | vsm3msg2 Vdq,Hdq,Udq (66),(v1) | vsm4key4 Vx,Hx,Wx (F3),(v) | vsm4rnds4 Vx,Hx,Wx (F2),(v)
804811
db: VAESIMC Vdq,Wdq (66),(v1)
805812
dc: vaesenc Vx,Hx,Wx (66) | LOADIWKEY Vx,Hx (F3) | AESENC128KL Vpd,Qpi (F3)
806813
dd: vaesenclast Vx,Hx,Wx (66) | AESDEC128KL Vpd,Qpi (F3)
807814
de: vaesdec Vx,Hx,Wx (66) | AESENC256KL Vpd,Qpi (F3)
808815
df: vaesdeclast Vx,Hx,Wx (66) | AESDEC256KL Vpd,Qpi (F3)
816+
e0: CMPOXADD My,Gy,By (66),(v1),(o64)
817+
e1: CMPNOXADD My,Gy,By (66),(v1),(o64)
818+
e2: CMPBXADD My,Gy,By (66),(v1),(o64)
819+
e3: CMPNBXADD My,Gy,By (66),(v1),(o64)
820+
e4: CMPZXADD My,Gy,By (66),(v1),(o64)
821+
e5: CMPNZXADD My,Gy,By (66),(v1),(o64)
822+
e6: CMPBEXADD My,Gy,By (66),(v1),(o64)
823+
e7: CMPNBEXADD My,Gy,By (66),(v1),(o64)
824+
e8: CMPSXADD My,Gy,By (66),(v1),(o64)
825+
e9: CMPNSXADD My,Gy,By (66),(v1),(o64)
826+
ea: CMPPXADD My,Gy,By (66),(v1),(o64)
827+
eb: CMPNPXADD My,Gy,By (66),(v1),(o64)
828+
ec: CMPLXADD My,Gy,By (66),(v1),(o64)
829+
ed: CMPNLXADD My,Gy,By (66),(v1),(o64)
830+
ee: CMPLEXADD My,Gy,By (66),(v1),(o64)
831+
ef: CMPNLEXADD My,Gy,By (66),(v1),(o64)
809832
f0: MOVBE Gy,My | MOVBE Gw,Mw (66) | CRC32 Gd,Eb (F2) | CRC32 Gd,Eb (66&F2)
810833
f1: MOVBE My,Gy | MOVBE Mw,Gw (66) | CRC32 Gd,Ey (F2) | CRC32 Gd,Ew (66&F2)
811834
f2: ANDN Gy,By,Ey (v)
812835
f3: Grp17 (1A)
813836
f5: BZHI Gy,Ey,By (v) | PEXT Gy,By,Ey (F3),(v) | PDEP Gy,By,Ey (F2),(v) | WRUSSD/Q My,Gy (66)
814837
f6: ADCX Gy,Ey (66) | ADOX Gy,Ey (F3) | MULX By,Gy,rDX,Ey (F2),(v) | WRSSD/Q My,Gy
815838
f7: BEXTR Gy,Ey,By (v) | SHLX Gy,Ey,By (66),(v) | SARX Gy,Ey,By (F3),(v) | SHRX Gy,Ey,By (F2),(v)
816-
f8: MOVDIR64B Gv,Mdqq (66) | ENQCMD Gv,Mdqq (F2) | ENQCMDS Gv,Mdqq (F3)
839+
f8: MOVDIR64B Gv,Mdqq (66) | ENQCMD Gv,Mdqq (F2) | ENQCMDS Gv,Mdqq (F3) | URDMSR Rq,Gq (F2),(11B) | UWRMSR Gq,Rq (F3),(11B)
817840
f9: MOVDIRI My,Gy
818841
fa: ENCODEKEY128 Ew,Ew (F3)
819842
fb: ENCODEKEY256 Ew,Ew (F3)
843+
fc: AADD My,Gy | AAND My,Gy (66) | AOR My,Gy (F2) | AXOR My,Gy (F3)
820844
EndTable
821845

822846
Table: 3-byte opcode 2 (0x0f 0x3a)
@@ -896,6 +920,7 @@ c2: vcmpph Vx,Hx,Wx,Ib (ev) | vcmpsh Vx,Hx,Wx,Ib (F3),(ev)
896920
cc: sha1rnds4 Vdq,Wdq,Ib
897921
ce: vgf2p8affineqb Vx,Wx,Ib (66)
898922
cf: vgf2p8affineinvqb Vx,Wx,Ib (66)
923+
de: vsm3rnds2 Vdq,Hdq,Wdq,Ib (66),(v1)
899924
df: VAESKEYGEN Vdq,Wdq,Ib (66),(v1)
900925
f0: RORX Gy,Ey,Ib (F2),(v) | HRESET Gv,Ib (F3),(000),(11B)
901926
EndTable
@@ -978,6 +1003,12 @@ d6: vfcmulcph Vx,Hx,Wx (F2),(ev) | vfmulcph Vx,Hx,Wx (F3),(ev)
9781003
d7: vfcmulcsh Vx,Hx,Wx (F2),(ev) | vfmulcsh Vx,Hx,Wx (F3),(ev)
9791004
EndTable
9801005

1006+
Table: VEX map 7
1007+
Referrer:
1008+
AVXcode: 7
1009+
f8: URDMSR Rq,Id (F2),(v1),(11B) | UWRMSR Id,Rq (F3),(v1),(11B)
1010+
EndTable
1011+
9811012
GrpTable: Grp1
9821013
0: ADD
9831014
1: OR
@@ -1054,7 +1085,7 @@ GrpTable: Grp6
10541085
EndTable
10551086

10561087
GrpTable: Grp7
1057-
0: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) | PCONFIG (101),(11B) | ENCLV (000),(11B) | WRMSRNS (110),(11B)
1088+
0: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) | PCONFIG (101),(11B) | ENCLV (000),(11B) | WRMSRNS (110),(11B) | RDMSRLIST (F2),(110),(11B) | WRMSRLIST (F3),(110),(11B) | PBNDKB (111),(11B)
10581089
1: SIDT Ms | MONITOR (000),(11B) | MWAIT (001),(11B) | CLAC (010),(11B) | STAC (011),(11B) | ENCLS (111),(11B) | ERETU (F3),(010),(11B) | ERETS (F2),(010),(11B)
10591090
2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B) | ENCLU (111),(11B)
10601091
3: LIDT Ms
@@ -1140,6 +1171,8 @@ GrpTable: Grp16
11401171
1: prefetch T0
11411172
2: prefetch T1
11421173
3: prefetch T2
1174+
6: prefetch IT1
1175+
7: prefetch IT0
11431176
EndTable
11441177

11451178
GrpTable: Grp17

tools/arch/x86/lib/x86-opcode-map.txt

Lines changed: 45 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -698,8 +698,8 @@ AVXcode: 2
698698
4d: vrcp14ss/d Vsd,Hpd,Wsd (66),(ev)
699699
4e: vrsqrt14ps/d Vpd,Wpd (66),(ev)
700700
4f: vrsqrt14ss/d Vsd,Hsd,Wsd (66),(ev)
701-
50: vpdpbusd Vx,Hx,Wx (66)
702-
51: vpdpbusds Vx,Hx,Wx (66)
701+
50: vpdpbusd Vx,Hx,Wx (66) | vpdpbssd Vx,Hx,Wx (F2),(v) | vpdpbsud Vx,Hx,Wx (F3),(v) | vpdpbuud Vx,Hx,Wx (v)
702+
51: vpdpbusds Vx,Hx,Wx (66) | vpdpbssds Vx,Hx,Wx (F2),(v) | vpdpbsuds Vx,Hx,Wx (F3),(v) | vpdpbuuds Vx,Hx,Wx (v)
703703
52: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev)
704704
53: vpdpwssds Vx,Hx,Wx (66) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev)
705705
54: vpopcntb/w Vx,Wx (66),(ev)
@@ -708,7 +708,7 @@ AVXcode: 2
708708
59: vpbroadcastq Vx,Wx (66),(v) | vbroadcasti32x2 Vx,Wx (66),(evo)
709709
5a: vbroadcasti128 Vqq,Mdq (66),(v) | vbroadcasti32x4/64x2 Vx,Wx (66),(evo)
710710
5b: vbroadcasti32x8/64x4 Vqq,Mdq (66),(ev)
711-
5c: TDPBF16PS Vt,Wt,Ht (F3),(v1)
711+
5c: TDPBF16PS Vt,Wt,Ht (F3),(v1) | TDPFP16PS Vt,Wt,Ht (F2),(v1),(o64)
712712
# Skip 0x5d
713713
5e: TDPBSSD Vt,Wt,Ht (F2),(v1) | TDPBSUD Vt,Wt,Ht (F3),(v1) | TDPBUSD Vt,Wt,Ht (66),(v1) | TDPBUUD Vt,Wt,Ht (v1)
714714
# Skip 0x5f-0x61
@@ -718,10 +718,12 @@ AVXcode: 2
718718
65: vblendmps/d Vx,Hx,Wx (66),(ev)
719719
66: vpblendmb/w Vx,Hx,Wx (66),(ev)
720720
68: vp2intersectd/q Kx,Hx,Wx (F2),(ev)
721-
# Skip 0x69-0x6f
721+
# Skip 0x69-0x6b
722+
6c: TCMMIMFP16PS Vt,Wt,Ht (66),(v1),(o64) | TCMMRLFP16PS Vt,Wt,Ht (v1),(o64)
723+
# Skip 0x6d-0x6f
722724
70: vpshldvw Vx,Hx,Wx (66),(ev)
723725
71: vpshldvd/q Vx,Hx,Wx (66),(ev)
724-
72: vcvtne2ps2bf16 Vx,Hx,Wx (F2),(ev) | vcvtneps2bf16 Vx,Wx (F3),(ev) | vpshrdvw Vx,Hx,Wx (66),(ev)
726+
72: vcvtne2ps2bf16 Vx,Hx,Wx (F2),(ev) | vcvtneps2bf16 Vx,Wx (F3) | vpshrdvw Vx,Hx,Wx (66),(ev)
725727
73: vpshrdvd/q Vx,Hx,Wx (66),(ev)
726728
75: vpermi2b/w Vx,Hx,Wx (66),(ev)
727729
76: vpermi2d/q Vx,Hx,Wx (66),(ev)
@@ -777,8 +779,10 @@ ac: vfnmadd213ps/d Vx,Hx,Wx (66),(v)
777779
ad: vfnmadd213ss/d Vx,Hx,Wx (66),(v),(v1)
778780
ae: vfnmsub213ps/d Vx,Hx,Wx (66),(v)
779781
af: vfnmsub213ss/d Vx,Hx,Wx (66),(v),(v1)
780-
b4: vpmadd52luq Vx,Hx,Wx (66),(ev)
781-
b5: vpmadd52huq Vx,Hx,Wx (66),(ev)
782+
b0: vcvtneebf162ps Vx,Mx (F3),(!11B),(v) | vcvtneeph2ps Vx,Mx (66),(!11B),(v) | vcvtneobf162ps Vx,Mx (F2),(!11B),(v) | vcvtneoph2ps Vx,Mx (!11B),(v)
783+
b1: vbcstnebf162ps Vx,Mw (F3),(!11B),(v) | vbcstnesh2ps Vx,Mw (66),(!11B),(v)
784+
b4: vpmadd52luq Vx,Hx,Wx (66)
785+
b5: vpmadd52huq Vx,Hx,Wx (66)
782786
b6: vfmaddsub231ps/d Vx,Hx,Wx (66),(v)
783787
b7: vfmsubadd231ps/d Vx,Hx,Wx (66),(v)
784788
b8: vfmadd231ps/d Vx,Hx,Wx (66),(v)
@@ -796,27 +800,47 @@ c7: Grp19 (1A)
796800
c8: sha1nexte Vdq,Wdq | vexp2ps/d Vx,Wx (66),(ev)
797801
c9: sha1msg1 Vdq,Wdq
798802
ca: sha1msg2 Vdq,Wdq | vrcp28ps/d Vx,Wx (66),(ev)
799-
cb: sha256rnds2 Vdq,Wdq | vrcp28ss/d Vx,Hx,Wx (66),(ev)
800-
cc: sha256msg1 Vdq,Wdq | vrsqrt28ps/d Vx,Wx (66),(ev)
801-
cd: sha256msg2 Vdq,Wdq | vrsqrt28ss/d Vx,Hx,Wx (66),(ev)
803+
cb: sha256rnds2 Vdq,Wdq | vrcp28ss/d Vx,Hx,Wx (66),(ev) | vsha512rnds2 Vqq,Hqq,Udq (F2),(11B),(v)
804+
cc: sha256msg1 Vdq,Wdq | vrsqrt28ps/d Vx,Wx (66),(ev) | vsha512msg1 Vqq,Udq (F2),(11B),(v)
805+
cd: sha256msg2 Vdq,Wdq | vrsqrt28ss/d Vx,Hx,Wx (66),(ev) | vsha512msg2 Vqq,Uqq (F2),(11B),(v)
802806
cf: vgf2p8mulb Vx,Wx (66)
807+
d2: vpdpwsud Vx,Hx,Wx (F3),(v) | vpdpwusd Vx,Hx,Wx (66),(v) | vpdpwuud Vx,Hx,Wx (v)
808+
d3: vpdpwsuds Vx,Hx,Wx (F3),(v) | vpdpwusds Vx,Hx,Wx (66),(v) | vpdpwuuds Vx,Hx,Wx (v)
803809
d8: AESENCWIDE128KL Qpi (F3),(000),(00B) | AESENCWIDE256KL Qpi (F3),(000),(10B) | AESDECWIDE128KL Qpi (F3),(000),(01B) | AESDECWIDE256KL Qpi (F3),(000),(11B)
810+
da: vsm3msg1 Vdq,Hdq,Udq (v1) | vsm3msg2 Vdq,Hdq,Udq (66),(v1) | vsm4key4 Vx,Hx,Wx (F3),(v) | vsm4rnds4 Vx,Hx,Wx (F2),(v)
804811
db: VAESIMC Vdq,Wdq (66),(v1)
805812
dc: vaesenc Vx,Hx,Wx (66) | LOADIWKEY Vx,Hx (F3) | AESENC128KL Vpd,Qpi (F3)
806813
dd: vaesenclast Vx,Hx,Wx (66) | AESDEC128KL Vpd,Qpi (F3)
807814
de: vaesdec Vx,Hx,Wx (66) | AESENC256KL Vpd,Qpi (F3)
808815
df: vaesdeclast Vx,Hx,Wx (66) | AESDEC256KL Vpd,Qpi (F3)
816+
e0: CMPOXADD My,Gy,By (66),(v1),(o64)
817+
e1: CMPNOXADD My,Gy,By (66),(v1),(o64)
818+
e2: CMPBXADD My,Gy,By (66),(v1),(o64)
819+
e3: CMPNBXADD My,Gy,By (66),(v1),(o64)
820+
e4: CMPZXADD My,Gy,By (66),(v1),(o64)
821+
e5: CMPNZXADD My,Gy,By (66),(v1),(o64)
822+
e6: CMPBEXADD My,Gy,By (66),(v1),(o64)
823+
e7: CMPNBEXADD My,Gy,By (66),(v1),(o64)
824+
e8: CMPSXADD My,Gy,By (66),(v1),(o64)
825+
e9: CMPNSXADD My,Gy,By (66),(v1),(o64)
826+
ea: CMPPXADD My,Gy,By (66),(v1),(o64)
827+
eb: CMPNPXADD My,Gy,By (66),(v1),(o64)
828+
ec: CMPLXADD My,Gy,By (66),(v1),(o64)
829+
ed: CMPNLXADD My,Gy,By (66),(v1),(o64)
830+
ee: CMPLEXADD My,Gy,By (66),(v1),(o64)
831+
ef: CMPNLEXADD My,Gy,By (66),(v1),(o64)
809832
f0: MOVBE Gy,My | MOVBE Gw,Mw (66) | CRC32 Gd,Eb (F2) | CRC32 Gd,Eb (66&F2)
810833
f1: MOVBE My,Gy | MOVBE Mw,Gw (66) | CRC32 Gd,Ey (F2) | CRC32 Gd,Ew (66&F2)
811834
f2: ANDN Gy,By,Ey (v)
812835
f3: Grp17 (1A)
813836
f5: BZHI Gy,Ey,By (v) | PEXT Gy,By,Ey (F3),(v) | PDEP Gy,By,Ey (F2),(v) | WRUSSD/Q My,Gy (66)
814837
f6: ADCX Gy,Ey (66) | ADOX Gy,Ey (F3) | MULX By,Gy,rDX,Ey (F2),(v) | WRSSD/Q My,Gy
815838
f7: BEXTR Gy,Ey,By (v) | SHLX Gy,Ey,By (66),(v) | SARX Gy,Ey,By (F3),(v) | SHRX Gy,Ey,By (F2),(v)
816-
f8: MOVDIR64B Gv,Mdqq (66) | ENQCMD Gv,Mdqq (F2) | ENQCMDS Gv,Mdqq (F3)
839+
f8: MOVDIR64B Gv,Mdqq (66) | ENQCMD Gv,Mdqq (F2) | ENQCMDS Gv,Mdqq (F3) | URDMSR Rq,Gq (F2),(11B) | UWRMSR Gq,Rq (F3),(11B)
817840
f9: MOVDIRI My,Gy
818841
fa: ENCODEKEY128 Ew,Ew (F3)
819842
fb: ENCODEKEY256 Ew,Ew (F3)
843+
fc: AADD My,Gy | AAND My,Gy (66) | AOR My,Gy (F2) | AXOR My,Gy (F3)
820844
EndTable
821845

822846
Table: 3-byte opcode 2 (0x0f 0x3a)
@@ -896,6 +920,7 @@ c2: vcmpph Vx,Hx,Wx,Ib (ev) | vcmpsh Vx,Hx,Wx,Ib (F3),(ev)
896920
cc: sha1rnds4 Vdq,Wdq,Ib
897921
ce: vgf2p8affineqb Vx,Wx,Ib (66)
898922
cf: vgf2p8affineinvqb Vx,Wx,Ib (66)
923+
de: vsm3rnds2 Vdq,Hdq,Wdq,Ib (66),(v1)
899924
df: VAESKEYGEN Vdq,Wdq,Ib (66),(v1)
900925
f0: RORX Gy,Ey,Ib (F2),(v) | HRESET Gv,Ib (F3),(000),(11B)
901926
EndTable
@@ -978,6 +1003,12 @@ d6: vfcmulcph Vx,Hx,Wx (F2),(ev) | vfmulcph Vx,Hx,Wx (F3),(ev)
9781003
d7: vfcmulcsh Vx,Hx,Wx (F2),(ev) | vfmulcsh Vx,Hx,Wx (F3),(ev)
9791004
EndTable
9801005

1006+
Table: VEX map 7
1007+
Referrer:
1008+
AVXcode: 7
1009+
f8: URDMSR Rq,Id (F2),(v1),(11B) | UWRMSR Id,Rq (F3),(v1),(11B)
1010+
EndTable
1011+
9811012
GrpTable: Grp1
9821013
0: ADD
9831014
1: OR
@@ -1054,7 +1085,7 @@ GrpTable: Grp6
10541085
EndTable
10551086

10561087
GrpTable: Grp7
1057-
0: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) | PCONFIG (101),(11B) | ENCLV (000),(11B) | WRMSRNS (110),(11B)
1088+
0: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) | PCONFIG (101),(11B) | ENCLV (000),(11B) | WRMSRNS (110),(11B) | RDMSRLIST (F2),(110),(11B) | WRMSRLIST (F3),(110),(11B) | PBNDKB (111),(11B)
10581089
1: SIDT Ms | MONITOR (000),(11B) | MWAIT (001),(11B) | CLAC (010),(11B) | STAC (011),(11B) | ENCLS (111),(11B) | ERETU (F3),(010),(11B) | ERETS (F2),(010),(11B)
10591090
2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B) | ENCLU (111),(11B)
10601091
3: LIDT Ms
@@ -1140,6 +1171,8 @@ GrpTable: Grp16
11401171
1: prefetch T0
11411172
2: prefetch T1
11421173
3: prefetch T2
1174+
6: prefetch IT1
1175+
7: prefetch IT0
11431176
EndTable
11441177

11451178
GrpTable: Grp17

0 commit comments

Comments
 (0)