Browse Source

Add x86 instruction set AVX102 for targets i386 and i8086.

Margers 2 months ago
parent
commit
53cbfe3f85

+ 142 - 1
compiler/i386/i386att.inc

@@ -378,6 +378,7 @@
 'wbinvd',
 'wbinvd',
 'wrshr',
 'wrshr',
 'wrmsr',
 'wrmsr',
+'wrmsrns',
 'xadd',
 'xadd',
 'xbts',
 'xbts',
 'xchg',
 'xchg',
@@ -683,6 +684,14 @@
 'aesdeclast',
 'aesdeclast',
 'aesimc',
 'aesimc',
 'aeskeygenassist',
 'aeskeygenassist',
+'aesdec128kl',
+'aesdec256kl',
+'aesenc128kl',
+'aesenc256kl',
+'aesdecwide128kl',
+'aesdecwide256kl',
+'aesencwide128kl',
+'aesencwide256kl',
 'rdtscp',
 'rdtscp',
 'movbe',
 'movbe',
 'pclmulqdq',
 'pclmulqdq',
@@ -1748,5 +1757,137 @@
 'vsqrtsh',
 'vsqrtsh',
 'vsubph',
 'vsubph',
 'vsubsh',
 'vsubsh',
-'vucomish'
+'vucomish',
+'movdiri',
+'prefetchrst2',
+'aadd',
+'aand',
+'aor',
+'axor',
+'serialize',
+'vpdpbssd',
+'vpdpbssds',
+'vpdpbsud',
+'vpdpbsuds',
+'vpdpbuud',
+'vpdpbuuds',
+'vpdpwsud',
+'vpdpwsuds',
+'vpdpwusd',
+'vpdpwusds',
+'vpdpwuud',
+'vpdpwuuds',
+'vaddbf16',
+'vcmpeqbf16',
+'vcmpltbf16',
+'vcmplebf16',
+'vcmpunordbf16',
+'vcmpneqbf16',
+'vcmpnltbf16',
+'vcmpnlebf16',
+'vcmpordbf16',
+'vcmpeq_uqbf16',
+'vcmpngebf16',
+'vcmpngtbf16',
+'vcmpfalsebf16',
+'vcmpneq_oqbf16',
+'vcmpgebf16',
+'vcmpgtbf16',
+'vcmptruebf16',
+'vcmpeq_osbf16',
+'vcmplt_oqbf16',
+'vcmple_oqbf16',
+'vcmpunord_sbf16',
+'vcmpneq_usbf16',
+'vcmpnlt_uqbf16',
+'vcmpnle_uqbf16',
+'vcmpord_sbf16',
+'vcmpeq_usbf16',
+'vcmpnge_uqbf16',
+'vcmpngt_uqbf16',
+'vcmpfalse_osbf16',
+'vcmpneq_osbf16',
+'vcmpge_oqbf16',
+'vcmpgt_oqbf16',
+'vcmptrue_usbf16',
+'vcmpbf16',
+'vcomisbf16',
+'vdivbf16',
+'vfmadd132bf16',
+'vfmadd213bf16',
+'vfmadd231bf16',
+'vfmsub132bf16',
+'vfmsub213bf16',
+'vfmsub231bf16',
+'vfnmadd132bf16',
+'vfnmadd213bf16',
+'vfnmadd231bf16',
+'vfnmsub132bf16',
+'vfnmsub213bf16',
+'vfnmsub231bf16',
+'vfpclassbf16',
+'vgetexpbf16',
+'vgetmantbf16',
+'vmaxbf16',
+'vminbf16',
+'vmulbf16',
+'vrcpbf16',
+'vreducebf16',
+'vrndscalebf16',
+'vrsqrtbf16',
+'vscalefbf16',
+'vsqrtbf16',
+'vsubbf16',
+'vcomxsd',
+'vcomxsh',
+'vcomxss',
+'vucomxsd',
+'vucomxsh',
+'vucomxss',
+'vcvt2ph2bf8',
+'vcvt2ph2bf8s',
+'vcvt2ph2hf8',
+'vcvt2ph2hf8s',
+'vcvtph2bf8',
+'vcvtph2bf8s',
+'vcvtph2hf8',
+'vcvtph2hf8s',
+'vcvt2ps2phx',
+'vcvtbiasph2bf8',
+'vcvtbiasph2bf8s',
+'vcvtbiasph2hf8',
+'vcvtbiasph2hf8s',
+'vcvthf82ph',
+'vcvtbf162ibs',
+'vcvtbf162iubs',
+'vcvttbf162ibs',
+'vcvttbf162iubs',
+'vcvttpd2dqs',
+'vcvttpd2qqs',
+'vcvttpd2udqs',
+'vcvttpd2uqqs',
+'vcvtph2ibs',
+'vcvtph2iubs',
+'vcvttph2ibs',
+'vcvttph2iubs',
+'vcvttps2dqs',
+'vcvtps2ibs',
+'vcvtps2iubs',
+'vcvttps2ibs',
+'vcvttps2iubs',
+'vcvttps2qqs',
+'vcvttps2udqs',
+'vcvttps2uqqs',
+'vcvttsd2sis',
+'vcvttsd2usis',
+'vcvttss2sis',
+'vcvttss2usis',
+'vminmaxbf16',
+'vminmaxpd',
+'vminmaxph',
+'vminmaxps',
+'vminmaxsd',
+'vminmaxsh',
+'vminmaxss',
+'vdpphps'
 );
 );

