summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-08-27 18:47:05 -0700
committerH. Peter Anvin <hpa@zytor.com>2008-08-27 18:47:05 -0700
commit04f54809d29549a2c73eddbb68f3cb76863ca26f (patch)
tree25521b8c191a9da176199b999316ff410d8ce19a
parent06425512ae1aafc48960b55084ef7bc06b0003a3 (diff)
downloadnasm-04f54809d29549a2c73eddbb68f3cb76863ca26f.tar.gz
Add 256-bit AVX stores per the latest AVX spec.
Add 256-bit forms of VMOVNTPD, VMOVNTPS, and VMOVNT[DQ]Q.
-rw-r--r--insns.dat9
1 files changed, 7 insertions, 2 deletions
diff --git a/insns.dat b/insns.dat
index 8241d65f..b68bf0aa 100644
--- a/insns.dat
+++ b/insns.dat
@@ -2802,14 +2802,14 @@ 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...
+; These are officially documented as VMOVDQA, but VMOVQQA seems more logical to me...
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...
+; These are officially documented as VMOVDQU, but VMOVQQU seems more logical to me...
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
@@ -2839,9 +2839,14 @@ VMOVMSKPS reg32,xmmreg [rm: vex.128.0f 50 /r] AVX,SANDYBRIDGE
VMOVMSKPS reg64,ymmreg [rm: vex.256.0f 50 /r] AVX,SANDYBRIDGE,LONG
VMOVMSKPS reg32,ymmreg [rm: vex.256.0f 50 /r] AVX,SANDYBRIDGE
VMOVNTDQ mem,xmmreg [mr: vex.128.66.0f e7 /r] AVX,SANDYBRIDGE,SO
+; Officially VMOVNTDQ, but VMOVNTQQ seems more logical to me...
+VMOVNTQQ mem,ymmreg [mr: vex.256.66.0f e7 /r] AVX,SANDYBRIDGE,SY
+VMOVNTDQ mem,ymmreg [mr: vex.256.66.0f e7 /r] AVX,SANDYBRIDGE,SY
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
+VMOVNTPD mem,ymmreg [mr: vex.256.66.0f 2b /r] AVX,SANDYBRIDGE,SY
VMOVNTPS mem,xmmreg [mr: vex.128.0f 2b /r] AVX,SANDYBRIDGE,SO
+VMOVNTPS mem,ymmreg [mr: vex.256.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