AVX: instruction table through M

Implement the AVX instruction table through the letter M.
This commit is contained in:
H. Peter Anvin 2008-05-21 18:10:09 -07:00
parent 2637aca805
commit 283ba9103e

113
insns.dat
View File

@ -2660,29 +2660,29 @@ VCVTPS2DQ ymmreg,ymmrm [rm: vex.256.66.0f 5b /r] AVX,SANDYBRIDGE,SY
VCVTPS2PD xmmreg,xmmrm [rm: vex.128.0f 5a /r] AVX,SANDYBRIDGE,SQ
VCVTPS2PD ymmreg,xmmrm [rm: vex.256.0f 5a /r] AVX,SANDYBRIDGE,SO
VCVTSD2SI reg32,xmmrm [rm: vex.128.f2.0f.w0 2d /r] AVX,SANDYBRIDGE,SQ
VCVTSD2SI reg64,xmmrm [rm: vex.128.f2.0f.w1 2d /r] AVX,SANDYBRIDGE,SQ
VCVTSD2SI reg64,xmmrm [rm: vex.128.f2.0f.w1 2d /r] AVX,SANDYBRIDGE,SQ,LONG
VCVTSD2SS xmmreg,xmmreg,xmmrm [rvm: vex.nds.128.f2.0f 5a /r] AVX,SANDYBRIDGE,SQ
VCVTSD2SS xmmreg,xmmrm [r+vm: vex.nds.128.f2.0f 5a /r] AVX,SANDYBRIDGE,SQ
VCVTSI2SD xmmreg,xmmreg,rm32 [rvm: vex.nds.128.f2.0f.w0 2a /r] AVX,SANDYBRIDGE
VCVTSI2SD xmmreg,rm32 [r+vm: vex.nds.128.f2.0f.w0 2a /r] AVX,SANDYBRIDGE
VCVTSI2SD xmmreg,xmmreg,rm64 [rvm: vex.nds.128.f2.0f.w1 2a /r] AVX,SANDYBRIDGE
VCVTSI2SD xmmreg,rm64 [r+vm: vex.nds.128.f2.0f.w1 2a /r] AVX,SANDYBRIDGE
VCVTSI2SD xmmreg,xmmreg,rm64 [rvm: vex.nds.128.f2.0f.w1 2a /r] AVX,SANDYBRIDGE,LONG
VCVTSI2SD xmmreg,rm64 [r+vm: vex.nds.128.f2.0f.w1 2a /r] AVX,SANDYBRIDGE,LONG
VCVTSI2SD xmmreg,xmmreg,rm32 [rvm: vex.nds.128.f3.0f.w0 2a /r] AVX,SANDYBRIDGE
VCVTSI2SD xmmreg,rm32 [r+vm: vex.nds.128.f3.0f.w0 2a /r] AVX,SANDYBRIDGE
VCVTSI2SD xmmreg,xmmreg,rm64 [rvm: vex.nds.128.f3.0f.w1 2a /r] AVX,SANDYBRIDGE
VCVTSI2SD xmmreg,rm64 [r+vm: vex.nds.128.f3.0f.w1 2a /r] AVX,SANDYBRIDGE
VCVTSI2SD xmmreg,xmmreg,rm64 [rvm: vex.nds.128.f3.0f.w1 2a /r] AVX,SANDYBRIDGE,LONG
VCVTSI2SD xmmreg,rm64 [r+vm: vex.nds.128.f3.0f.w1 2a /r] AVX,SANDYBRIDGE,LONG
VCVTSS2SD xmmreg,xmmreg,xmmrm [rvm: vex.nds.128.f3.0f 5a /r] AVX,SANDYBRIDGE,SD
VCVTSS2SD xmmreg,xmmrm [r+vm: vex.nds.128.f3.0f 5a /r] AVX,SANDYBRIDGE,SD
VCVTSS2SI reg32,xmmrm [rm: vex.128.f3.0f.w0 2d /r] AVX,SANDYBRIDGE,SD
VCVTSS2SI reg64,xmmrm [rm: vex.128.f3.0f.w1 2d /r] AVX,SANDYBRIDGE,SD
VCVTSS2SI reg64,xmmrm [rm: vex.128.f3.0f.w1 2d /r] AVX,SANDYBRIDGE,SD,LONG
VCVTTPD2DQ xmmreg,xmmrm [rm: vex.128.66.0f e6 /r] AVX,SANDYBRIDGE,SO
VCVTTPD2DQ xmmreg,ymmrm [rm: vex.256.66.0f e6 /r] AVX,SANDYBRIDGE,SY
VCVTTPS2DQ xmmreg,xmmrm [rm: vex.128.f3.0f 5b /r] AVX,SANDYBRIDGE,SO
VCVTTPS2DQ ymmreg,ymmrm [rm: vex.256.f3.0f 5b /r] AVX,SANDYBRIDGE,SY
VCVTTSD2SI reg32,xmmrm [rm: vex.128.f2.0f.w0 2c /r] AVX,SANDYBRIDGE,SQ
VCVTTSD2SI reg64,xmmrm [rm: vex.128.f2.0f.w1 2c /r] AVX,SANDYBRIDGE,SQ
VCVTTSD2SI reg64,xmmrm [rm: vex.128.f2.0f.w1 2c /r] AVX,SANDYBRIDGE,SQ,LONG
VCVTTSS2SI reg32,xmmrm [rm: vex.128.f3.0f.w0 2c /r] AVX,SANDYBRIDGE,SD
VCVTTSS2SI reg64,xmmrm [rm: vex.128.f3.0f.w1 2c /r] AVX,SANDYBRIDGE,SD
VCVTTSS2SI reg64,xmmrm [rm: vex.128.f3.0f.w1 2c /r] AVX,SANDYBRIDGE,SD,LONG
VDIVPD xmmreg,xmmreg,xmmrm [rvm: vex.nds.128.66.0f 5e /r] AVX,SANDYBRIDGE,SO
VDIVPD xmmreg,xmmrm [r+vm: vex.nds.128.66.0f 5e /r] AVX,SANDYBRIDGE,SO
VDIVPD ymmreg,ymmreg,ymmrm [rvm: vex.nds.256.66.0f 5e /r] AVX,SANDYBRIDGE,SY
@ -2758,6 +2758,103 @@ VMINSD xmmreg,xmmreg,xmmrm [rvm: vex.nds.128.f2.0f 5d /r] AVX,SANDYBRIDGE,SQ
VMINSD xmmreg,xmmrm [r+vm: vex.nds.128.f2.0f 5d /r] AVX,SANDYBRIDGE,SQ
VMINSS xmmreg,xmmreg,xmmrm [rvm: vex.nds.128.f3.0f 5d /r] AVX,SANDYBRIDGE,SD
VMINSS xmmreg,xmmrm [r+vm: vex.nds.128.f3.0f 5d /r] AVX,SANDYBRIDGE,SD
VMOVAPD xmmreg,xmmrm [rm: vex.128.66.0f 28 /r] AVX,SANDYBRIDGE,SO
VMOVAPD xmmrm,xmmreg [mr: vex.128.66.0f 29 /r] AVX,SANDYBRIDGE,SO
VMOVAPD ymmreg,ymmrm [rm: vex.256.66.0f 28 /r] AVX,SANDYBRIDGE,SY
VMOVAPD ymmrm,ymmreg [mr: vex.256.66.0f 29 /r] AVX,SANDYBRIDGE,SY
VMOVAPS xmmreg,xmmrm [rm: vex.128.0f 28 /r] AVX,SANDYBRIDGE,SO
VMOVAPS xmmrm,xmmreg [mr: vex.128.0f 29 /r] AVX,SANDYBRIDGE,SO
VMOVAPS ymmreg,ymmrm [rm: vex.256.0f 28 /r] AVX,SANDYBRIDGE,SY
VMOVAPS ymmrm,ymmreg [mr: vex.256.0f 29 /r] AVX,SANDYBRIDGE,SY
VMOVQ xmmreg,xmmrm [rm: vex.128.f3.0f 7e /r] AVX,SANDYBRIDGE,SQ
VMOVQ xmmrm,xmmreg [mr: vex.128.66.0f d6 /r] AVX,SANDYBRIDGE,SQ
VMOVD xmmreg,rm32 [rm: vex.128.66.0f.w0 6e /r] AVX,SANDYBRIDGE,SD
VMOVQ xmmreg,rm64 [rm: vex.128.66.0f.w1 6e /r] AVX,SANDYBRIDGE,SQ,LONG
VMOVD rm32,xmmreg [mr: vex.128.66.0f.w0 7e /r] AVX,SANDYBRIDGE,SD
VMOVQ rm64,xmmreg [mr: vex.128.66.0f.w1 7e /r] AVX,SANDYBRIDGE,SQ,LONG
VMOVDDUP xmmreg,xmmrm [rm: vex.128.f2.0f 12 /r] AVX,SANDYBRIDGE,SQ
VMOVDDUP ymmreg,ymmrm [rm: vex.256.f2.0f 12 /r] AVX,SANDYBRIDGE,SY
VMOVDQA xmmreg,xmmrm [rm: vex.128.66.0f 6f /r] AVX,SANDYBRIDGE,SO
VMOVDQA xmmrm,xmmreg [mr: vex.128.66.0f 7f /r] AVX,SANDYBRIDGE,SO
; These are officially documented as VMOVDQA, but VMOVQQA seems more logical to be...
VMOVQQA ymmreg,ymmrm [rm: vex.256.66.0f 6f /r] AVX,SANDYBRIDGE,SY
VMOVQQA ymmrm,ymmreg [mr: vex.256.66.0f 7f /r] AVX,SANDYBRIDGE,SY
VMOVDQA ymmreg,ymmrm [rm: vex.256.66.0f 6f /r] AVX,SANDYBRIDGE,SY
VMOVDQA ymmrm,ymmreg [mr: vex.256.66.0f 7f /r] AVX,SANDYBRIDGE,SY
VMOVDQU xmmreg,xmmrm [rm: vex.128.f3.0f 6f /r] AVX,SANDYBRIDGE,SO
VMOVDQU xmmrm,xmmreg [mr: vex.128.f3.0f 7f /r] AVX,SANDYBRIDGE,SO
; These are officially documented as VMOVDQU, but VMOVQQU seems more logical to be...
VMOVQQU ymmreg,ymmrm [rm: vex.256.f3.0f 6f /r] AVX,SANDYBRIDGE,SY
VMOVQQU ymmrm,ymmreg [mr: vex.256.f3.0f 7f /r] AVX,SANDYBRIDGE,SY
VMOVDQU ymmreg,ymmrm [rm: vex.256.f3.0f 6f /r] AVX,SANDYBRIDGE,SY
VMOVDQU ymmrm,ymmreg [mr: vex.256.f3.0f 7f /r] AVX,SANDYBRIDGE,SY
VMOVHLPS xmmreg,xmmreg,xmmreg [rvm: vex.nds.128.0f 12 /r] AVX,SANDYBRIDGE
VMOVHLPS xmmreg,xmmreg [r+vm: vex.nds.128.0f 12 /r] AVX,SANDYBRIDGE
VMOVHPD xmmreg,xmmreg,mem [rvm: vex.nds.128.66.0f 16 /r] AVX,SANDYBRIDGE,SQ
VMOVHPD xmmreg,mem [r+vm: vex.nds.128.66.0f 16 /r] AVX,SANDYBRIDGE,SQ
VMOVHPD mem,xmmreg [mr: vex.128.66.0f 17 /r] AVX,SANDYBRIDGE,SQ
VMOVHPS xmmreg,xmmreg,mem [rvm: vex.nds.128.0f 16 /r] AVX,SANDYBRIDGE,SQ
VMOVHPS xmmreg,mem [r+vm: vex.nds.128.0f 16 /r] AVX,SANDYBRIDGE,SQ
VMOVHPS mem,xmmreg [mr: vex.128.0f 17 /r] AVX,SANDYBRIDGE,SQ
VMOVLHPS xmmreg,xmmreg,xmmreg [rvm: vex.nds.128.0f 16 /r] AVX,SANDYBRIDGE
VMOVLHPS xmmreg,xmmreg [r+vm: vex.nds.128.0f 16 /r] AVX,SANDYBRIDGE
VMOVLPD xmmreg,xmmreg,mem [rvm: vex.nds.128.66.0f 12 /r] AVX,SANDYBRIDGE,SQ
VMOVLPD xmmreg,mem [r+vm: vex.nds.128.66.0f 12 /r] AVX,SANDYBRIDGE,SQ
VMOVLPD mem,xmmreg [mr: vex.128.66.0f 13 /r] AVX,SANDYBRIDGE,SQ
VMOVLPS xmmreg,xmmreg,mem [rvm: vex.nds.128.0f 12 /r] AVX,SANDYBRIDGE,SQ
VMOVLPS xmmreg,mem [r+vm: vex.nds.128.0f 12 /r] AVX,SANDYBRIDGE,SQ
VMOVLPS mem,xmmreg [mr: vex.128.0f 13 /r] AVX,SANDYBRIDGE,SQ
VMOVMSKPD reg32,xmmreg [rm: vex.128.66.0f 50 /r] AVX,SANDYBRIDGE,NOLONG
VMOVMSKPD reg64,xmmreg [rm: vex.128.66.0f 50 /r] AVX,SANDYBRIDGE,LONG
VMOVMSKPD reg32,ymmreg [rm: vex.256.66.0f 50 /r] AVX,SANDYBRIDGE,NOLONG
VMOVMSKPD reg64,ymmreg [rm: vex.256.66.0f 50 /r] AVX,SANDYBRIDGE,LONG
VMOVMSKPS reg32,xmmreg [rm: vex.128.0f 50 /r] AVX,SANDYBRIDGE,NOLONG
VMOVMSKPS reg64,xmmreg [rm: vex.128.0f 50 /r] AVX,SANDYBRIDGE,LONG
VMOVMSKPS reg32,ymmreg [rm: vex.256.0f 50 /r] AVX,SANDYBRIDGE,NOLONG
VMOVMSKPS reg64,ymmreg [rm: vex.256.0f 50 /r] AVX,SANDYBRIDGE,LONG
VMOVNTDQ mem,xmmreg [mr: vex.128.66.0f e7 /r] AVX,SANDYBRIDGE,SO
VMOVNTDQA xmmreg,mem [rm: vex.128.66.0f38 2a /r] AVX,SANDYBRIDGE,SO
VMOVNTPD mem,xmmreg [mr: vex.128.66.0f 2b /r] AVX,SANDYBRIDGE,SO
VMOVNTPS mem,xmmreg [mr: vex.128.0f 2b /r] AVX,SANDYBRIDGE,SO
VMOVSD xmmreg,xmmreg,xmmreg [rvm: vex.nds.128.f2.0f 10 /r] AVX,SANDYBRIDGE
VMOVSD xmmreg,xmmreg [r+vm: vex.nds.128.f2.0f 10 /r] AVX,SANDYBRIDGE
VMOVSD xmmreg,mem [rm: vex.128.f2.0f 10 /r] AVX,SANDYBRIDGE,SQ
VMOVSD xmmreg,xmmreg,xmmreg [mvr: vex.nds.128.f2.0f 11 /r] AVX,SANDYBRIDGE
VMOVSD xmmreg,xmmreg [m+vr: vex.nds.128.f2.0f 11 /r] AVX,SANDYBRIDGE
VMOVSD mem,xmmreg [mr: vex.128.f2.0f 11 /r] AVX,SANDYBRIDGE,SQ
VMOVSHDUP xmmreg,xmmrm [rm: vex.128.f3.0f 16 /r] AVX,SANDYBRIDGE,SO
VMOVSHDUP ymmreg,ymmrm [rm: vex.256.f3.0f 16 /r] AVX,SANDYBRIDGE,SY
VMOVSLDUP xmmreg,xmmrm [rm: vex.128.f3.0f 12 /r] AVX,SANDYBRIDGE,SO
VMOVSLDUP ymmreg,ymmrm [rm: vex.256.f3.0f 12 /r] AVX,SANDYBRIDGE,SY
VMOVSS xmmreg,xmmreg,xmmreg [rvm: vex.nds.128.f3.0f 10 /r] AVX,SANDYBRIDGE
VMOVSS xmmreg,xmmreg [r+vm: vex.nds.128.f3.0f 10 /r] AVX,SANDYBRIDGE
VMOVSS xmmreg,mem [rm: vex.128.f3.0f 10 /r] AVX,SANDYBRIDGE,SQ
VMOVSS xmmreg,xmmreg,xmmreg [mvr: vex.nds.128.f3.0f 11 /r] AVX,SANDYBRIDGE
VMOVSS xmmreg,xmmreg [m+vr: vex.nds.128.f3.0f 11 /r] AVX,SANDYBRIDGE
VMOVSS mem,xmmreg [mr: vex.128.f3.0f 11 /r] AVX,SANDYBRIDGE,SQ
VMOVUPD xmmreg,xmmrm [rm: vex.128.66.0f 10 /r] AVX,SANDYBRIDGE,SO
VMOVUPD xmmrm,xmmreg [mr: vex.128.66.0f 11 /r] AVX,SANDYBRIDGE,SO
VMOVUPD ymmreg,ymmrm [rm: vex.256.66.0f 10 /r] AVX,SANDYBRIDGE,SY
VMOVUPD ymmrm,ymmreg [mr: vex.256.66.0f 11 /r] AVX,SANDYBRIDGE,SY
VMOVUPS xmmreg,xmmrm [rm: vex.128.0f 10 /r] AVX,SANDYBRIDGE,SO
VMOVUPS xmmrm,xmmreg [mr: vex.128.0f 11 /r] AVX,SANDYBRIDGE,SO
VMOVUPS ymmreg,ymmrm [rm: vex.256.0f 10 /r] AVX,SANDYBRIDGE,SY
VMOVUPS ymmrm,ymmreg [mr: vex.256.0f 11 /r] AVX,SANDYBRIDGE,SY
VMPSADBW xmmreg,xmmreg,xmmrm,imm [rvmi: vex.nds.128.66.0f3a 42 /r ib] AVX,SANDYBRIDGE,SO
VMPSADBW xmmreg,xmmrm,imm [r+vmi: vex.nds.128.66.0f3a 42 /r ib] AVX,SANDYBRIDGE,SO
VMULPD xmmreg,xmmreg,xmmrm [rvm: vex.nds.128.66.0f 59 /r] AVX,SANDYBRIDGE,SO
VMULPD xmmreg,xmmrm [r+vm: vex.nds.128.66.0f 59 /r] AVX,SANDYBRIDGE,SO
VMULPD ymmreg,ymmreg,ymmrm [rvm: vex.nds.256.66.0f 59 /r] AVX,SANDYBRIDGE,SY
VMULPD ymmreg,ymmrm [r+vm: vex.nds.256.66.0f 59 /r] AVX,SANDYBRIDGE,SY
VMULPS xmmreg,xmmreg,xmmrm [rvm: vex.nds.128.0f 59 /r] AVX,SANDYBRIDGE,SO
VMULPS xmmreg,xmmrm [r+vm: vex.nds.128.0f 59 /r] AVX,SANDYBRIDGE,SO
VMULPS ymmreg,ymmreg,ymmrm [rvm: vex.nds.256.0f 59 /r] AVX,SANDYBRIDGE,SY
VMULPS ymmreg,ymmrm [r+vm: vex.nds.256.0f 59 /r] AVX,SANDYBRIDGE,SY
VMULSD xmmreg,xmmreg,xmmrm [rvm: vex.nds.128.f2.0f 59 /r] AVX,SANDYBRIDGE,SQ
VMULSD xmmreg,xmmrm [r+vm: vex.nds.128.f2.0f 59 /r] AVX,SANDYBRIDGE,SQ
VMULSS xmmreg,xmmreg,xmmrm [rvm: vex.nds.128.f3.0f 59 /r] AVX,SANDYBRIDGE,SD
VMULSS xmmreg,xmmrm [r+vm: vex.nds.128.f3.0f 59 /r] AVX,SANDYBRIDGE,SD
VPERMILTD2PS xmmreg,xmmreg,xmmrm,xmmreg [rvms: vex.nds.128.66.0f3a.w0 48 /r /is4=0] AVX,SANDYBRIDGE,SO
VPERMILTD2PS xmmreg,xmmreg,xmmreg,xmmrm [rvsm: vex.nds.128.66.0f3a.w1 48 /r /is4=0] AVX,SANDYBRIDGE,SO