From 8f1cd30fcb2449a7eba2f1c1e64874d44b6dd3fe Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin (Intel)" Date: Fri, 10 Oct 2025 16:24:22 -0700 Subject: [PATCH] insns.dat: fix CMPXCHG operand size The operand size prefix byte code (o#) was missing in the CMPXCHG pattern. Reported-by: Yongjie Sheng Signed-off-by: H. Peter Anvin (Intel) --- x86/insns.dat | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x86/insns.dat b/x86/insns.dat index aadb17c20..024b89c51 100644 --- a/x86/insns.dat +++ b/x86/insns.dat @@ -242,7 +242,7 @@ $wdq MOVZX reg#,rm32 [rm: nw o# 8b /r] 8086,OPT,SX,ND $wdq MOVZXD reg#,rm32 [rm: nw o# 8b /r] 8086,OPT,ND ;# Atomic operations -$bwdq CMPXCHG rm#,reg# [mr: hle 0f b0# /r] PENT,SM,LOCK +$bwdq CMPXCHG rm#,reg# [mr: hle o# 0f b0# /r] PENT,SM,LOCK CMPXCHG8B mem64 [m: hle norexw 0f c7 /1] PENT,LOCK CMPXCHG16B mem128 [m: o64 0f c7 /1] X86_64,LONG,LOCK @@ -258,7 +258,7 @@ $bwdq XCHG reg#,rm# [rm: hlenl o# 86# /r] 8086,SM,LOCK1 $bwdq XCHG rm#,reg# [mr: hlenl o# 86# /r] 8086,SM,LOCK,ND ; 486-only opcode present in some but not all 486 chips -$bwd CMPXCHG486 rm#,reg# [mr: 0f a6# /r] 486,SM,UNDOC,NOLONG,ND,LOCK,OBSOLETE +$bwd CMPXCHG486 rm#,reg# [mr: o# 0f a6# /r] 486,SM,UNDOC,NOLONG,ND,LOCK,OBSOLETE ;# Jumps ; APX absolute 64-bit jmp