summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/assemble.c2
-rw-r--r--test/br3392396.asm5
-rw-r--r--x86/insns.dat12
3 files changed, 12 insertions, 7 deletions
diff --git a/asm/assemble.c b/asm/assemble.c
index abdefd61..9c76b0ea 100644
--- a/asm/assemble.c
+++ b/asm/assemble.c
@@ -2503,7 +2503,7 @@ static enum ea_type process_ea(operand *input, ea *output, int bits,
if (bits == 64 &&
!(IP_REL & ~input->type) && (eaflags & EAF_MIB)) {
- *errmsg = "RIP-relative addressing is prohibited for MIB.";
+ *errmsg = "RIP-relative addressing is prohibited for MIB";
goto err;
}
diff --git a/test/br3392396.asm b/test/br3392396.asm
new file mode 100644
index 00000000..beb71cf1
--- /dev/null
+++ b/test/br3392396.asm
@@ -0,0 +1,5 @@
+ bits 64
+ vmovdqa32 [rdi],zmm16
+ vmovdqa32 [rdi+64],zmm17
+ vmovdqa32 [rdi+128],zmm18
+ vmovdqa32 [rdi+192],zmm19
diff --git a/x86/insns.dat b/x86/insns.dat
index c91f13fb..3d9fcacd 100644
--- a/x86/insns.dat
+++ b/x86/insns.dat
@@ -4069,9 +4069,9 @@ VMOVDDUP zmmreg|mask|z,zmmrm512 [rm:dup: evex.512.f2.0f.w1 1
VMOVDQA32 xmmreg|mask|z,xmmrm128 [rm:fvm: evex.128.66.0f.w0 6f /r ] AVX512VL,AVX512,FUTURE
VMOVDQA32 ymmreg|mask|z,ymmrm256 [rm:fvm: evex.256.66.0f.w0 6f /r ] AVX512VL,AVX512,FUTURE
VMOVDQA32 zmmreg|mask|z,zmmrm512 [rm:fvm: evex.512.66.0f.w0 6f /r ] AVX512,FUTURE
-VMOVDQA32 xmmrm128|mask|z,xmmreg [mr: evex.128.66.0f.w0 7f /r ] AVX512VL,AVX512,FUTURE
-VMOVDQA32 ymmrm256|mask|z,ymmreg [mr: evex.256.66.0f.w0 7f /r ] AVX512VL,AVX512,FUTURE
-VMOVDQA32 zmmrm512|mask|z,zmmreg [mr: evex.512.66.0f.w0 7f /r ] AVX512,FUTURE
+VMOVDQA32 xmmrm128|mask|z,xmmreg [mr:fvm: evex.128.66.0f.w0 7f /r ] AVX512VL,AVX512,FUTURE
+VMOVDQA32 ymmrm256|mask|z,ymmreg [mr:fvm: evex.256.66.0f.w0 7f /r ] AVX512VL,AVX512,FUTURE
+VMOVDQA32 zmmrm512|mask|z,zmmreg [mr:fvm: evex.512.66.0f.w0 7f /r ] AVX512,FUTURE
VMOVDQA64 xmmreg|mask|z,xmmrm128 [rm:fvm: evex.128.66.0f.w1 6f /r ] AVX512VL,AVX512,FUTURE
VMOVDQA64 ymmreg|mask|z,ymmrm256 [rm:fvm: evex.256.66.0f.w1 6f /r ] AVX512VL,AVX512,FUTURE
VMOVDQA64 zmmreg|mask|z,zmmrm512 [rm:fvm: evex.512.66.0f.w1 6f /r ] AVX512,FUTURE
@@ -4081,9 +4081,9 @@ VMOVDQA64 zmmrm512|mask|z,zmmreg [mr:fvm: evex.512.66.0f.w1 7
VMOVDQU16 xmmreg|mask|z,xmmrm128 [rm:fvm: evex.128.f2.0f.w1 6f /r ] AVX512VL,AVX512BW,FUTURE
VMOVDQU16 ymmreg|mask|z,ymmrm256 [rm:fvm: evex.256.f2.0f.w1 6f /r ] AVX512VL,AVX512BW,FUTURE
VMOVDQU16 zmmreg|mask|z,zmmrm512 [rm:fvm: evex.512.f2.0f.w1 6f /r ] AVX512BW,FUTURE
-VMOVDQU16 xmmrm128|mask|z,xmmreg [mr: evex.128.f2.0f.w1 7f /r ] AVX512VL,AVX512BW,FUTURE
-VMOVDQU16 ymmrm256|mask|z,ymmreg [mr: evex.256.f2.0f.w1 7f /r ] AVX512VL,AVX512BW,FUTURE
-VMOVDQU16 zmmrm512|mask|z,zmmreg [mr: evex.512.f2.0f.w1 7f /r ] AVX512BW,FUTURE
+VMOVDQU16 xmmrm128|mask|z,xmmreg [mr:fvm: evex.128.f2.0f.w1 7f /r ] AVX512VL,AVX512BW,FUTURE
+VMOVDQU16 ymmrm256|mask|z,ymmreg [mr:fvm: evex.256.f2.0f.w1 7f /r ] AVX512VL,AVX512BW,FUTURE
+VMOVDQU16 zmmrm512|mask|z,zmmreg [mr:fvm: evex.512.f2.0f.w1 7f /r ] AVX512BW,FUTURE
VMOVDQU32 xmmreg|mask|z,xmmrm128 [rm:fvm: evex.128.f3.0f.w0 6f /r ] AVX512VL,AVX512,FUTURE
VMOVDQU32 ymmreg|mask|z,ymmrm256 [rm:fvm: evex.256.f3.0f.w0 6f /r ] AVX512VL,AVX512,FUTURE
VMOVDQU32 zmmreg|mask|z,zmmrm512 [rm:fvm: evex.512.f3.0f.w0 6f /r ] AVX512,FUTURE