+ 141 - 0
compiler/i386/i386atts.inc

@@ -378,6 +378,7 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufNONE,
 attsufINT,
 attsufINT,
 attsufINT,
 attsufINT,
 attsufINT,
 attsufINT,
@@ -684,6 +685,14 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
 attsufINT,
 attsufINT,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
@@ -1748,5 +1757,137 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufMMS,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufMMX,
+attsufMMX,
+attsufMMX,
+attsufMMX,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufMMX,
+attsufNONE,
+attsufMMX,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
 attsufNONE
 attsufNONE
 );
 );

+ 142 - 1
compiler/i386/i386int.inc

@@ -378,6 +378,7 @@
 'wbinvd',
 'wbinvd',
 'wrshr',
 'wrshr',
 'wrmsr',
 'wrmsr',
+'wrmsrns',
 'xadd',
 'xadd',
 'xbts',
 'xbts',
 'xchg',
 'xchg',
@@ -683,6 +684,14 @@
 'aesdeclast',
 'aesdeclast',
 'aesimc',
 'aesimc',
 'aeskeygenassist',
 'aeskeygenassist',
+'aesdec128kl',
+'aesdec256kl',
+'aesenc128kl',
+'aesenc256kl',
+'aesdecwide128kl',
+'aesdecwide256kl',
+'aesencwide128kl',
+'aesencwide256kl',
 'rdtscp',
 'rdtscp',
 'movbe',
 'movbe',
 'pclmulqdq',
 'pclmulqdq',
@@ -1748,5 +1757,137 @@
 'vsqrtsh',
 'vsqrtsh',
 'vsubph',
 'vsubph',
 'vsubsh',
 'vsubsh',
-'vucomish'
+'vucomish',
+'movdiri',
+'prefetchrst2',
+'aadd',
+'aand',
+'aor',
+'axor',
+'serialize',
+'vpdpbssd',
+'vpdpbssds',
+'vpdpbsud',
+'vpdpbsuds',
+'vpdpbuud',
+'vpdpbuuds',
+'vpdpwsud',
+'vpdpwsuds',
+'vpdpwusd',
+'vpdpwusds',
+'vpdpwuud',
+'vpdpwuuds',
+'vaddbf16',
+'vcmpeqbf16',
+'vcmpltbf16',
+'vcmplebf16',
+'vcmpunordbf16',
+'vcmpneqbf16',
+'vcmpnltbf16',
+'vcmpnlebf16',
+'vcmpordbf16',
+'vcmpeq_uqbf16',
+'vcmpngebf16',
+'vcmpngtbf16',
+'vcmpfalsebf16',
+'vcmpneq_oqbf16',
+'vcmpgebf16',
+'vcmpgtbf16',
+'vcmptruebf16',
+'vcmpeq_osbf16',
+'vcmplt_oqbf16',
+'vcmple_oqbf16',
+'vcmpunord_sbf16',
+'vcmpneq_usbf16',
+'vcmpnlt_uqbf16',
+'vcmpnle_uqbf16',
+'vcmpord_sbf16',
+'vcmpeq_usbf16',
+'vcmpnge_uqbf16',
+'vcmpngt_uqbf16',
+'vcmpfalse_osbf16',
+'vcmpneq_osbf16',
+'vcmpge_oqbf16',
+'vcmpgt_oqbf16',
+'vcmptrue_usbf16',
+'vcmpbf16',
+'vcomisbf16',
+'vdivbf16',
+'vfmadd132bf16',
+'vfmadd213bf16',
+'vfmadd231bf16',
+'vfmsub132bf16',
+'vfmsub213bf16',
+'vfmsub231bf16',
+'vfnmadd132bf16',
+'vfnmadd213bf16',
+'vfnmadd231bf16',
+'vfnmsub132bf16',
+'vfnmsub213bf16',
+'vfnmsub231bf16',
+'vfpclassbf16',
+'vgetexpbf16',
+'vgetmantbf16',
+'vmaxbf16',
+'vminbf16',
+'vmulbf16',
+'vrcpbf16',
+'vreducebf16',
+'vrndscalebf16',
+'vrsqrtbf16',
+'vscalefbf16',
+'vsqrtbf16',
+'vsubbf16',
+'vcomxsd',
+'vcomxsh',
+'vcomxss',
+'vucomxsd',
+'vucomxsh',
+'vucomxss',
+'vcvt2ph2bf8',
+'vcvt2ph2bf8s',
+'vcvt2ph2hf8',
+'vcvt2ph2hf8s',
+'vcvtph2bf8',
+'vcvtph2bf8s',
+'vcvtph2hf8',
+'vcvtph2hf8s',
+'vcvt2ps2phx',
+'vcvtbiasph2bf8',
+'vcvtbiasph2bf8s',
+'vcvtbiasph2hf8',
+'vcvtbiasph2hf8s',
+'vcvthf82ph',
+'vcvtbf162ibs',
+'vcvtbf162iubs',
+'vcvttbf162ibs',
+'vcvttbf162iubs',
+'vcvttpd2dqs',
+'vcvttpd2qqs',
+'vcvttpd2udqs',
+'vcvttpd2uqqs',
+'vcvtph2ibs',
+'vcvtph2iubs',
+'vcvttph2ibs',
+'vcvttph2iubs',
+'vcvttps2dqs',
+'vcvtps2ibs',
+'vcvtps2iubs',
+'vcvttps2ibs',
+'vcvttps2iubs',
+'vcvttps2qqs',
+'vcvttps2udqs',
+'vcvttps2uqqs',
+'vcvttsd2sis',
+'vcvttsd2usis',
+'vcvttss2sis',
+'vcvttss2usis',
+'vminmaxbf16',
+'vminmaxpd',
+'vminmaxph',
+'vminmaxps',
+'vminmaxsd',
+'vminmaxsh',
+'vminmaxss',
+'vdpphps'
 );
 );

