summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2012-07-22 21:04:20 -0700
committerH. Peter Anvin <hpa@zytor.com>2012-07-22 21:04:20 -0700
commit56bff2df92f721c5be9dacb66ea3cb8f6a3ab7d9 (patch)
tree3c3829b921afad619346986c0dde661c1b792bdb
parent46a80636c2fb0385ac6dec97e33e2f9e29f283d9 (diff)
downloadnasm-56bff2df92f721c5be9dacb66ea3cb8f6a3ab7d9.tar.gz
hle: opcode A2 forbidden with HLE prefixes
The moffset opcodes A2 and A3 do not support HLE. Unfortunately checkin fb3f4e6d HLE: Change NOHLE to be an instruction flag ... inadvertently lost the NOHLE flag for opcode A2. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--insns.dat2
-rw-r--r--test/hle.asm4
2 files changed, 5 insertions, 1 deletions
diff --git a/insns.dat b/insns.dat
index 3f43214f..a4461a4f 100644
--- a/insns.dat
+++ b/insns.dat
@@ -790,7 +790,7 @@ MOV reg_al,mem_offs [-i: a0 iwdq] 8086,SM
MOV reg_ax,mem_offs [-i: o16 a1 iwdq] 8086,SM
MOV reg_eax,mem_offs [-i: o32 a1 iwdq] 386,SM
MOV reg_rax,mem_offs [-i: o64 a1 iwdq] X64,SM
-MOV mem_offs,reg_al [i-: a2 iwdq] 8086,SM
+MOV mem_offs,reg_al [i-: a2 iwdq] 8086,SM,NOHLE
MOV mem_offs,reg_ax [i-: o16 a3 iwdq] 8086,SM,NOHLE
MOV mem_offs,reg_eax [i-: o32 a3 iwdq] 386,SM,NOHLE
MOV mem_offs,reg_rax [i-: o64 a3 iwdq] X64,SM,NOHLE
diff --git a/test/hle.asm b/test/hle.asm
index e93b0b91..e59b4f58 100644
--- a/test/hle.asm
+++ b/test/hle.asm
@@ -12,4 +12,8 @@
xrelease mov [sym],eax
xacquire mov [sym],eax
+ mov [sym],al
+ xrelease mov [sym],al
+ xacquire mov [sym],al
+
sym dd 0