forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/arch/x86/lib/x86-opcode-map.txt
....@@ -366,7 +366,7 @@
366366 1b: BNDCN Gv,Ev (F2) | BNDMOV Ev,Gv (66) | BNDMK Gv,Ev (F3) | BNDSTX Ev,Gv
367367 1c: Grp20 (1A),(1C)
368368 1d:
369
-1e:
369
+1e: Grp21 (1A)
370370 1f: NOP Ev
371371 # 0x0f 0x20-0x2f
372372 20: MOV Rd,Cd
....@@ -695,16 +695,28 @@
695695 4d: vrcp14ss/d Vsd,Hpd,Wsd (66),(ev)
696696 4e: vrsqrt14ps/d Vpd,Wpd (66),(ev)
697697 4f: vrsqrt14ss/d Vsd,Hsd,Wsd (66),(ev)
698
-# Skip 0x50-0x57
698
+50: vpdpbusd Vx,Hx,Wx (66),(ev)
699
+51: vpdpbusds Vx,Hx,Wx (66),(ev)
700
+52: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66),(ev) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev)
701
+53: vpdpwssds Vx,Hx,Wx (66),(ev) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev)
702
+54: vpopcntb/w Vx,Wx (66),(ev)
703
+55: vpopcntd/q Vx,Wx (66),(ev)
699704 58: vpbroadcastd Vx,Wx (66),(v)
700705 59: vpbroadcastq Vx,Wx (66),(v) | vbroadcasti32x2 Vx,Wx (66),(evo)
701706 5a: vbroadcasti128 Vqq,Mdq (66),(v) | vbroadcasti32x4/64x2 Vx,Wx (66),(evo)
702707 5b: vbroadcasti32x8/64x4 Vqq,Mdq (66),(ev)
703
-# Skip 0x5c-0x63
708
+# Skip 0x5c-0x61
709
+62: vpexpandb/w Vx,Wx (66),(ev)
710
+63: vpcompressb/w Wx,Vx (66),(ev)
704711 64: vpblendmd/q Vx,Hx,Wx (66),(ev)
705712 65: vblendmps/d Vx,Hx,Wx (66),(ev)
706713 66: vpblendmb/w Vx,Hx,Wx (66),(ev)
707
-# Skip 0x67-0x74
714
+68: vp2intersectd/q Kx,Hx,Wx (F2),(ev)
715
+# Skip 0x69-0x6f
716
+70: vpshldvw Vx,Hx,Wx (66),(ev)
717
+71: vpshldvd/q Vx,Hx,Wx (66),(ev)
718
+72: vcvtne2ps2bf16 Vx,Hx,Wx (F2),(ev) | vcvtneps2bf16 Vx,Wx (F3),(ev) | vpshrdvw Vx,Hx,Wx (66),(ev)
719
+73: vpshrdvd/q Vx,Hx,Wx (66),(ev)
708720 75: vpermi2b/w Vx,Hx,Wx (66),(ev)
709721 76: vpermi2d/q Vx,Hx,Wx (66),(ev)
710722 77: vpermi2ps/d Vx,Hx,Wx (66),(ev)
....@@ -727,6 +739,7 @@
727739 8c: vpmaskmovd/q Vx,Hx,Mx (66),(v)
728740 8d: vpermb/w Vx,Hx,Wx (66),(ev)
729741 8e: vpmaskmovd/q Mx,Vx,Hx (66),(v)
742
+8f: vpshufbitqmb Kx,Hx,Wx (66),(ev)
730743 # 0x0f 0x38 0x90-0xbf (FMA)
731744 90: vgatherdd/q Vx,Hx,Wx (66),(v) | vpgatherdd/q Vx,Wx (66),(evo)
732745 91: vgatherqd/q Vx,Hx,Wx (66),(v) | vpgatherqd/q Vx,Wx (66),(evo)
....@@ -738,8 +751,8 @@
738751 97: vfmsubadd132ps/d Vx,Hx,Wx (66),(v)
739752 98: vfmadd132ps/d Vx,Hx,Wx (66),(v)
740753 99: vfmadd132ss/d Vx,Hx,Wx (66),(v),(v1)
741
-9a: vfmsub132ps/d Vx,Hx,Wx (66),(v)
742
-9b: vfmsub132ss/d Vx,Hx,Wx (66),(v),(v1)
754
+9a: vfmsub132ps/d Vx,Hx,Wx (66),(v) | v4fmaddps Vdqq,Hdqq,Wdq (F2),(ev)
755
+9b: vfmsub132ss/d Vx,Hx,Wx (66),(v),(v1) | v4fmaddss Vdq,Hdq,Wdq (F2),(ev)
743756 9c: vfnmadd132ps/d Vx,Hx,Wx (66),(v)
744757 9d: vfnmadd132ss/d Vx,Hx,Wx (66),(v),(v1)
745758 9e: vfnmsub132ps/d Vx,Hx,Wx (66),(v)
....@@ -752,8 +765,8 @@
752765 a7: vfmsubadd213ps/d Vx,Hx,Wx (66),(v)
753766 a8: vfmadd213ps/d Vx,Hx,Wx (66),(v)
754767 a9: vfmadd213ss/d Vx,Hx,Wx (66),(v),(v1)
755
-aa: vfmsub213ps/d Vx,Hx,Wx (66),(v)
756
-ab: vfmsub213ss/d Vx,Hx,Wx (66),(v),(v1)
768
+aa: vfmsub213ps/d Vx,Hx,Wx (66),(v) | v4fnmaddps Vdqq,Hdqq,Wdq (F2),(ev)
769
+ab: vfmsub213ss/d Vx,Hx,Wx (66),(v),(v1) | v4fnmaddss Vdq,Hdq,Wdq (F2),(ev)
757770 ac: vfnmadd213ps/d Vx,Hx,Wx (66),(v)
758771 ad: vfnmadd213ss/d Vx,Hx,Wx (66),(v),(v1)
759772 ae: vfnmsub213ps/d Vx,Hx,Wx (66),(v)
....@@ -780,17 +793,18 @@
780793 cb: sha256rnds2 Vdq,Wdq | vrcp28ss/d Vx,Hx,Wx (66),(ev)
781794 cc: sha256msg1 Vdq,Wdq | vrsqrt28ps/d Vx,Wx (66),(ev)
782795 cd: sha256msg2 Vdq,Wdq | vrsqrt28ss/d Vx,Hx,Wx (66),(ev)
796
+cf: vgf2p8mulb Vx,Wx (66)
783797 db: VAESIMC Vdq,Wdq (66),(v1)
784
-dc: VAESENC Vdq,Hdq,Wdq (66),(v1)
785
-dd: VAESENCLAST Vdq,Hdq,Wdq (66),(v1)
786
-de: VAESDEC Vdq,Hdq,Wdq (66),(v1)
787
-df: VAESDECLAST Vdq,Hdq,Wdq (66),(v1)
798
+dc: vaesenc Vx,Hx,Wx (66)
799
+dd: vaesenclast Vx,Hx,Wx (66)
800
+de: vaesdec Vx,Hx,Wx (66)
801
+df: vaesdeclast Vx,Hx,Wx (66)
788802 f0: MOVBE Gy,My | MOVBE Gw,Mw (66) | CRC32 Gd,Eb (F2) | CRC32 Gd,Eb (66&F2)
789803 f1: MOVBE My,Gy | MOVBE Mw,Gw (66) | CRC32 Gd,Ey (F2) | CRC32 Gd,Ew (66&F2)
790804 f2: ANDN Gy,By,Ey (v)
791805 f3: Grp17 (1A)
792
-f5: BZHI Gy,Ey,By (v) | PEXT Gy,By,Ey (F3),(v) | PDEP Gy,By,Ey (F2),(v)
793
-f6: ADCX Gy,Ey (66) | ADOX Gy,Ey (F3) | MULX By,Gy,rDX,Ey (F2),(v)
806
+f5: BZHI Gy,Ey,By (v) | PEXT Gy,By,Ey (F3),(v) | PDEP Gy,By,Ey (F2),(v) | WRUSSD/Q My,Gy (66)
807
+f6: ADCX Gy,Ey (66) | ADOX Gy,Ey (F3) | MULX By,Gy,rDX,Ey (F2),(v) | WRSSD/Q My,Gy
794808 f7: BEXTR Gy,Ey,By (v) | SHLX Gy,Ey,By (66),(v) | SARX Gy,Ey,By (F3),(v) | SHRX Gy,Ey,By (F2),(v)
795809 f8: MOVDIR64B Gv,Mdqq (66) | ENQCMD Gv,Mdqq (F2) | ENQCMDS Gv,Mdqq (F3)
796810 f9: MOVDIRI My,Gy
....@@ -848,7 +862,7 @@
848862 41: vdppd Vdq,Hdq,Wdq,Ib (66),(v1)
849863 42: vmpsadbw Vx,Hx,Wx,Ib (66),(v1) | vdbpsadbw Vx,Hx,Wx,Ib (66),(evo)
850864 43: vshufi32x4/64x2 Vx,Hx,Wx,Ib (66),(ev)
851
-44: vpclmulqdq Vdq,Hdq,Wdq,Ib (66),(v1)
865
+44: vpclmulqdq Vx,Hx,Wx,Ib (66)
852866 46: vperm2i128 Vqq,Hqq,Wqq,Ib (66),(v)
853867 4a: vblendvps Vx,Hx,Wx,Lx (66),(v)
854868 4b: vblendvpd Vx,Hx,Wx,Lx (66),(v)
....@@ -865,7 +879,13 @@
865879 63: vpcmpistri Vdq,Wdq,Ib (66),(v1)
866880 66: vfpclassps/d Vk,Wx,Ib (66),(ev)
867881 67: vfpclassss/d Vk,Wx,Ib (66),(ev)
882
+70: vpshldw Vx,Hx,Wx,Ib (66),(ev)
883
+71: vpshldd/q Vx,Hx,Wx,Ib (66),(ev)
884
+72: vpshrdw Vx,Hx,Wx,Ib (66),(ev)
885
+73: vpshrdd/q Vx,Hx,Wx,Ib (66),(ev)
868886 cc: sha1rnds4 Vdq,Wdq,Ib
887
+ce: vgf2p8affineqb Vx,Wx,Ib (66)
888
+cf: vgf2p8affineinvqb Vx,Wx,Ib (66)
869889 df: VAESKEYGEN Vdq,Wdq,Ib (66),(v1)
870890 f0: RORX Gy,Ey,Ib (F2),(v)
871891 EndTable
....@@ -950,7 +970,7 @@
950970 2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B) | ENCLU (111),(11B)
951971 3: LIDT Ms
952972 4: SMSW Mw/Rv
953
-5: rdpkru (110),(11B) | wrpkru (111),(11B)
973
+5: rdpkru (110),(11B) | wrpkru (111),(11B) | SAVEPREVSSP (F3),(010),(11B) | RSTORSSP Mq (F3) | SETSSBSY (F3),(000),(11B)
954974 6: LMSW Ew
955975 7: INVLPG Mb | SWAPGS (o64),(000),(11B) | RDTSCP (001),(11B)
956976 EndTable
....@@ -1021,8 +1041,8 @@
10211041 2: vldmxcsr Md (v1) | WRFSBASE Ry (F3),(11B)
10221042 3: vstmxcsr Md (v1) | WRGSBASE Ry (F3),(11B)
10231043 4: XSAVE | ptwrite Ey (F3),(11B)
1024
-5: XRSTOR | lfence (11B)
1025
-6: XSAVEOPT | clwb (66) | mfence (11B) | TPAUSE Rd (66),(11B) | UMONITOR Rv (F3),(11B) | UMWAIT Rd (F2),(11B)
1044
+5: XRSTOR | lfence (11B) | INCSSPD/Q Ry (F3),(11B)
1045
+6: XSAVEOPT | clwb (66) | mfence (11B) | TPAUSE Rd (66),(11B) | UMONITOR Rv (F3),(11B) | UMWAIT Rd (F2),(11B) | CLRSSBSY Mq (F3)
10261046 7: clflush | clflushopt (66) | sfence (11B)
10271047 EndTable
10281048
....@@ -1057,6 +1077,11 @@
10571077 0: cldemote Mb
10581078 EndTable
10591079
1080
+GrpTable: Grp21
1081
+1: RDSSPD/Q Ry (F3),(11B)
1082
+7: ENDBR64 (F3),(010),(11B) | ENDBR32 (F3),(011),(11B)
1083
+EndTable
1084
+
10601085 # AMD's Prefetch Group
10611086 GrpTable: GrpP
10621087 0: PREFETCH