+ 1 - 1
compiler/i386/i386nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
 { don't edit, this file is generated from x86ins.dat }
-5980;
+6968;

+ 142 - 1
compiler/i386/i386op.inc

@@ -378,6 +378,7 @@ A_WAIT,
 A_WBINVD,
 A_WBINVD,
 A_WRSHR,
 A_WRSHR,
 A_WRMSR,
 A_WRMSR,
+A_WRMSRNS,
 A_XADD,
 A_XADD,
 A_XBTS,
 A_XBTS,
 A_XCHG,
 A_XCHG,
@@ -683,6 +684,14 @@ A_AESDEC,
 A_AESDECLAST,
 A_AESDECLAST,
 A_AESIMC,
 A_AESIMC,
 A_AESKEYGENASSIST,
 A_AESKEYGENASSIST,
+A_AESDEC128KL,
+A_AESDEC256KL,
+A_AESENC128KL,
+A_AESENC256KL,
+A_AESDECWIDE128KL,
+A_AESDECWIDE256KL,
+A_AESENCWIDE128KL,
+A_AESENCWIDE256KL,
 A_RDTSCP,
 A_RDTSCP,
 A_MOVBE,
 A_MOVBE,
 A_PCLMULQDQ,
 A_PCLMULQDQ,
@@ -1748,5 +1757,137 @@ A_VSQRTPH,
 A_VSQRTSH,
 A_VSQRTSH,
 A_VSUBPH,
 A_VSUBPH,
 A_VSUBSH,
 A_VSUBSH,
-A_VUCOMISH
+A_VUCOMISH,
+A_MOVDIRI,
+A_PREFETCHRST2,
+A_AADD,
+A_AAND,
+A_AOR,
+A_AXOR,
+A_SERIALIZE,
+A_VPDPBSSD,
+A_VPDPBSSDS,
+A_VPDPBSUD,
+A_VPDPBSUDS,
+A_VPDPBUUD,
+A_VPDPBUUDS,
+A_VPDPWSUD,
+A_VPDPWSUDS,
+A_VPDPWUSD,
+A_VPDPWUSDS,
+A_VPDPWUUD,
+A_VPDPWUUDS,
+A_VADDBF16,
+A_VCMPEQBF16,
+A_VCMPLTBF16,
+A_VCMPLEBF16,
+A_VCMPUNORDBF16,
+A_VCMPNEQBF16,
+A_VCMPNLTBF16,
+A_VCMPNLEBF16,
+A_VCMPORDBF16,
+A_VCMPEQ_UQBF16,
+A_VCMPNGEBF16,
+A_VCMPNGTBF16,
+A_VCMPFALSEBF16,
+A_VCMPNEQ_OQBF16,
+A_VCMPGEBF16,
+A_VCMPGTBF16,
+A_VCMPTRUEBF16,
+A_VCMPEQ_OSBF16,
+A_VCMPLT_OQBF16,
+A_VCMPLE_OQBF16,
+A_VCMPUNORD_SBF16,
+A_VCMPNEQ_USBF16,
+A_VCMPNLT_UQBF16,
+A_VCMPNLE_UQBF16,
+A_VCMPORD_SBF16,
+A_VCMPEQ_USBF16,
+A_VCMPNGE_UQBF16,
+A_VCMPNGT_UQBF16,
+A_VCMPFALSE_OSBF16,
+A_VCMPNEQ_OSBF16,
+A_VCMPGE_OQBF16,
+A_VCMPGT_OQBF16,
+A_VCMPTRUE_USBF16,
+A_VCMPBF16,
+A_VCOMISBF16,
+A_VDIVBF16,
+A_VFMADD132BF16,
+A_VFMADD213BF16,
+A_VFMADD231BF16,
+A_VFMSUB132BF16,
+A_VFMSUB213BF16,
+A_VFMSUB231BF16,
+A_VFNMADD132BF16,
+A_VFNMADD213BF16,
+A_VFNMADD231BF16,
+A_VFNMSUB132BF16,
+A_VFNMSUB213BF16,
+A_VFNMSUB231BF16,
+A_VFPCLASSBF16,
+A_VGETEXPBF16,
+A_VGETMANTBF16,
+A_VMAXBF16,
+A_VMINBF16,
+A_VMULBF16,
+A_VRCPBF16,
+A_VREDUCEBF16,
+A_VRNDSCALEBF16,
+A_VRSQRTBF16,
+A_VSCALEFBF16,
+A_VSQRTBF16,
+A_VSUBBF16,
+A_VCOMXSD,
+A_VCOMXSH,
+A_VCOMXSS,
+A_VUCOMXSD,
+A_VUCOMXSH,
+A_VUCOMXSS,
+A_VCVT2PH2BF8,
+A_VCVT2PH2BF8S,
+A_VCVT2PH2HF8,
+A_VCVT2PH2HF8S,
+A_VCVTPH2BF8,
+A_VCVTPH2BF8S,
+A_VCVTPH2HF8,
+A_VCVTPH2HF8S,
+A_VCVT2PS2PHX,
+A_VCVTBIASPH2BF8,
+A_VCVTBIASPH2BF8S,
+A_VCVTBIASPH2HF8,
+A_VCVTBIASPH2HF8S,
+A_VCVTHF82PH,
+A_VCVTBF162IBS,
+A_VCVTBF162IUBS,
+A_VCVTTBF162IBS,
+A_VCVTTBF162IUBS,
+A_VCVTTPD2DQS,
+A_VCVTTPD2QQS,
+A_VCVTTPD2UDQS,
+A_VCVTTPD2UQQS,
+A_VCVTPH2IBS,
+A_VCVTPH2IUBS,
+A_VCVTTPH2IBS,
+A_VCVTTPH2IUBS,
+A_VCVTTPS2DQS,
+A_VCVTPS2IBS,
+A_VCVTPS2IUBS,
+A_VCVTTPS2IBS,
+A_VCVTTPS2IUBS,
+A_VCVTTPS2QQS,
+A_VCVTTPS2UDQS,
+A_VCVTTPS2UQQS,
+A_VCVTTSD2SIS,
+A_VCVTTSD2USIS,
+A_VCVTTSS2SIS,
+A_VCVTTSS2USIS,
+A_VMINMAXBF16,
+A_VMINMAXPD,
+A_VMINMAXPH,
+A_VMINMAXPS,
+A_VMINMAXSD,
+A_VMINMAXSH,
+A_VMINMAXSS,
+A_VDPPHPS
 );
 );

