]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
s390x: Reflect renaming of DFP insns in opcode checker
authorAndreas Arnez <arnez@linux.ibm.com>
Thu, 3 Apr 2025 17:07:32 +0000 (19:07 +0200)
committerAndreas Arnez <arnez@linux.ibm.com>
Thu, 3 Apr 2025 17:17:06 +0000 (19:17 +0200)
After renaming various DFP instructions to their new name, reflect this in
s390-check-opcodes.pl by ignoring their old names, so the checker doesn't
complain about mismatches.

Also, add the missing documentation in s390-opcodes.csv about the fact
that the "with rounding mode" instruction versions cgdtra, cgxtra, and
cxgtra are implemented.

auxprogs/s390-check-opcodes.pl
docs/internals/s390-opcodes.csv

index bd1abc80573f0ea8463ea7d77fe28060b23e6591..4e0d2c6ac188071dfeb411d28afe2ddb1e876dab 100755 (executable)
@@ -55,12 +55,20 @@ my @extended_mnemonics = (      # Base mnemonic(s)
     "bi",                       # bic
     'brul?',
     'jc',                       # brc
+    'cf[dex]br',                # cf[dex]bra
+    'cg[dex]br',                # cg[dex]dbra
+    'c[dex]fbr',                # c[dex]fbra
+    'c[dex]gbr',                # c[dex]gbra
+    'c[dx]gtr',                 # c[dx]gtra
+    'cg[dx]tr',                 # cg[dx]tra
     'jasl?',
     'jct[gh]?',
     'jg?nop',
     'jxleg?',
     'jxhg?',
     'l[de]rv',
+    'l[de]xbr',                 # l[de]xbra
+    'ledbr',                    # ledbra
     'lfi',                      # iilf
     'llg[fh]i',                 # llilf, llill
     'notg?r',                   # nork, nogrk
@@ -215,25 +223,6 @@ while (my $line = <OPC>) {
     next if ($mnemonic eq "cuutf"); # alternate mnemonic for cu21
     next if ($mnemonic eq "cutfu"); # alternate mnemonic for cu12
 
-    next if ($mnemonic eq "cfdbra"); # indistinguishable from cfdbr
-    next if ($mnemonic eq "cfebra"); # indistinguishable from cfebr
-    next if ($mnemonic eq "cfxbra"); # indistinguishable from cfxbr
-    next if ($mnemonic eq "cgdbra"); # indistinguishable from cgdbr
-    next if ($mnemonic eq "cgebra"); # indistinguishable from cgebr
-    next if ($mnemonic eq "cgxbra"); # indistinguishable from cgxbr
-    next if ($mnemonic eq "cdfbra"); # indistinguishable from cdfbr
-    next if ($mnemonic eq "cefbra"); # indistinguishable from cefbr
-    next if ($mnemonic eq "cxfbra"); # indistinguishable from cxfbr
-    next if ($mnemonic eq "cdgbra"); # indistinguishable from cdgbr
-    next if ($mnemonic eq "cegbra"); # indistinguishable from cegbr
-    next if ($mnemonic eq "cxgbra"); # indistinguishable from cxgbr
-    next if ($mnemonic eq "ldxbra"); # indistinguishable from ldxbr
-    next if ($mnemonic eq "lexbra"); # indistinguishable from lexbr
-    next if ($mnemonic eq "ledbra"); # indistinguishable from ledbr
-    next if ($mnemonic eq "cdgtr");  # indistinguishable from cdgtra
-    next if ($mnemonic eq "cxgtra"); # indistinguishable from cxgtr
-    next if ($mnemonic eq "cgdtra"); # indistinguishable from cgdtr
-    next if ($mnemonic eq "cgxtra"); # indistinguishable from cgxtr
     next if ($mnemonic eq "fidbr");  # indistinguishable from fidbra
     next if ($mnemonic eq "fiebr");  # indistinguishable from fiebra
     next if ($mnemonic eq "fixbr");  # indistinguishable from fixbra
@@ -293,26 +282,6 @@ while (my $line = <CSV>) {
     $mnemonic    =~ s/"//g;
     $description =~ s/"//g;
 
-    next if ($mnemonic eq "cfdbra"); # indistinguishable from cfdbr
-    next if ($mnemonic eq "cfebra"); # indistinguishable from cfebr
-    next if ($mnemonic eq "cfxbra"); # indistinguishable from cfxbr
-    next if ($mnemonic eq "cgdbra"); # indistinguishable from cgdbr
-    next if ($mnemonic eq "cgebra"); # indistinguishable from cgebr
-    next if ($mnemonic eq "cgxbra"); # indistinguishable from cgxbr
-    next if ($mnemonic eq "cdfbra"); # indistinguishable from cdfbr
-    next if ($mnemonic eq "cefbra"); # indistinguishable from cefbr
-    next if ($mnemonic eq "cxfbra"); # indistinguishable from cxfbr
-    next if ($mnemonic eq "cegbra"); # indistinguishable from cegbr
-    next if ($mnemonic eq "cdgbra"); # indistinguishable from cdgbr
-    next if ($mnemonic eq "cegbra"); # indistinguishable from cegbr
-    next if ($mnemonic eq "cxgbra"); # indistinguishable from cxgbr
-    next if ($mnemonic eq "ldxbra"); # indistinguishable from ldxbr
-    next if ($mnemonic eq "lexbra"); # indistinguishable from lexbr
-    next if ($mnemonic eq "ledbra"); # indistinguishable from ledbr
-    next if ($mnemonic eq "cdgtr");  # indistinguishable from cdgtra
-    next if ($mnemonic eq "cxgtra"); # indistinguishable from cxgtr
-    next if ($mnemonic eq "cgdtra"); # indistinguishable from cgdtr
-    next if ($mnemonic eq "cgxtra"); # indistinguishable from cgxtr
     next if ($mnemonic eq "fidbr");  # indistinguishable from fidbra
     next if ($mnemonic eq "fiebr");  # indistinguishable from fiebra
     next if ($mnemonic eq "fixbr");  # indistinguishable from fixbra
index 931d8987cbc323101bff16190ee52ece9502e30b..1d4afb75bb95e163f9307ff50d1df700fabeddc9 100644 (file)
@@ -950,6 +950,9 @@ clgdtr,"convert to 64 bit fixed logical from long dfp with rounding mode",implem
 clgxtr,"convert to 64 bit fixed logical from extended dfp with rounding mode",implemented
 clfdtr,"convert to 32 bit fixed logical from long dfp with rounding mode",implemented
 clfxtr,"convert to 32 bit fixed logical from extended dfp with rounding mode",implemented
+cgdtra,"convert to 64 bit fixed from long dfp with rounding mode",implemented
+cgxtra,"convert to 64 bit fixed from extended dfp with rounding mode",implemented
+cxgtra,"convert from fixed extended dfp with rounding mode",implemented
 ddtra,"divide long dfp with rounding mode",implemented
 dxtra,"divide extended dfp with rounding mode",implemented
 mdtra,"multiply long dfp with rounding mode",implemented