summaryrefslogtreecommitdiff
path: root/x86/insns.dat
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2017-05-01 21:44:24 -0700
committerH. Peter Anvin <hpa@zytor.com>2017-05-01 21:44:24 -0700
commitaf9fe8f5976d3bd36312514687de32f1f8a84cca (patch)
treea52d265e64bbf72074545428a0445e87395fedb2 /x86/insns.dat
parentd23066906c65b4a01aae562a57032c669788909e (diff)
downloadnasm-af9fe8f5976d3bd36312514687de32f1f8a84cca.tar.gz
Don't sort opcodes; move all pseudo-ops to the beginning
We don't need to sort opcodes anymore, since we are using an O(1) hash and not binary search. Instead, sort them in the order they first appear in insns.dat; this lets us move all the pseudo-ops to a contiguous range at the start of the file, for more efficient handling. Change the functions that process pseudo-ops accordingly. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'x86/insns.dat')
-rw-r--r--x86/insns.dat4
1 files changed, 3 insertions, 1 deletions
diff --git a/x86/insns.dat b/x86/insns.dat
index 00f25711..73b0a85a 100644
--- a/x86/insns.dat
+++ b/x86/insns.dat
@@ -48,6 +48,8 @@
;
;# Special instructions...
+; These MUST be first in this file and must maintain the pattern of
+; Dx by size, RESx by size, and INCBIN in that order.
DB ignore ignore ignore
DW ignore ignore ignore
DD ignore ignore ignore
@@ -64,6 +66,7 @@ REST ignore ignore ignore
RESO ignore ignore ignore
RESY ignore ignore ignore
RESZ ignore ignore ignore
+INCBIN ignore ignore ignore
;# Conventional instructions
AAA void [ 37] 8086,NOLONG
@@ -652,7 +655,6 @@ INC rm8 [m: hle fe /0] 8086,LOCK
INC rm16 [m: hle o16 ff /0] 8086,LOCK
INC rm32 [m: hle o32 ff /0] 386,LOCK
INC rm64 [m: hle o64 ff /0] X64,LOCK
-INCBIN ignore ignore ignore
INSB void [ 6c] 186
INSD void [ o32 6d] 386
INSW void [ o16 6d] 186