+ 144 - 3
compiler/i386/i386prop.inc

@@ -306,7 +306,7 @@
 (Ch: [Ch_Mop2, Ch_Rop1, Ch_RWCarryFlag, Ch_WOverflowFlag]),
 (Ch: [Ch_Mop2, Ch_Rop1, Ch_RWCarryFlag, Ch_WOverflowFlag]),
 (Ch: [Ch_Mop2, Ch_Rop1, Ch_RWCarryFlag, Ch_WOverflowFlag]),
 (Ch: [Ch_Mop2, Ch_Rop1, Ch_RWCarryFlag, Ch_WOverflowFlag]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
-(Ch: [Ch_WEAX, Ch_WEDX]),
+(Ch: [Ch_WEAX, Ch_WEDX, Ch_RECX]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_RWECX]),
 (Ch: [Ch_RWECX]),
@@ -377,7 +377,8 @@
 (Ch: []),
 (Ch: []),
 (Ch: []),
 (Ch: []),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
-(Ch: [Ch_All]),
+(Ch: [Ch_REAX, Ch_REDX, Ch_RECX]),
+(Ch: [Ch_WEAX, Ch_WEDX, Ch_RECX]),
 (Ch: [Ch_All, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_WAuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
 (Ch: [Ch_All, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_WAuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
 (Ch: [Ch_RWop1, Ch_RWop2, Ch_NoReadIfEqualRegs]),
 (Ch: [Ch_RWop1, Ch_RWop2, Ch_NoReadIfEqualRegs]),
@@ -683,6 +684,14 @@
 (Ch: [Ch_Mop2, Ch_Rop1]),
 (Ch: [Ch_Mop2, Ch_Rop1]),
 (Ch: [Ch_Wop2, Ch_Rop1]),
 (Ch: [Ch_Wop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2]),
 (Ch: [Ch_Wop3, Ch_Rop2]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_All, Ch_Rop1]),
+(Ch: [Ch_All, Ch_Rop1]),
+(Ch: [Ch_All, Ch_Rop1]),
+(Ch: [Ch_All, Ch_Rop1]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_Rop1, Ch_Wop2]),
 (Ch: [Ch_Rop1, Ch_Wop2]),
 (Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
@@ -1748,5 +1757,137 @@
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Wop2, Ch_Rop1])
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Rop1]),
+(Ch: [Ch_RWop2, Ch_Rop1]),
+(Ch: [Ch_RWop2, Ch_Rop1]),
+(Ch: [Ch_RWop2, Ch_Rop1]),
+(Ch: [Ch_RWop2, Ch_Rop1]),
+(Ch: []),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Rop2, Ch_Rop1, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_W0AuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
+(Ch: [Ch_Rop2, Ch_Rop1, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_W0AuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
+(Ch: [Ch_Rop2, Ch_Rop1, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_W0AuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
+(Ch: [Ch_Rop2, Ch_Rop1, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_W0AuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
+(Ch: [Ch_Rop2, Ch_Rop1, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_W0AuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
+(Ch: [Ch_Rop2, Ch_Rop1, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_W0AuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1])
 );
 );

File diff suppressed because it is too large
+ 431 - 88
compiler/i386/i386tab.inc


+ 142 - 1
compiler/i8086/i8086att.inc

@@ -378,6 +378,7 @@
 'wbinvd',
 'wbinvd',
 'wrshr',
 'wrshr',
 'wrmsr',
 'wrmsr',
+'wrmsrns',
 'xadd',
 'xadd',
 'xbts',
 'xbts',
 'xchg',
 'xchg',
@@ -683,6 +684,14 @@
 'aesdeclast',
 'aesdeclast',
 'aesimc',
 'aesimc',
 'aeskeygenassist',
 'aeskeygenassist',
+'aesdec128kl',
+'aesdec256kl',
+'aesenc128kl',
+'aesenc256kl',
+'aesdecwide128kl',
+'aesdecwide256kl',
+'aesencwide128kl',
+'aesencwide256kl',
 'rdtscp',
 'rdtscp',
 'movbe',
 'movbe',
 'pclmulqdq',
 'pclmulqdq',
@@ -1762,5 +1771,137 @@
 'vsqrtsh',
 'vsqrtsh',
 'vsubph',
 'vsubph',
 'vsubsh',
 'vsubsh',
-'vucomish'
+'vucomish',
+'movdiri',
+'prefetchrst2',
+'aadd',
+'aand',
+'aor',
+'axor',
+'serialize',
+'vpdpbssd',
+'vpdpbssds',
+'vpdpbsud',
+'vpdpbsuds',
+'vpdpbuud',
+'vpdpbuuds',
+'vpdpwsud',
+'vpdpwsuds',
+'vpdpwusd',
+'vpdpwusds',
+'vpdpwuud',
+'vpdpwuuds',
+'vaddbf16',
+'vcmpeqbf16',
+'vcmpltbf16',
+'vcmplebf16',
+'vcmpunordbf16',
+'vcmpneqbf16',
+'vcmpnltbf16',
+'vcmpnlebf16',
+'vcmpordbf16',
+'vcmpeq_uqbf16',
+'vcmpngebf16',
+'vcmpngtbf16',
+'vcmpfalsebf16',
+'vcmpneq_oqbf16',
+'vcmpgebf16',
+'vcmpgtbf16',
+'vcmptruebf16',
+'vcmpeq_osbf16',
+'vcmplt_oqbf16',
+'vcmple_oqbf16',
+'vcmpunord_sbf16',
+'vcmpneq_usbf16',
+'vcmpnlt_uqbf16',
+'vcmpnle_uqbf16',
+'vcmpord_sbf16',
+'vcmpeq_usbf16',
+'vcmpnge_uqbf16',
+'vcmpngt_uqbf16',
+'vcmpfalse_osbf16',
+'vcmpneq_osbf16',
+'vcmpge_oqbf16',
+'vcmpgt_oqbf16',
+'vcmptrue_usbf16',
+'vcmpbf16',
+'vcomisbf16',
+'vdivbf16',
+'vfmadd132bf16',
+'vfmadd213bf16',
+'vfmadd231bf16',
+'vfmsub132bf16',
+'vfmsub213bf16',
+'vfmsub231bf16',
+'vfnmadd132bf16',
+'vfnmadd213bf16',
+'vfnmadd231bf16',
+'vfnmsub132bf16',
+'vfnmsub213bf16',
+'vfnmsub231bf16',
+'vfpclassbf16',
+'vgetexpbf16',
+'vgetmantbf16',
+'vmaxbf16',
+'vminbf16',
+'vmulbf16',
+'vrcpbf16',
+'vreducebf16',
+'vrndscalebf16',
+'vrsqrtbf16',
+'vscalefbf16',
+'vsqrtbf16',
+'vsubbf16',
+'vcomxsd',
+'vcomxsh',
+'vcomxss',
+'vucomxsd',
+'vucomxsh',
+'vucomxss',
+'vcvt2ph2bf8',
+'vcvt2ph2bf8s',
+'vcvt2ph2hf8',
+'vcvt2ph2hf8s',
+'vcvtph2bf8',
+'vcvtph2bf8s',
+'vcvtph2hf8',
+'vcvtph2hf8s',
+'vcvt2ps2phx',
+'vcvtbiasph2bf8',
+'vcvtbiasph2bf8s',
+'vcvtbiasph2hf8',
+'vcvtbiasph2hf8s',
+'vcvthf82ph',
+'vcvtbf162ibs',
+'vcvtbf162iubs',
+'vcvttbf162ibs',
+'vcvttbf162iubs',
+'vcvttpd2dqs',
+'vcvttpd2qqs',
+'vcvttpd2udqs',
+'vcvttpd2uqqs',
+'vcvtph2ibs',
+'vcvtph2iubs',
+'vcvttph2ibs',
+'vcvttph2iubs',
+'vcvttps2dqs',
+'vcvtps2ibs',
+'vcvtps2iubs',
+'vcvttps2ibs',
+'vcvttps2iubs',
+'vcvttps2qqs',
+'vcvttps2udqs',
+'vcvttps2uqqs',
+'vcvttsd2sis',
+'vcvttsd2usis',
+'vcvttss2sis',
+'vcvttss2usis',
+'vminmaxbf16',
+'vminmaxpd',
+'vminmaxph',
+'vminmaxps',
+'vminmaxsd',
+'vminmaxsh',
+'vminmaxss',
+'vdpphps'
 );
 );

+ 141 - 0
compiler/i8086/i8086atts.inc

@@ -378,6 +378,7 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufNONE,
 attsufINT,
 attsufINT,
 attsufINT,
 attsufINT,
 attsufINT,
 attsufINT,
@@ -684,6 +685,14 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
 attsufINT,
 attsufINT,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
@@ -1762,5 +1771,137 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufMMS,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufMMX,
+attsufMMX,
+attsufMMX,
+attsufMMX,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufMMX,
+attsufNONE,
+attsufMMX,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
+attsufNONE,
 attsufNONE
 attsufNONE
 );
 );

+ 142 - 1
compiler/i8086/i8086int.inc

@@ -378,6 +378,7 @@
 'wbinvd',
 'wbinvd',
 'wrshr',
 'wrshr',
 'wrmsr',
 'wrmsr',
+'wrmsrns',
 'xadd',
 'xadd',
 'xbts',
 'xbts',
 'xchg',
 'xchg',
@@ -683,6 +684,14 @@
 'aesdeclast',
 'aesdeclast',
 'aesimc',
 'aesimc',
 'aeskeygenassist',
 'aeskeygenassist',
+'aesdec128kl',
+'aesdec256kl',
+'aesenc128kl',
+'aesenc256kl',
+'aesdecwide128kl',
+'aesdecwide256kl',
+'aesencwide128kl',
+'aesencwide256kl',
 'rdtscp',
 'rdtscp',
 'movbe',
 'movbe',
 'pclmulqdq',
 'pclmulqdq',
@@ -1762,5 +1771,137 @@
 'vsqrtsh',
 'vsqrtsh',
 'vsubph',
 'vsubph',
 'vsubsh',
 'vsubsh',
-'vucomish'
+'vucomish',
+'movdiri',
+'prefetchrst2',
+'aadd',
+'aand',
+'aor',
+'axor',
+'serialize',
+'vpdpbssd',
+'vpdpbssds',
+'vpdpbsud',
+'vpdpbsuds',
+'vpdpbuud',
+'vpdpbuuds',
+'vpdpwsud',
+'vpdpwsuds',
+'vpdpwusd',
+'vpdpwusds',
+'vpdpwuud',
+'vpdpwuuds',
+'vaddbf16',
+'vcmpeqbf16',
+'vcmpltbf16',
+'vcmplebf16',
+'vcmpunordbf16',
+'vcmpneqbf16',
+'vcmpnltbf16',
+'vcmpnlebf16',
+'vcmpordbf16',
+'vcmpeq_uqbf16',
+'vcmpngebf16',
+'vcmpngtbf16',
+'vcmpfalsebf16',
+'vcmpneq_oqbf16',
+'vcmpgebf16',
+'vcmpgtbf16',
+'vcmptruebf16',
+'vcmpeq_osbf16',
+'vcmplt_oqbf16',
+'vcmple_oqbf16',
+'vcmpunord_sbf16',
+'vcmpneq_usbf16',
+'vcmpnlt_uqbf16',
+'vcmpnle_uqbf16',
+'vcmpord_sbf16',
+'vcmpeq_usbf16',
+'vcmpnge_uqbf16',
+'vcmpngt_uqbf16',
+'vcmpfalse_osbf16',
+'vcmpneq_osbf16',
+'vcmpge_oqbf16',
+'vcmpgt_oqbf16',
+'vcmptrue_usbf16',
+'vcmpbf16',
+'vcomisbf16',
+'vdivbf16',
+'vfmadd132bf16',
+'vfmadd213bf16',
+'vfmadd231bf16',
+'vfmsub132bf16',
+'vfmsub213bf16',
+'vfmsub231bf16',
+'vfnmadd132bf16',
+'vfnmadd213bf16',
+'vfnmadd231bf16',
+'vfnmsub132bf16',
+'vfnmsub213bf16',
+'vfnmsub231bf16',
+'vfpclassbf16',
+'vgetexpbf16',
+'vgetmantbf16',
+'vmaxbf16',
+'vminbf16',
+'vmulbf16',
+'vrcpbf16',
+'vreducebf16',
+'vrndscalebf16',
+'vrsqrtbf16',
+'vscalefbf16',
+'vsqrtbf16',
+'vsubbf16',
+'vcomxsd',
+'vcomxsh',
+'vcomxss',
+'vucomxsd',
+'vucomxsh',
+'vucomxss',
+'vcvt2ph2bf8',
+'vcvt2ph2bf8s',
+'vcvt2ph2hf8',
+'vcvt2ph2hf8s',
+'vcvtph2bf8',
+'vcvtph2bf8s',
+'vcvtph2hf8',
+'vcvtph2hf8s',
+'vcvt2ps2phx',
+'vcvtbiasph2bf8',
+'vcvtbiasph2bf8s',
+'vcvtbiasph2hf8',
+'vcvtbiasph2hf8s',
+'vcvthf82ph',
+'vcvtbf162ibs',
+'vcvtbf162iubs',
+'vcvttbf162ibs',
+'vcvttbf162iubs',
+'vcvttpd2dqs',
+'vcvttpd2qqs',
+'vcvttpd2udqs',
+'vcvttpd2uqqs',
+'vcvtph2ibs',
+'vcvtph2iubs',
+'vcvttph2ibs',
+'vcvttph2iubs',
+'vcvttps2dqs',
+'vcvtps2ibs',
+'vcvtps2iubs',
+'vcvttps2ibs',
+'vcvttps2iubs',
+'vcvttps2qqs',
+'vcvttps2udqs',
+'vcvttps2uqqs',
+'vcvttsd2sis',
+'vcvttsd2usis',
+'vcvttss2sis',
+'vcvttss2usis',
+'vminmaxbf16',
+'vminmaxpd',
+'vminmaxph',
+'vminmaxps',
+'vminmaxsd',
+'vminmaxsh',
+'vminmaxss',
+'vdpphps'
 );
 );

