[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