[nasm:master] x86/insns.pl: sort conditional instructions alphabetically
nasm-bot for H. Peter Anvin
hpa at zytor.com
Sat Nov 12 13:03:05 PST 2022
Commit-ID: a3fd34ab803470d63658bd348a24f41beddab32f
Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=a3fd34ab803470d63658bd348a24f41beddab32f
Author: H. Peter Anvin <hpa at zytor.com>
AuthorDate: Sat, 12 Nov 2022 12:59:23 -0800
Committer: H. Peter Anvin <hpa at zytor.com>
CommitDate: Sat, 12 Nov 2022 12:59:23 -0800
x86/insns.pl: sort conditional instructions alphabetically
Makes the build a bit more predictable and debuggable.
Signed-off-by: H. Peter Anvin <hpa at zytor.com>
---
x86/insns.pl | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/x86/insns.pl b/x86/insns.pl
index af0ec5d0..16634285 100755
--- a/x86/insns.pl
+++ b/x86/insns.pl
@@ -131,6 +131,8 @@ my %conds = ( %condd,
'nbe' => 7, 'ne' => 5, 'nge' => 12, 'nle' => 15,
'np' => 11, 'p' => 10 );
+my @conds = sort keys(%conds);
+
# Generate conditional form patterns if applicable
sub conditional_forms(@) {
my @field_list = ();
@@ -138,6 +140,7 @@ sub conditional_forms(@) {
foreach my $fields (@_) {
# This is a case sensitive match!
if ($fields->[0] !~ /cc/) {
+ # Not a conditional instruction pattern
push(@field_list, $fields);
next;
}
@@ -147,7 +150,7 @@ sub conditional_forms(@) {
next;
}
- foreach my $cc (keys(%conds)) {
+ foreach my $cc (@conds) {
my @ff = @$fields;
$ff[0] =~ s/cc/\U$cc/;
@@ -156,8 +159,8 @@ sub conditional_forms(@) {
warn "$fname:$line: invalid conditional encoding";
next;
}
-
$ff[2] = $1.sprintf('%02x', hex($2)^$conds{$cc}).$3;
+
unless (defined($condd{$cc}) || $ff[3] =~ /\bND\b/) {
$ff[3] .= ',ND';
}
More information about the Nasm-commits
mailing list