+ 1 - 1
compiler/i8086/i8086nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
 { don't edit, this file is generated from x86ins.dat }
-6012;
+7000;

+ 142 - 1
compiler/i8086/i8086op.inc

@@ -378,6 +378,7 @@ A_WAIT,
 A_WBINVD,
 A_WBINVD,
 A_WRSHR,
 A_WRSHR,
 A_WRMSR,
 A_WRMSR,
+A_WRMSRNS,
 A_XADD,
 A_XADD,
 A_XBTS,
 A_XBTS,
 A_XCHG,
 A_XCHG,
@@ -683,6 +684,14 @@ A_AESDEC,
 A_AESDECLAST,
 A_AESDECLAST,
 A_AESIMC,
 A_AESIMC,
 A_AESKEYGENASSIST,
 A_AESKEYGENASSIST,
+A_AESDEC128KL,
+A_AESDEC256KL,
+A_AESENC128KL,
+A_AESENC256KL,
+A_AESDECWIDE128KL,
+A_AESDECWIDE256KL,
+A_AESENCWIDE128KL,
+A_AESENCWIDE256KL,
 A_RDTSCP,
 A_RDTSCP,
 A_MOVBE,
 A_MOVBE,
 A_PCLMULQDQ,
 A_PCLMULQDQ,
@@ -1762,5 +1771,137 @@ A_VSQRTPH,
 A_VSQRTSH,
 A_VSQRTSH,
 A_VSUBPH,
 A_VSUBPH,
 A_VSUBSH,
 A_VSUBSH,
-A_VUCOMISH
+A_VUCOMISH,
+A_MOVDIRI,
+A_PREFETCHRST2,
+A_AADD,
+A_AAND,
+A_AOR,
+A_AXOR,
+A_SERIALIZE,
+A_VPDPBSSD,
+A_VPDPBSSDS,
+A_VPDPBSUD,
+A_VPDPBSUDS,
+A_VPDPBUUD,
+A_VPDPBUUDS,
+A_VPDPWSUD,
+A_VPDPWSUDS,
+A_VPDPWUSD,
+A_VPDPWUSDS,
+A_VPDPWUUD,
+A_VPDPWUUDS,
+A_VADDBF16,
+A_VCMPEQBF16,
+A_VCMPLTBF16,
+A_VCMPLEBF16,
+A_VCMPUNORDBF16,
+A_VCMPNEQBF16,
+A_VCMPNLTBF16,
+A_VCMPNLEBF16,
+A_VCMPORDBF16,
+A_VCMPEQ_UQBF16,
+A_VCMPNGEBF16,
+A_VCMPNGTBF16,
+A_VCMPFALSEBF16,
+A_VCMPNEQ_OQBF16,
+A_VCMPGEBF16,
+A_VCMPGTBF16,
+A_VCMPTRUEBF16,
+A_VCMPEQ_OSBF16,
+A_VCMPLT_OQBF16,
+A_VCMPLE_OQBF16,
+A_VCMPUNORD_SBF16,
+A_VCMPNEQ_USBF16,
+A_VCMPNLT_UQBF16,
+A_VCMPNLE_UQBF16,
+A_VCMPORD_SBF16,
+A_VCMPEQ_USBF16,
+A_VCMPNGE_UQBF16,
+A_VCMPNGT_UQBF16,
+A_VCMPFALSE_OSBF16,
+A_VCMPNEQ_OSBF16,
+A_VCMPGE_OQBF16,
+A_VCMPGT_OQBF16,
+A_VCMPTRUE_USBF16,
+A_VCMPBF16,
+A_VCOMISBF16,
+A_VDIVBF16,
+A_VFMADD132BF16,
+A_VFMADD213BF16,
+A_VFMADD231BF16,
+A_VFMSUB132BF16,
+A_VFMSUB213BF16,
+A_VFMSUB231BF16,
+A_VFNMADD132BF16,
+A_VFNMADD213BF16,
+A_VFNMADD231BF16,
+A_VFNMSUB132BF16,
+A_VFNMSUB213BF16,
+A_VFNMSUB231BF16,
+A_VFPCLASSBF16,
+A_VGETEXPBF16,
+A_VGETMANTBF16,
+A_VMAXBF16,
+A_VMINBF16,
+A_VMULBF16,
+A_VRCPBF16,
+A_VREDUCEBF16,
+A_VRNDSCALEBF16,
+A_VRSQRTBF16,
+A_VSCALEFBF16,
+A_VSQRTBF16,
+A_VSUBBF16,
+A_VCOMXSD,
+A_VCOMXSH,
+A_VCOMXSS,
+A_VUCOMXSD,
+A_VUCOMXSH,
+A_VUCOMXSS,
+A_VCVT2PH2BF8,
+A_VCVT2PH2BF8S,
+A_VCVT2PH2HF8,
+A_VCVT2PH2HF8S,
+A_VCVTPH2BF8,
+A_VCVTPH2BF8S,
+A_VCVTPH2HF8,
+A_VCVTPH2HF8S,
+A_VCVT2PS2PHX,
+A_VCVTBIASPH2BF8,
+A_VCVTBIASPH2BF8S,
+A_VCVTBIASPH2HF8,
+A_VCVTBIASPH2HF8S,
+A_VCVTHF82PH,
+A_VCVTBF162IBS,
+A_VCVTBF162IUBS,
+A_VCVTTBF162IBS,
+A_VCVTTBF162IUBS,
+A_VCVTTPD2DQS,
+A_VCVTTPD2QQS,
+A_VCVTTPD2UDQS,
+A_VCVTTPD2UQQS,
+A_VCVTPH2IBS,
+A_VCVTPH2IUBS,
+A_VCVTTPH2IBS,
+A_VCVTTPH2IUBS,
+A_VCVTTPS2DQS,
+A_VCVTPS2IBS,
+A_VCVTPS2IUBS,
+A_VCVTTPS2IBS,
+A_VCVTTPS2IUBS,
+A_VCVTTPS2QQS,
+A_VCVTTPS2UDQS,
+A_VCVTTPS2UQQS,
+A_VCVTTSD2SIS,
+A_VCVTTSD2USIS,
+A_VCVTTSS2SIS,
+A_VCVTTSS2USIS,
+A_VMINMAXBF16,
+A_VMINMAXPD,
+A_VMINMAXPH,
+A_VMINMAXPS,
+A_VMINMAXSD,
+A_VMINMAXSH,
+A_VMINMAXSS,
+A_VDPPHPS
 );
 );

