diff --git a/x86/x86.v0.2.csv b/x86/x86.v0.2.csv index b804869..b6ff460 100644 --- a/x86/x86.v0.2.csv +++ b/x86/x86.v0.2.csv @@ -163,8 +163,8 @@ "CALL r/m32","CALLL* r/m32","calll* r/m32","FF /2","V","N.E.","","operand32","r","Y","32" "CALL r/m64","CALLQ* r/m64","callq* r/m64","FF /2","N.E.","V","","","r","Y","64" "CALL rel16","CALL rel16","call rel16","E8 cw","V","N.S.","","operand16","r","Y","" -"CALL rel32","CALL rel32","call rel32","E8 cd","V","V","","operand32","r","Y","" "CALL rel32","CALL rel32","call rel32","E8 cd","N.S.","V","","operand16,operand64","r","Y","" +"CALL rel32","CALL rel32","call rel32","E8 cd","V","V","","operand32","r","Y","" "CALL_FAR m16:16","LCALLW* m16:16","lcallw* m16:16","FF /3","V","V","","operand16","r","Y","" "CALL_FAR m16:32","LCALLL* m16:32","lcalll* m16:32","FF /3","V","V","","operand32","r","Y","" "CALL_FAR m16:64","LCALLQ* m16:64","lcallq* m16:64","REX.W FF /3","N.E.","V","","","r","Y","" @@ -587,8 +587,8 @@ "JAE rel32","JAE rel32","jae rel32","0F 83 cd","N.S.","V","","operand16,operand64","r","Y","" "JAE rel8","JAE rel8","jae rel8","73 cb","V","V","","","r","Y","" "JB rel16","JB rel16","jb rel16","0F 82 cw","V","N.S.","","operand16","r","Y","" -"JB rel32","JB rel32","jb rel32","0F 82 cd","N.S.","V","","operand16,operand64","r","Y","" "JB rel32","JB rel32","jb rel32","0F 82 cd","V","V","","operand32","r","Y","" +"JB rel32","JB rel32","jb rel32","0F 82 cd","N.S.","V","","operand16,operand64","r","Y","" "JB rel8","JB rel8","jb rel8","72 cb","V","V","","","r","Y","" "JBE rel16","JBE rel16","jbe rel16","0F 86 cw","V","N.S.","","operand16","r","Y","" "JBE rel32","JBE rel32","jbe rel32","0F 86 cd","V","V","","operand32","r","Y","" @@ -616,8 +616,8 @@ "JL rel32","JL rel32","jl rel32","0F 8C cd","N.S.","V","","operand16,operand64","r","Y","" "JL rel8","JL rel8","jl rel8","7C cb","V","V","","","r","Y","" "JLE rel16","JLE rel16","jle rel16","0F 8E cw","V","N.S.","","operand16","r","Y","" -"JLE rel32","JLE rel32","jle rel32","0F 8E cd","V","V","","operand32","r","Y","" "JLE rel32","JLE rel32","jle rel32","0F 8E cd","N.S.","V","","operand16,operand64","r","Y","" +"JLE rel32","JLE rel32","jle rel32","0F 8E cd","V","V","","operand32","r","Y","" "JLE rel8","JLE rel8","jle rel8","7E cb","V","V","","","r","Y","" "JMP r/m16","JMPW* r/m16","jmpw* r/m16","FF /4","V","N.S.","","operand16","r","Y","16" "JMP r/m32","JMPL* r/m32","jmpl* r/m32","FF /4","V","N.S.","","operand32","r","Y","32" @@ -647,8 +647,8 @@ "JNC rel32","JNC rel32","jnc rel32","0F 83 cd","V","V","","pseudo","r","","" "JNC rel8","JNC rel8","jnc rel8","73 cb","V","V","","pseudo","r","","" "JNE rel16","JNE rel16","jne rel16","0F 85 cw","V","N.S.","","operand16","r","Y","" -"JNE rel32","JNE rel32","jne rel32","0F 85 cd","N.S.","V","","operand16,operand64","r","Y","" "JNE rel32","JNE rel32","jne rel32","0F 85 cd","V","V","","operand32","r","Y","" +"JNE rel32","JNE rel32","jne rel32","0F 85 cd","N.S.","V","","operand16,operand64","r","Y","" "JNE rel8","JNE rel8","jne rel8","75 cb","V","V","","","r","Y","" "JNG rel16","JNG rel16","jng rel16","0F 8E cw","V","N.S.","","pseudo","r","","" "JNG rel32","JNG rel32","jng rel32","0F 8E cd","V","V","","pseudo","r","","" @@ -663,23 +663,23 @@ "JNLE rel32","JNLE rel32","jnle rel32","0F 8F cd","V","V","","pseudo","r","","" "JNLE rel8","JNLE rel8","jnle rel8","7F cb","V","V","","pseudo","r","","" "JNO rel16","JNO rel16","jno rel16","0F 81 cw","V","N.S.","","operand16","r","Y","" -"JNO rel32","JNO rel32","jno rel32","0F 81 cd","N.S.","V","","operand16,operand64","r","Y","" "JNO rel32","JNO rel32","jno rel32","0F 81 cd","V","V","","operand32","r","Y","" +"JNO rel32","JNO rel32","jno rel32","0F 81 cd","N.S.","V","","operand16,operand64","r","Y","" "JNO rel8","JNO rel8","jno rel8","71 cb","V","V","","","r","Y","" "JNP rel16","JNP rel16","jnp rel16","0F 8B cw","V","N.S.","","operand16","r","Y","" -"JNP rel32","JNP rel32","jnp rel32","0F 8B cd","N.S.","V","","operand16,operand64","r","Y","" "JNP rel32","JNP rel32","jnp rel32","0F 8B cd","V","V","","operand32","r","Y","" +"JNP rel32","JNP rel32","jnp rel32","0F 8B cd","N.S.","V","","operand16,operand64","r","Y","" "JNP rel8","JNP rel8","jnp rel8","7B cb","V","V","","","r","Y","" "JNS rel16","JNS rel16","jns rel16","0F 89 cw","V","N.S.","","operand16","r","Y","" -"JNS rel32","JNS rel32","jns rel32","0F 89 cd","V","V","","operand32","r","Y","" "JNS rel32","JNS rel32","jns rel32","0F 89 cd","N.S.","V","","operand16,operand64","r","Y","" +"JNS rel32","JNS rel32","jns rel32","0F 89 cd","V","V","","operand32","r","Y","" "JNS rel8","JNS rel8","jns rel8","79 cb","V","V","","","r","Y","" "JNZ rel16","JNZ rel16","jnz rel16","0F 85 cw","V","N.S.","","pseudo","r","","" "JNZ rel32","JNZ rel32","jnz rel32","0F 85 cd","V","V","","pseudo","r","","" "JNZ rel8","JNZ rel8","jnz rel8","75 cb","V","V","","pseudo","r","","" "JO rel16","JO rel16","jo rel16","0F 80 cw","V","N.S.","","operand16","r","Y","" -"JO rel32","JO rel32","jo rel32","0F 80 cd","V","V","","operand32","r","Y","" "JO rel32","JO rel32","jo rel32","0F 80 cd","N.S.","V","","operand16,operand64","r","Y","" +"JO rel32","JO rel32","jo rel32","0F 80 cd","V","V","","operand32","r","Y","" "JO rel8","JO rel8","jo rel8","70 cb","V","V","","","r","Y","" "JP rel16","JP rel16","jp rel16","0F 8A cw","V","N.S.","","operand16","r","Y","" "JP rel32","JP rel32","jp rel32","0F 8A cd","N.S.","V","","operand16,operand64","r","Y","" @@ -710,9 +710,9 @@ "LEA r16, m","LEAW m, r16","leaw m, r16","8D /r","V","V","","operand16","w,r","Y","16" "LEA r32, m","LEAL m, r32","leal m, r32","8D /r","V","V","","operand32","w,r","Y","32" "LEA r64, m","LEAQ m, r64","leaq m, r64","REX.W 8D /r","N.E.","V","","","w,r","Y","64" -"LEAVE","LEAVEW/LEAVEL/LEAVEQ","leavew/leavel/leaveq","C9","V","V","","operand16","","Y","" "LEAVE","LEAVEW/LEAVEL/LEAVEQ","leavew/leavel/leaveq","C9","V","N.E.","","operand32","","Y","" "LEAVE","LEAVEW/LEAVEL/LEAVEQ","leavew/leavel/leaveq","C9","N.E.","V","","operand32,operand64","","Y","" +"LEAVE","LEAVEW/LEAVEL/LEAVEQ","leavew/leavel/leaveq","C9","V","V","","operand16","","Y","" "LES r16, m16:16","LESW m16:16, r16","lesw m16:16, r16","C4 /r","V","I","","operand16","w,r","Y","16" "LES r32, m16:32","LESL m16:32, r32","lesl m16:32, r32","C4 /r","V","I","","operand32","w,r","Y","32" "LFENCE","LFENCE","lfence","0F AE E8","V","V","","","","","" @@ -1079,12 +1079,12 @@ "PMULUDQ xmm1, xmm2/m128","PMULULQ xmm2/m128, xmm1","pmuludq xmm2/m128, xmm1","66 0F F4 /r","V","V","SSE2","","rw,r","","" "POP DS","POPW/POPL/POPQ DS","popw/popl/popq DS","1F","V","I","","","w","Y","" "POP ES","POPW/POPL/POPQ ES","popw/popl/popq ES","07","V","I","","","w","Y","" -"POP FS","POPW/POPL/POPQ FS","popw/popl/popq FS","0F A1","V","N.E.","","operand32","w","Y","" "POP FS","POPW/POPL/POPQ FS","popw/popl/popq FS","0F A1","V","V","","operand16","w","Y","" "POP FS","POPW/POPL/POPQ FS","popw/popl/popq FS","0F A1","N.E.","V","","operand32,operand64","w","Y","" -"POP GS","POPW/POPL/POPQ GS","popw/popl/popq GS","0F A9","V","N.E.","","operand32","w","Y","" -"POP GS","POPW/POPL/POPQ GS","popw/popl/popq GS","0F A9","V","V","","operand16","w","Y","" +"POP FS","POPW/POPL/POPQ FS","popw/popl/popq FS","0F A1","V","N.E.","","operand32","w","Y","" "POP GS","POPW/POPL/POPQ GS","popw/popl/popq GS","0F A9","N.E.","V","","operand32,operand64","w","Y","" +"POP GS","POPW/POPL/POPQ GS","popw/popl/popq GS","0F A9","V","V","","operand16","w","Y","" +"POP GS","POPW/POPL/POPQ GS","popw/popl/popq GS","0F A9","V","N.E.","","operand32","w","Y","" "POP SS","POPW/POPL/POPQ SS","popw/popl/popq SS","17","V","I","","","w","Y","" "POP r/m16","POPW r/m16","popw r/m16","8F /0","V","V","","operand16","w","Y","16" "POP r/m32","POPL r/m32","popl r/m32","8F /0","V","N.E.","","operand32","w","Y","32" @@ -1741,6 +1741,14 @@ "VFNMSUB231PS ymm1, ymmV, ymm2/m256","VFNMSUB231PS ymm2/m256, ymmV, ymm1","vfnmsub231ps ymm2/m256, ymmV, ymm1","VEX.DDS.256.66.0F38.W0 BE /r","V","V","FMA","","rw,r,r","","" "VFNMSUB231SD xmm1, xmmV, xmm2/m64","VFNMSUB231SD xmm2/m64, xmmV, xmm1","vfnmsub231sd xmm2/m64, xmmV, xmm1","VEX.DDS.LIG.66.0F38.W1 BF /r","V","V","FMA","","rw,r,r","","" "VFNMSUB231SS xmm1, xmmV, xmm2/m32","VFNMSUB231SS xmm2/m32, xmmV, xmm1","vfnmsub231ss xmm2/m32, xmmV, xmm1","VEX.DDS.LIG.66.0F38.W0 BF /r","V","V","FMA","","rw,r,r","","" +"VGATHERDPD xmm1, vm32x, xmmV","VGATHERDPD xmmV, vm32x, xmm1","vgatherdpd xmmV, vm32x, xmm1","VEX.DDS.128.66.0F38.W1 92 /r","V","V","AVX2","","rw,r,rw","","" +"VGATHERDPD ymm1, vm32x, ymmV","VGATHERDPD ymmV, vm32x, ymm1","vgatherdpd ymmV, vm32x, ymm1","VEX.DDS.256.66.0F38.W1 92 /r","V","V","AVX2","","rw,r,rw","","" +"VGATHERDPS xmm1, vm32x, xmmV","VGATHERDPS xmmV, vm32x, xmm1","vgatherdps xmmV, vm32x, xmm1","VEX.DDS.128.66.0F38.W0 92 /r","V","V","AVX2","","rw,r,rw","","" +"VGATHERDPS ymm1, vm32y, ymmV","VGATHERDPS ymmV, vm32y, ymm1","vgatherdps ymmV, vm32y, ymm1","VEX.DDS.256.66.0F38.W0 92 /r","V","V","AVX2","","rw,r,rw","","" +"VGATHERQPD xmm1, vm64x, xmmV","VGATHERQPD xmmV, vm64x, xmm1","vgatherqpd xmmV, vm64x, xmm1","VEX.DDS.128.66.0F38.W1 93 /r","V","V","AVX2","","rw,r,rw","","" +"VGATHERQPD ymm1, vm64y, ymmV","VGATHERQPD ymmV, vm64y, ymm1","vgatherqpd ymmV, vm64y, ymm1","VEX.DDS.256.66.0F38.W1 93 /r","V","V","AVX2","","rw,r,rw","","" +"VGATHERQPS xmm1, vm64x, xmmV","VGATHERQPS xmmV, vm64x, xmm1","vgatherqps xmmV, vm64x, xmm1","VEX.DDS.128.66.0F38.W0 93 /r","V","V","AVX2","","rw,r,rw","","" +"VGATHERQPS xmm1, vm64y, xmmV","VGATHERQPS xmmV, vm64y, xmm1","vgatherqps xmmV, vm64y, xmm1","VEX.DDS.256.66.0F38.W0 93 /r","V","V","AVX2","","rw,r,rw","","" "VHADDPD xmm1, xmmV, xmm2/m128","VHADDPD xmm2/m128, xmmV, xmm1","vhaddpd xmm2/m128, xmmV, xmm1","VEX.NDS.128.66.0F.WIG 7C /r","V","V","AVX","","w,r,r","","" "VHADDPD ymm1, ymmV, ymm2/m256","VHADDPD ymm2/m256, ymmV, ymm1","vhaddpd ymm2/m256, ymmV, ymm1","VEX.NDS.256.66.0F.WIG 7C /r","V","V","AVX","","w,r,r","","" "VHADDPS xmm1, xmmV, xmm2/m128","VHADDPS xmm2/m128, xmmV, xmm1","vhaddps xmm2/m128, xmmV, xmm1","VEX.NDS.128.F2.0F.WIG 7C /r","V","V","AVX","","w,r,r","","" @@ -1949,6 +1957,14 @@ "VPEXTRQ r/m64, xmm1, imm8","VPEXTRQ imm8, xmm1, r/m64","vpextrq imm8, xmm1, r/m64","VEX.128.66.0F3A.W1 16 /r ib","I","V","AVX","","w,r,r","","" "VPEXTRW r32, xmm2, imm8","VPEXTRW imm8, xmm2, r32","vpextrw imm8, xmm2, r32","VEX.128.66.0F.W0 C5 /r ib","V","V","AVX","modrm_regonly","w,r,r","","" "VPEXTRW r32/m16, xmm1, imm8","VPEXTRW imm8, xmm1, r32/m16","vpextrw imm8, xmm1, r32/m16","VEX.128.66.0F3A.W0 15 /r ib","V","V","AVX","","w,r,r","","" +"VPGATHERDD xmm1, vm32x, xmmV","VPGATHERDD xmmV, vm32x, xmm1","vpgatherdd xmmV, vm32x, xmm1","VEX.DDS.128.66.0F38.W0 90 /r","V","V","AVX2","","rw,r,rw","","" +"VPGATHERDD ymm1, vm32y, ymmV","VPGATHERDD ymmV, vm32y, ymm1","vpgatherdd ymmV, vm32y, ymm1","VEX.DDS.256.66.0F38.W0 90 /r","V","V","AVX2","","rw,r,rw","","" +"VPGATHERDQ xmm1, vm32x, xmmV","VPGATHERDQ xmmV, vm32x, xmm1","vpgatherdq xmmV, vm32x, xmm1","VEX.DDS.128.66.0F38.W1 90 /r","V","V","AVX2","","rw,r,rw","","" +"VPGATHERDQ ymm1, vm32x, ymmV","VPGATHERDQ ymmV, vm32x, ymm1","vpgatherdq ymmV, vm32x, ymm1","VEX.DDS.256.66.0F38.W1 90 /r","V","V","AVX2","","rw,r,rw","","" +"VPGATHERQD xmm1, vm64x, xmmV","VPGATHERQD xmmV, vm64x, xmm1","vpgatherqd xmmV, vm64x, xmm1","VEX.DDS.128.66.0F38.W0 91 /r","V","V","AVX2","","rw,r,rw","","" +"VPGATHERQD xmm1, vm64y, xmmV","VPGATHERQD xmmV, vm64y, xmm1","vpgatherqd xmmV, vm64y, xmm1","VEX.DDS.256.66.0F38.W0 91 /r","V","V","AVX2","","rw,r,rw","","" +"VPGATHERQQ xmm1, vm64x, xmmV","VPGATHERQQ xmmV, vm64x, xmm1","vpgatherqq xmmV, vm64x, xmm1","VEX.DDS.128.66.0F38.W1 91 /r","V","V","AVX2","","rw,r,rw","","" +"VPGATHERQQ ymm1, vm64y, ymmV","VPGATHERQQ ymmV, vm64y, ymm1","vpgatherqq ymmV, vm64y, ymm1","VEX.DDS.256.66.0F38.W1 91 /r","V","V","AVX2","","rw,r,rw","","" "VPHADDD xmm1, xmmV, xmm2/m128","VPHADDD xmm2/m128, xmmV, xmm1","vphaddd xmm2/m128, xmmV, xmm1","VEX.NDS.128.66.0F38.WIG 02 /r","V","V","AVX","","w,r,r","","" "VPHADDD ymm1, ymmV, ymm2/m256","VPHADDD ymm2/m256, ymmV, ymm1","vphaddd ymm2/m256, ymmV, ymm1","VEX.NDS.256.66.0F38.WIG 02 /r","V","V","AVX2","","w,r,r","","" "VPHADDSW xmm1, xmmV, xmm2/m128","VPHADDSW xmm2/m128, xmmV, xmm1","vphaddsw xmm2/m128, xmmV, xmm1","VEX.NDS.128.66.0F38.WIG 03 /r","V","V","AVX","","w,r,r","",""