+ 144 - 3
compiler/i8086/i8086prop.inc

@@ -306,7 +306,7 @@
 (Ch: [Ch_Mop2, Ch_Rop1, Ch_RWCarryFlag, Ch_WOverflowFlag]),
 (Ch: [Ch_Mop2, Ch_Rop1, Ch_RWCarryFlag, Ch_WOverflowFlag]),
 (Ch: [Ch_Mop2, Ch_Rop1, Ch_RWCarryFlag, Ch_WOverflowFlag]),
 (Ch: [Ch_Mop2, Ch_Rop1, Ch_RWCarryFlag, Ch_WOverflowFlag]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
-(Ch: [Ch_WEAX, Ch_WEDX]),
+(Ch: [Ch_WEAX, Ch_WEDX, Ch_RECX]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_RWECX]),
 (Ch: [Ch_RWECX]),
@@ -377,7 +377,8 @@
 (Ch: []),
 (Ch: []),
 (Ch: []),
 (Ch: []),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
-(Ch: [Ch_All]),
+(Ch: [Ch_REAX, Ch_REDX, Ch_RECX]),
+(Ch: [Ch_WEAX, Ch_WEDX, Ch_RECX]),
 (Ch: [Ch_All, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_WAuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
 (Ch: [Ch_All, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_WAuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
 (Ch: [Ch_All]),
 (Ch: [Ch_All]),
 (Ch: [Ch_RWop1, Ch_RWop2, Ch_NoReadIfEqualRegs]),
 (Ch: [Ch_RWop1, Ch_RWop2, Ch_NoReadIfEqualRegs]),
@@ -683,6 +684,14 @@
 (Ch: [Ch_Mop2, Ch_Rop1]),
 (Ch: [Ch_Mop2, Ch_Rop1]),
 (Ch: [Ch_Wop2, Ch_Rop1]),
 (Ch: [Ch_Wop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2]),
 (Ch: [Ch_Wop3, Ch_Rop2]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_Mop2, Ch_Rop1]),
+(Ch: [Ch_All, Ch_Rop1]),
+(Ch: [Ch_All, Ch_Rop1]),
+(Ch: [Ch_All, Ch_Rop1]),
+(Ch: [Ch_All, Ch_Rop1]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_WEAX, Ch_WEDX]),
 (Ch: [Ch_Rop1, Ch_Wop2]),
 (Ch: [Ch_Rop1, Ch_Wop2]),
 (Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Mop3, Ch_Rop2, Ch_Rop1]),
@@ -1762,5 +1771,137 @@
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
 (Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
-(Ch: [Ch_Wop2, Ch_Rop1])
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Rop1]),
+(Ch: [Ch_RWop2, Ch_Rop1]),
+(Ch: [Ch_RWop2, Ch_Rop1]),
+(Ch: [Ch_RWop2, Ch_Rop1]),
+(Ch: [Ch_RWop2, Ch_Rop1]),
+(Ch: []),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Rop2, Ch_Rop1, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_W0AuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
+(Ch: [Ch_Rop2, Ch_Rop1, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_W0AuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
+(Ch: [Ch_Rop2, Ch_Rop1, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_W0AuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
+(Ch: [Ch_Rop2, Ch_Rop1, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_W0AuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
+(Ch: [Ch_Rop2, Ch_Rop1, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_W0AuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
+(Ch: [Ch_Rop2, Ch_Rop1, Ch_WOverflowFlag, Ch_WSignFlag, Ch_WZeroFlag, Ch_W0AuxiliaryFlag, Ch_WCarryFlag, Ch_WParityFlag]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop2, Ch_Rop1]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop4, Ch_Rop3, Ch_Rop2]),
+(Ch: [Ch_Wop3, Ch_Rop2, Ch_Rop1])
 );
 );

File diff suppressed because it is too large
+ 431 - 88
compiler/i8086/i8086tab.inc


Some files were not shown because too many files changed in this diff