2011-05-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>
Tue, 24 May 2011 13:33:57 +0000 (13:33 +0000)
committerAndreas Krebbel <Andreas.Krebbel@de.ibm.com>
Tue, 24 May 2011 13:33:57 +0000 (13:33 +0000)
* config/tc-s390.c (md_gather_operands): Emit an error for odd
numbered registers used as register pair operand.

2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* opcode/s390.h: Add S390_OPCODE_REG_EVEN flag.

2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* s390-opc.c: Add new instruction types marking register pair
operands.
* s390-opc.txt: Match instructions having register pair operands
to the new instruction types.

2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gas/s390/esa-g5.d: Fix register pair operands.
* gas/s390/esa-g5.s: Likewise.
* gas/s390/esa-z9-109.d: Likewise.
* gas/s390/esa-z9-109.s: Likewise.
* gas/s390/zarch-z196.d: Likewise.
* gas/s390/zarch-z196.s: Likewise.
* gas/s390/zarch-z9-109.d: Likewise.
* gas/s390/zarch-z9-109.s: Likewise.
* gas/s390/zarch-z900.d: Likewise.
* gas/s390/zarch-z900.s: Likewise.
* gas/s390/zarch-z990.d: Likewise.
* gas/s390/zarch-z990.s: Likewise.

20 files changed:
gas/ChangeLog
gas/config/tc-s390.c
gas/testsuite/ChangeLog
gas/testsuite/gas/s390/esa-g5.d
gas/testsuite/gas/s390/esa-g5.s
gas/testsuite/gas/s390/esa-z9-109.d
gas/testsuite/gas/s390/esa-z9-109.s
gas/testsuite/gas/s390/zarch-z196.d
gas/testsuite/gas/s390/zarch-z196.s
gas/testsuite/gas/s390/zarch-z9-109.d
gas/testsuite/gas/s390/zarch-z9-109.s
gas/testsuite/gas/s390/zarch-z900.d
gas/testsuite/gas/s390/zarch-z900.s
gas/testsuite/gas/s390/zarch-z990.d
gas/testsuite/gas/s390/zarch-z990.s
include/ChangeLog
include/opcode/s390.h
opcodes/ChangeLog
opcodes/s390-opc.c
opcodes/s390-opc.txt

index d6cf551..851688d 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/tc-s390.c (md_gather_operands): Emit an error for odd
+       numbered registers used as register pair operand.
+
 2011-05-23  Nick Clifton  <nickc@redhat.com>
 
        * config/tc-v850.h (TC_FX_SIZE_SLACK): Define.
index 8fc66d8..36d5974 100644 (file)
@@ -1267,6 +1267,9 @@ md_gather_operands (char *str,
                  && ex.X_add_number == 0
                  && warn_areg_zero)
                as_warn (_("base register specified but zero"));
+             if ((operand->flags & S390_OPERAND_REG_EVEN)
+                 && (ex.X_add_number & 1))
+               as_fatal (_("odd numbered register specified as register pair"));
              s390_insert_operand (insn, operand, ex.X_add_number, NULL, 0);
            }
        }
index 949e2f1..55ccb35 100644 (file)
@@ -1,3 +1,18 @@
+2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * gas/s390/esa-g5.d: Fix register pair operands.
+       * gas/s390/esa-g5.s: Likewise.
+       * gas/s390/esa-z9-109.d: Likewise.
+       * gas/s390/esa-z9-109.s: Likewise.
+       * gas/s390/zarch-z196.d: Likewise.
+       * gas/s390/zarch-z196.s: Likewise.
+       * gas/s390/zarch-z9-109.d: Likewise.
+       * gas/s390/zarch-z9-109.s: Likewise.
+       * gas/s390/zarch-z900.d: Likewise.
+       * gas/s390/zarch-z900.s: Likewise.
+       * gas/s390/zarch-z990.d: Likewise.
+       * gas/s390/zarch-z990.s: Likewise.
+
 2011-05-20  Bernd Schmidt  <bernds@codesourcery.com>
 
        * gas/tic6x/pcr-relocs.d: New test.
index 0e0984a..3007c7d 100644 (file)
@@ -25,8 +25,8 @@ Disassembly of section .text:
 .*:    3e 69 [  ]*aur  %f6,%f9
 .*:    6e 65 af ff [    ]*aw   %f6,4095\(%r5,%r10\)
 .*:    2e 69 [  ]*awr  %f6,%f9
-.*:    b3 4a 00 69 [    ]*axbr %f6,%f9
-.*:    36 69 [  ]*axr  %f6,%f9
+.*:    b3 4a 00 68 [    ]*axbr %f6,%f8
+.*:    36 68 [  ]*axr  %f6,%f8
 .*:    47 f5 af ff [    ]*b    4095\(%r5,%r10\)
 .*:    b2 40 00 69 [    ]*bakr %r6,%r9
 .*:    45 65 af ff [    ]*bal  %r6,4095\(%r5,%r10\)
@@ -96,7 +96,7 @@ Disassembly of section .text:
 .*:    b3 95 00 69 [    ]*cdfbr        %f6,%r9
 .*:    b3 b5 00 69 [    ]*cdfr %f6,%r9
 .*:    29 69 [  ]*cdr  %f6,%f9
-.*:    bb 69 5f ff [    ]*cds  %r6,%r9,4095\(%r5\)
+.*:    bb 68 5f ff [    ]*cds  %r6,%r8,4095\(%r5\)
 .*:    79 65 af ff [    ]*ce   %f6,4095\(%r5,%r10\)
 .*:    ed 65 af ff 00 09 [      ]*ceb  %f6,4095\(%r5,%r10\)
 .*:    b3 09 00 69 [    ]*cebr %f6,%f9
@@ -106,10 +106,10 @@ Disassembly of section .text:
 .*:    b2 1a 5f ff [    ]*cfc  4095\(%r5\)
 .*:    b3 99 50 69 [    ]*cfdbr        %r6,5,%f9
 .*:    b3 98 50 69 [    ]*cfebr        %r6,5,%f9
-.*:    b3 9a 50 69 [    ]*cfxbr        %r6,5,%f9
+.*:    b3 9a 50 58 [    ]*cfxbr        %r5,5,%f8
 .*:    b3 b9 90 65 [    ]*cfdr %r6,9,%f5
 .*:    b3 b8 90 65 [    ]*cfer %r6,9,%f5
-.*:    b3 ba 90 65 [    ]*cfxr %r6,9,%f5
+.*:    b3 ba 90 56 [    ]*cfxr %r5,9,%f6
 .*:    49 65 af ff [    ]*ch   %r6,4095\(%r5,%r10\)
 .*:    a7 6e 80 01 [    ]*chi  %r6,-32767
 .*:    b2 41 00 69 [    ]*cksm %r6,%r9
@@ -128,12 +128,12 @@ Disassembly of section .text:
 .*:    ba 69 5f ff [    ]*cs   %r6,%r9,4095\(%r5\)
 .*:    b2 30 00 00 [    ]*csch
 .*:    b2 50 00 69 [    ]*csp  %r6,%r9
-.*:    b2 57 00 69 [    ]*cuse %r6,%r9
-.*:    b2 a7 00 69 [    ]*cutfu        %r6,%r9
-.*:    b2 a6 00 69 [    ]*cuutf        %r6,%r9
+.*:    b2 57 00 68 [    ]*cuse %r6,%r8
+.*:    b2 a7 00 68 [    ]*cutfu        %r6,%r8
+.*:    b2 a6 00 68 [    ]*cuutf        %r6,%r8
 .*:    4f 65 af ff [    ]*cvb  %r6,4095\(%r5,%r10\)
 .*:    4e 65 af ff [    ]*cvd  %r6,4095\(%r5,%r10\)
-.*:    b3 49 00 69 [    ]*cxbr %f6,%f9
+.*:    b3 49 00 68 [    ]*cxbr %f6,%f8
 .*:    b3 96 00 69 [    ]*cxfbr        %f6,%r9
 .*:    b3 b6 00 69 [    ]*cxfr %f6,%r9
 .*:    b3 69 00 69 [    ]*cxr  %f6,%f9
@@ -151,8 +151,8 @@ Disassembly of section .text:
 .*:    b3 53 9a 65 [    ]*diebr        %f6,%f9,%f5,10
 .*:    fd 58 5f ff af ff [      ]*dp   4095\(6,%r5\),4095\(9,%r10\)
 .*:    1d 69 [  ]*dr   %r6,%r9
-.*:    b3 4d 00 69 [    ]*dxbr %f6,%f9
-.*:    b2 2d 00 69 [    ]*dxr  %f6,%f9
+.*:    b3 4d 00 68 [    ]*dxbr %f6,%f8
+.*:    b2 2d 00 68 [    ]*dxr  %f6,%f8
 .*:    b2 4f 00 69 [    ]*ear  %r6,%a9
 .*:    de ff 5f ff af ff [      ]*ed   4095\(256,%r5\),4095\(%r10\)
 .*:    df ff 5f ff af ff [      ]*edmk 4095\(256,%r5\),4095\(%r10\)
@@ -166,8 +166,8 @@ Disassembly of section .text:
 .*:    b3 7f 00 69 [    ]*fidr %f6,%f9
 .*:    b3 57 50 69 [    ]*fiebr        %f6,5,%f9
 .*:    b3 77 00 69 [    ]*fier %f6,%f9
-.*:    b3 47 50 69 [    ]*fixbr        %f6,5,%f9
-.*:    b3 67 00 69 [    ]*fixr %f6,%f9
+.*:    b3 47 50 68 [    ]*fixbr        %f6,5,%f8
+.*:    b3 67 00 68 [    ]*fixr %f6,%f8
 .*:    24 69 [  ]*hdr  %f6,%f9
 .*:    34 69 [  ]*her  %f6,%f9
 .*:    b2 31 00 00 [    ]*hsch
@@ -216,22 +216,22 @@ Disassembly of section .text:
 .*:    33 69 [  ]*lcer %f6,%f9
 .*:    13 69 [  ]*lcr  %r6,%r9
 .*:    b7 69 5f ff [    ]*lctl %c6,%c9,4095\(%r5\)
-.*:    b3 43 00 69 [    ]*lcxbr        %f6,%f9
-.*:    b3 63 00 69 [    ]*lcxr %f6,%f9
+.*:    b3 43 00 68 [    ]*lcxbr        %f6,%f8
+.*:    b3 63 00 68 [    ]*lcxr %f6,%f8
 .*:    68 65 af ff [    ]*ld   %f6,4095\(%r5,%r10\)
 .*:    ed 65 af ff 00 24 [      ]*lde  %f6,4095\(%r5,%r10\)
 .*:    ed 65 af ff 00 04 [      ]*ldeb %f6,4095\(%r5,%r10\)
 .*:    b3 04 00 69 [    ]*ldebr        %f6,%f9
 .*:    b3 24 00 69 [    ]*lder %f6,%f9
 .*:    28 69 [  ]*ldr  %f6,%f9
-.*:    b3 45 00 69 [    ]*ldxbr        %f6,%f9
-.*:    25 69 [  ]*ldxr %f6,%f9
+.*:    b3 45 00 68 [    ]*ldxbr        %f6,%f8
+.*:    25 68 [  ]*ldxr %f6,%f8
 .*:    78 65 af ff [    ]*le   %f6,4095\(%r5,%r10\)
 .*:    b3 44 00 69 [    ]*ledbr        %f6,%f9
 .*:    35 69 [  ]*ledr %f6,%f9
 .*:    38 69 [  ]*ler  %f6,%f9
-.*:    b3 46 00 69 [    ]*lexbr        %f6,%f9
-.*:    b3 66 00 69 [    ]*lexr %f6,%f9
+.*:    b3 46 00 68 [    ]*lexbr        %f6,%f8
+.*:    b3 66 00 68 [    ]*lexr %f6,%f8
 .*:    b2 9d 5f ff [    ]*lfpc 4095\(%r5\)
 .*:    48 65 af ff [    ]*lh   %r6,4095\(%r5,%r10\)
 .*:    a7 68 80 01 [    ]*lhi  %r6,-32767
@@ -241,27 +241,27 @@ Disassembly of section .text:
 .*:    b3 01 00 69 [    ]*lnebr        %f6,%f9
 .*:    31 69 [  ]*lner %f6,%f9
 .*:    11 69 [  ]*lnr  %r6,%r9
-.*:    b3 41 00 69 [    ]*lnxbr        %f6,%f9
-.*:    b3 61 00 69 [    ]*lnxr %f6,%f9
+.*:    b3 41 00 68 [    ]*lnxbr        %f6,%f8
+.*:    b3 61 00 68 [    ]*lnxr %f6,%f8
 .*:    b3 10 00 69 [    ]*lpdbr        %f6,%f9
 .*:    20 69 [  ]*lpdr %f6,%f9
 .*:    b3 00 00 69 [    ]*lpebr        %f6,%f9
 .*:    30 69 [  ]*lper %f6,%f9
 .*:    10 69 [  ]*lpr  %r6,%r9
 .*:    82 00 5f ff [    ]*lpsw 4095\(%r5\)
-.*:    b3 40 00 69 [    ]*lpxbr        %f6,%f9
-.*:    b3 60 00 69 [    ]*lpxr %f6,%f9
+.*:    b3 40 00 68 [    ]*lpxbr        %f6,%f8
+.*:    b3 60 00 68 [    ]*lpxr %f6,%f8
 .*:    18 69 [  ]*lr   %r6,%r9
 .*:    b1 65 af ff [    ]*lra  %r6,4095\(%r5,%r10\)
-.*:    25 69 [  ]*ldxr %f6,%f9
+.*:    25 78 [  ]*ldxr %f7,%f8
 .*:    35 69 [  ]*ledr %f6,%f9
 .*:    b3 12 00 69 [    ]*ltdbr        %f6,%f9
 .*:    22 69 [  ]*ltdr %f6,%f9
 .*:    b3 02 00 69 [    ]*ltebr        %f6,%f9
 .*:    32 69 [  ]*lter %f6,%f9
 .*:    12 69 [  ]*ltr  %r6,%r9
-.*:    b3 42 00 69 [    ]*ltxbr        %f6,%f9
-.*:    b3 62 00 69 [    ]*ltxr %f6,%f9
+.*:    b3 42 00 68 [    ]*ltxbr        %f6,%f8
+.*:    b3 62 00 68 [    ]*ltxr %f6,%f8
 .*:    b2 4b 00 69 [    ]*lura %r6,%r9
 .*:    ed 65 af ff 00 25 [      ]*lxd  %f6,4095\(%r5,%r10\)
 .*:    ed 65 af ff 00 05 [      ]*lxdb %f6,4095\(%r5,%r10\)
@@ -271,7 +271,7 @@ Disassembly of section .text:
 .*:    ed 65 af ff 00 06 [      ]*lxeb %f6,4095\(%r5,%r10\)
 .*:    b3 06 00 69 [    ]*lxebr        %f6,%f9
 .*:    b3 26 00 69 [    ]*lxer %f6,%f9
-.*:    b3 65 00 69 [    ]*lxr  %f6,%f9
+.*:    b3 65 00 68 [    ]*lxr  %f6,%f8
 .*:    b3 75 00 60 [    ]*lzdr %f6
 .*:    b3 74 00 60 [    ]*lzer %f6
 .*:    b3 76 00 60 [    ]*lzxr %f6
@@ -312,8 +312,8 @@ Disassembly of section .text:
 .*:    e8 ff 5f ff af ff [      ]*mvcin        4095\(256,%r5\),4095\(%r10\)
 .*:    d9 69 5f ff af ff [      ]*mvck 4095\(%r6,%r5\),4095\(%r10\),%r9
 .*:    0e 69 [  ]*mvcl %r6,%r9
-.*:    a8 69 5f ff [    ]*mvcle        %r6,%r9,4095\(%r5\)
-.*:    eb 69 5f ff 00 8e [      ]*mvclu        %r6,%r9,4095\(%r5\)
+.*:    a8 68 5f ff [    ]*mvcle        %r6,%r8,4095\(%r5\)
+.*:    eb 68 5f ff 00 8e [      ]*mvclu        %r6,%r8,4095\(%r5\)
 .*:    da 69 5f ff af ff [      ]*mvcp 4095\(%r6,%r5\),4095\(%r10\),%r9
 .*:    db 69 5f ff af ff [      ]*mvcs 4095\(%r6,%r5\),4095\(%r10\),%r9
 .*:    e5 0e 5f ff af ff [      ]*mvcsk        4095\(%r5\),4095\(%r10\)
@@ -323,12 +323,12 @@ Disassembly of section .text:
 .*:    b2 54 00 69 [    ]*mvpg %r6,%r9
 .*:    b2 55 00 69 [    ]*mvst %r6,%r9
 .*:    d3 ff 5f ff af ff [      ]*mvz  4095\(256,%r5\),4095\(%r10\)
-.*:    b3 4c 00 69 [    ]*mxbr %f6,%f9
+.*:    b3 4c 00 68 [    ]*mxbr %f6,%f8
 .*:    67 65 af ff [    ]*mxd  %f6,4095\(%r5,%r10\)
 .*:    ed 65 af ff 00 07 [      ]*mxdb %f6,4095\(%r5,%r10\)
 .*:    b3 07 00 69 [    ]*mxdbr        %f6,%f9
 .*:    27 69 [  ]*mxdr %f6,%f9
-.*:    26 69 [  ]*mxr  %f6,%f9
+.*:    26 68 [  ]*mxr  %f6,%f8
 .*:    54 65 af ff [    ]*n    %r6,4095\(%r5,%r10\)
 .*:    d4 ff 5f ff af ff [      ]*nc   4095\(256,%r5\),4095\(%r10\)
 .*:    94 ff 5f ff [    ]*ni   4095\(%r5\),255
@@ -395,8 +395,8 @@ Disassembly of section .text:
 .*:    ed 65 af ff 00 14 [      ]*sqeb %f6,4095\(%r5,%r10\)
 .*:    b3 14 00 69 [    ]*sqebr        %f6,%f9
 .*:    b2 45 00 69 [    ]*sqer %f6,%f9
-.*:    b3 16 00 69 [    ]*sqxbr        %f6,%f9
-.*:    b3 36 00 69 [    ]*sqxr %f6,%f9
+.*:    b3 16 00 68 [    ]*sqxbr        %f6,%f8
+.*:    b3 36 00 68 [    ]*sqxr %f6,%f8
 .*:    1b 69 [  ]*sr   %r6,%r9
 .*:    8a 60 5f ff [    ]*sra  %r6,4095\(%r5\)
 .*:    8e 60 5f ff [    ]*srda %r6,4095\(%r5\)
@@ -438,8 +438,8 @@ Disassembly of section .text:
 .*:    0a ff [  ]*svc  255
 .*:    6f 65 af ff [    ]*sw   %f6,4095\(%r5,%r10\)
 .*:    2f 69 [  ]*swr  %f6,%f9
-.*:    b3 4b 00 69 [    ]*sxbr %f6,%f9
-.*:    37 69 [  ]*sxr  %f6,%f9
+.*:    b3 4b 00 68 [    ]*sxbr %f6,%f8
+.*:    37 68 [  ]*sxr  %f6,%f8
 .*:    b2 4c 00 69 [    ]*tar  %a6,%r9
 .*:    b2 2c 00 06 [    ]*tb   %r6
 .*:    b3 51 50 69 [    ]*tbdr %f6,5,%f9
@@ -462,11 +462,11 @@ Disassembly of section .text:
 .*:    01 ff [  ]*trap2
 .*:    b2 ff 5f ff [    ]*trap4        4095\(%r5\)
 .*:    b2 a5 00 69 [    ]*tre  %r6,%r9
-.*:    b9 93 00 69 [    ]*troo %r6,%r9
-.*:    b9 92 00 69 [    ]*trot %r6,%r9
+.*:    b9 93 00 68 [    ]*troo %r6,%r8
+.*:    b9 92 00 68 [    ]*trot %r6,%r8
 .*:    dd ff 5f ff af ff [      ]*trt  4095\(256,%r5\),4095\(%r10\)
-.*:    b9 91 00 69 [    ]*trto %r6,%r9
-.*:    b9 90 00 69 [    ]*trtt %r6,%r9
+.*:    b9 91 00 68 [    ]*trto %r6,%r8
+.*:    b9 90 00 68 [    ]*trtt %r6,%r8
 .*:    93 00 5f ff [    ]*ts   4095\(%r5\)
 .*:    b2 35 5f ff [    ]*tsch 4095\(%r5\)
 .*:    f3 58 5f ff af ff [      ]*unpk 4095\(6,%r5\),4095\(9,%r10\)
index b74140c..213ec3d 100644 (file)
@@ -19,8 +19,8 @@ foo:
        aur     %f6,%f9
        aw      %f6,4095(%r5,%r10)
        awr     %f6,%f9
-       axbr    %f6,%f9
-       axr     %f6,%f9
+       axbr    %f6,%f8
+       axr     %f6,%f8
        b       4095(%r5,%r10)
        bakr    %r6,%r9
        bal     %r6,4095(%r5,%r10)
@@ -90,7 +90,7 @@ foo:
        cdfbr   %f6,%r9
        cdfr    %f6,%r9
        cdr     %f6,%f9
-       cds     %r6,%r9,4095(%r5)
+       cds     %r6,%r8,4095(%r5)
        ce      %f6,4095(%r5,%r10)
        ceb     %f6,4095(%r5,%r10)
        cebr    %f6,%f9
@@ -100,10 +100,10 @@ foo:
        cfc     4095(%r5)
        cfdbr   %r6,5,%f9
        cfebr   %r6,5,%f9
-       cfxbr   %r6,5,%f9
+       cfxbr   %r5,5,%f8
        cfdr    %r6,9,%f5
        cfer    %r6,9,%f5
-       cfxr    %r6,9,%f5
+       cfxr    %r5,9,%f6
        ch      %r6,4095(%r5,%r10)
        chi     %r6,-32767
        cksm    %r6,%r9
@@ -122,12 +122,12 @@ foo:
        cs      %r6,%r9,4095(%r5)
        csch
        csp     %r6,%r9
-       cuse    %r6,%r9
-       cutfu   %r6,%r9
-       cuutf   %r6,%r9
+       cuse    %r6,%r8
+       cutfu   %r6,%r8
+       cuutf   %r6,%r8
        cvb     %r6,4095(%r5,%r10)
        cvd     %r6,4095(%r5,%r10)
-       cxbr    %f6,%f9
+       cxbr    %f6,%f8
        cxfbr   %f6,%r9
        cxfr    %f6,%r9
        cxr     %f6,%f9
@@ -145,8 +145,8 @@ foo:
        diebr   %f6,%r9,%r5,10
        dp      4095(6,%r5),4095(9,%r10)
        dr      %r6,%r9
-       dxbr    %f6,%f9
-       dxr     %f6,%f9
+       dxbr    %f6,%f8
+       dxr     %f6,%f8
        ear     %r6,%a9
        ed      4095(256,%r5),4095(%r10)
        edmk    4095(256,%r5),4095(%r10)
@@ -160,8 +160,8 @@ foo:
        fidr    %f6,%f9
        fiebr   %f6,5,%f9
        fier    %f6,%f9
-       fixbr   %f6,5,%f9
-       fixr    %f6,%f9
+       fixbr   %f6,5,%f8
+       fixr    %f6,%f8
        hdr     %f6,%f9
        her     %f6,%f9
        hsch    
@@ -210,22 +210,22 @@ foo:
        lcer    %f6,%f9
        lcr     %r6,%r9
        lctl    %c6,%c9,4095(%r5)
-       lcxbr   %f6,%f9
-       lcxr    %f6,%f9
+       lcxbr   %f6,%f8
+       lcxr    %f6,%f8
        ld      %f6,4095(%r5,%r10)
        lde     %f6,4095(%r5,%r10)
        ldeb    %f6,4095(%r5,%r10)
        ldebr   %f6,%f9
        lder    %f6,%f9
        ldr     %f6,%f9
-       ldxbr   %f6,%f9
-       ldxr    %f6,%f9
+       ldxbr   %f6,%f8
+       ldxr    %f6,%f8
        le      %f6,4095(%r5,%r10)
        ledbr   %f6,%f9
        ledr    %f6,%f9
        ler     %f6,%f9
-       lexbr   %f6,%f9
-       lexr    %f6,%f9
+       lexbr   %f6,%f8
+       lexr    %f6,%f8
        lfpc    4095(%r5)
        lh      %r6,4095(%r5,%r10)
        lhi     %r6,-32767
@@ -235,27 +235,27 @@ foo:
        lnebr   %f6,%f9
        lner    %f6,%f9
        lnr     %r6,%r9
-       lnxbr   %f6,%f9
-       lnxr    %f6,%f9
+       lnxbr   %f6,%f8
+       lnxr    %f6,%f8
        lpdbr   %f6,%f9
        lpdr    %f6,%f9
        lpebr   %f6,%f9
        lper    %f6,%f9
        lpr     %r6,%r9
        lpsw    4095(%r5)
-       lpxbr   %f6,%f9
-       lpxr    %f6,%f9
+       lpxbr   %f6,%f8
+       lpxr    %f6,%f8
        lr      %r6,%r9
        lra     %r6,4095(%r5,%r10)
-       lrdr    %f6,%f9
+       lrdr    %f7,%f8
        lrer    %f6,%f9
        ltdbr   %f6,%f9
        ltdr    %f6,%f9
        ltebr   %f6,%f9
        lter    %f6,%f9
        ltr     %r6,%r9
-       ltxbr   %f6,%f9
-       ltxr    %f6,%f9
+       ltxbr   %f6,%f8
+       ltxr    %f6,%f8
        lura    %r6,%r9
        lxd     %f6,4095(%r5,%r10)
        lxdb    %f6,4095(%r5,%r10)
@@ -265,7 +265,7 @@ foo:
        lxeb    %f6,4095(%r5,%r10)
        lxebr   %f6,%f9
        lxer    %f6,%f9
-       lxr     %f6,%f9
+       lxr     %f6,%f8
        lzdr    %f6
        lzer    %f6
        lzxr    %f6
@@ -306,8 +306,8 @@ foo:
        mvcin   4095(256,%r5),4095(%r10)
        mvck    4095(%r6,%r5),4095(%r10),%r9
        mvcl    %r6,%r9
-       mvcle   %r6,%r9,4095(%r5)
-       mvclu   %r6,%r9,4095(%r5)
+       mvcle   %r6,%r8,4095(%r5)
+       mvclu   %r6,%r8,4095(%r5)
        mvcp    4095(%r6,%r5),4095(%r10),%r9
        mvcs    4095(%r6,%r5),4095(%r10),%r9
        mvcsk   4095(%r5),4095(%r10)
@@ -317,12 +317,12 @@ foo:
        mvpg    %r6,%r9
        mvst    %r6,%r9
        mvz     4095(256,%r5),4095(%r10)
-       mxbr    %f6,%f9
+       mxbr    %f6,%f8
        mxd     %f6,4095(%r5,%r10)
        mxdb    %f6,4095(%r5,%r10)
        mxdbr   %f6,%f9
        mxdr    %f6,%f9
-       mxr     %f6,%f9
+       mxr     %f6,%f8
        n       %r6,4095(%r5,%r10)
        nc      4095(256,%r5),4095(%r10)
        ni      4095(%r5),255
@@ -389,8 +389,8 @@ foo:
        sqeb    %f6,4095(%r5,%r10)
        sqebr   %f6,%f9
        sqer    %f6,%f9
-       sqxbr   %f6,%f9
-       sqxr    %f6,%f9
+       sqxbr   %f6,%f8
+       sqxr    %f6,%f8
        sr      %r6,%r9
        sra     %r6,4095(%r5)
        srda    %r6,4095(%r5)
@@ -432,8 +432,8 @@ foo:
        svc     255
        sw      %f6,4095(%r5,%r10)
        swr     %f6,%f9
-       sxbr    %f6,%f9
-       sxr     %f6,%f9
+       sxbr    %f6,%f8
+       sxr     %f6,%f8
        tar     %a6,%r9
        tb      %r6
        tbdr    %r6,5,%r9
@@ -456,11 +456,11 @@ foo:
        trap2
        trap4   4095(%r5)
        tre     %r6,%r9
-       troo    %r6,%r9
-       trot    %r6,%r9
+       troo    %r6,%r8
+       trot    %r6,%r8
        trt     4095(256,%r5),4095(%r10)
-       trto    %r6,%r9
-       trtt    %r6,%r9
+       trto    %r6,%r8
+       trtt    %r6,%r8
        ts      4095(%r5)
        tsch    4095(%r5)
        unpk    4095(6,%r5),4095(9,%r10)
index d037909..c379c46 100644 (file)
@@ -6,8 +6,8 @@
 Disassembly of section .text:
 
 .* <foo>:
-.*:    b9 93 f0 69 [    ]*troo %r6,%r9,15
-.*:    b9 92 f0 69 [    ]*trot %r6,%r9,15
-.*:    b9 91 f0 69 [    ]*trto %r6,%r9,15
-.*:    b9 90 f0 69 [    ]*trtt %r6,%r9,15
+.*:    b9 93 f0 68 [    ]*troo %r6,%r8,15
+.*:    b9 92 f0 68 [    ]*trot %r6,%r8,15
+.*:    b9 91 f0 68 [    ]*trto %r6,%r8,15
+.*:    b9 90 f0 68 [    ]*trtt %r6,%r8,15
 .*:    b2 2b 00 69 [    ]*sske %r6,%r9
index 49ffaf6..438f76e 100644 (file)
@@ -1,9 +1,9 @@
 .text
 foo:
-       troo    %r6,%r9,15
-       trot    %r6,%r9,15
-       trto    %r6,%r9,15
-       trtt    %r6,%r9,15
+       troo    %r6,%r8,15
+       trot    %r6,%r8,15
+       trto    %r6,%r8,15
+       trtt    %r6,%r8,15
 # z9-109 z/Architecture mode extended sske with an additional parameter
 # make sure the old version still works for esa
        sske    %r6,%r9
index 8225600..0ac7a5f 100644 (file)
@@ -200,56 +200,56 @@ Disassembly of section .text:
 .*:    b9 ae 00 67 [   ]*rrbm  %r6,%r7
 .*:    b3 94 37 59 [   ]*cefbra        %f5,3,%r9,7
 .*:    b3 95 37 59 [   ]*cdfbra        %f5,3,%r9,7
-.*:    b3 96 37 59 [   ]*cxfbra        %f5,3,%r9,7
+.*:    b3 96 37 69 [   ]*cxfbra        %f6,3,%r9,7
 .*:    b3 a4 37 59 [   ]*cegbra        %f5,3,%r9,7
 .*:    b3 a5 37 59 [   ]*cdgbra        %f5,3,%r9,7
-.*:    b3 a6 37 59 [   ]*cxgbra        %f5,3,%r9,7
+.*:    b3 a6 37 69 [   ]*cxgbra        %f6,3,%r9,7
 .*:    b3 90 37 59 [   ]*celfbr        %f5,3,%r9,7
 .*:    b3 91 37 59 [   ]*cdlfbr        %f5,3,%r9,7
-.*:    b3 92 37 59 [   ]*cxlfbr        %f5,3,%r9,7
+.*:    b3 92 37 69 [   ]*cxlfbr        %f6,3,%r9,7
 .*:    b3 a0 37 59 [   ]*celgbr        %f5,3,%r9,7
 .*:    b3 a1 37 59 [   ]*cdlgbr        %f5,3,%r9,7
-.*:    b3 a2 37 59 [   ]*cxlgbr        %f5,3,%r9,7
+.*:    b3 a2 37 69 [   ]*cxlgbr        %f6,3,%r9,7
 .*:    b3 98 37 59 [   ]*cfebra        %r5,3,%f9,7
 .*:    b3 99 37 59 [   ]*cfdbra        %r5,3,%f9,7
-.*:    b3 9a 37 59 [   ]*cfxbra        %r5,3,%f9,7
+.*:    b3 9a 37 58 [   ]*cfxbra        %r5,3,%f8,7
 .*:    b3 a8 37 59 [   ]*cgebra        %r5,3,%f9,7
 .*:    b3 a9 37 59 [   ]*cgdbra        %r5,3,%f9,7
-.*:    b3 aa 37 59 [   ]*cgxbra        %r5,3,%f9,7
+.*:    b3 aa 37 58 [   ]*cgxbra        %r5,3,%f8,7
 .*:    b3 9c 37 59 [   ]*clfebr        %r5,3,%f9,7
 .*:    b3 9d 37 59 [   ]*clfdbr        %r5,3,%f9,7
-.*:    b3 9e 37 59 [   ]*clfxbr        %r5,3,%f9,7
+.*:    b3 9e 37 58 [   ]*clfxbr        %r5,3,%f8,7
 .*:    b3 ac 37 59 [   ]*clgebr        %r5,3,%f9,7
 .*:    b3 ad 37 59 [   ]*clgdbr        %r5,3,%f9,7
-.*:    b3 ae 37 59 [   ]*clgxbr        %r5,3,%f9,7
+.*:    b3 ae 37 58 [   ]*clgxbr        %r5,3,%f8,7
 .*:    b3 57 37 59 [   ]*fiebra        %f5,3,%f9,7
 .*:    b3 5f 37 59 [   ]*fidbra        %f5,3,%f9,7
-.*:    b3 47 37 59 [   ]*fixbra        %f5,3,%f9,7
+.*:    b3 47 37 68 [   ]*fixbra        %f6,3,%f8,7
 .*:    b3 44 37 59 [   ]*ledbra        %f5,3,%f9,7
-.*:    b3 45 37 59 [   ]*ldxbra        %f5,3,%f9,7
-.*:    b3 46 37 59 [   ]*lexbra        %f5,3,%f9,7
+.*:    b3 45 37 68 [   ]*ldxbra        %f6,3,%f8,7
+.*:    b3 46 37 68 [   ]*lexbra        %f6,3,%f8,7
 .*:    b3 d2 97 35 [   ]*adtra %f3,%f5,%f9,7
-.*:    b3 da 97 35 [   ]*axtra %f3,%f5,%f9,7
+.*:    b3 da 67 24 [   ]*axtra %f2,%f4,%f6,7
 .*:    b3 f1 37 59 [   ]*cdgtra        %f5,3,%r9,7
 .*:    b9 51 37 59 [   ]*cdftr %f5,3,%r9,7
-.*:    b9 59 37 59 [   ]*cxftr %f5,3,%r9,7
-.*:    b3 f9 37 59 [   ]*cxgtra        %f5,3,%r9,7
+.*:    b9 59 37 69 [   ]*cxftr %f6,3,%r9,7
+.*:    b3 f9 37 69 [   ]*cxgtra        %f6,3,%r9,7
 .*:    b9 52 37 59 [   ]*cdlgtr        %f5,3,%r9,7
-.*:    b9 5a 37 59 [   ]*cxlgtr        %f5,3,%r9,7
+.*:    b9 5a 37 69 [   ]*cxlgtr        %f6,3,%r9,7
 .*:    b9 53 37 59 [   ]*cdlftr        %f5,3,%r9,7
 .*:    b9 5b 37 59 [   ]*cxlftr        %f5,3,%r9,7
 .*:    b3 e1 37 59 [   ]*cgdtra        %r5,3,%f9,7
-.*:    b3 e9 37 59 [   ]*cgxtra        %r5,3,%f9,7
+.*:    b3 e9 37 58 [   ]*cgxtra        %r5,3,%f8,7
 .*:    b9 41 37 59 [   ]*cfdtr %r5,3,%f9,7
 .*:    b9 49 37 59 [   ]*cfxtr %r5,3,%f9,7
 .*:    b9 42 37 59 [   ]*clgdtr        %r5,3,%f9,7
-.*:    b9 4a 37 59 [   ]*clgxtr        %r5,3,%f9,7
+.*:    b9 4a 37 58 [   ]*clgxtr        %r5,3,%f8,7
 .*:    b9 43 37 59 [   ]*clfdtr        %r5,3,%f9,7
-.*:    b9 4b 37 59 [   ]*clfxtr        %r5,3,%f9,7
+.*:    b9 4b 37 58 [   ]*clfxtr        %r5,3,%f8,7
 .*:    b3 d1 97 35 [   ]*ddtra %f3,%f5,%f9,7
-.*:    b3 d9 97 35 [   ]*dxtra %f3,%f5,%f9,7
+.*:    b3 d9 67 24 [   ]*dxtra %f2,%f4,%f6,7
 .*:    b3 d0 97 35 [   ]*mdtra %f3,%f5,%f9,7
-.*:    b3 d8 97 35 [   ]*mxtra %f3,%f5,%f9,7
+.*:    b3 d8 67 24 [   ]*mxtra %f2,%f4,%f6,7
 .*:    b3 d3 97 35 [   ]*sdtra %f3,%f5,%f9,7
-.*:    b3 db 97 35 [   ]*sxtra %f3,%f5,%f9,7
+.*:    b3 db 67 24 [   ]*sxtra %f2,%f4,%f6,7
 .*:    b2 b8 7f a0 [   ]*srnmb 4000\(%r7\)
index 2b49c95..dd5b862 100644 (file)
@@ -202,56 +202,56 @@ foo:
 
        cefbra %f5,3,%r9,7
        cdfbra %f5,3,%r9,7
-       cxfbra %f5,3,%r9,7
+       cxfbra %f6,3,%r9,7
        cegbra %f5,3,%r9,7
        cdgbra %f5,3,%r9,7
-       cxgbra %f5,3,%r9,7
+       cxgbra %f6,3,%r9,7
        celfbr %f5,3,%r9,7
        cdlfbr %f5,3,%r9,7
-       cxlfbr %f5,3,%r9,7
+       cxlfbr %f6,3,%r9,7
        celgbr %f5,3,%r9,7
        cdlgbr %f5,3,%r9,7
-       cxlgbr %f5,3,%r9,7
+       cxlgbr %f6,3,%r9,7
        cfebra %r5,3,%f9,7
        cfdbra %r5,3,%f9,7
-       cfxbra %r5,3,%f9,7
+       cfxbra %r5,3,%f8,7
        cgebra %r5,3,%f9,7
        cgdbra %r5,3,%f9,7
-       cgxbra %r5,3,%f9,7
+       cgxbra %r5,3,%f8,7
        clfebr %r5,3,%f9,7
        clfdbr %r5,3,%f9,7
-       clfxbr %r5,3,%f9,7
+       clfxbr %r5,3,%f8,7
        clgebr %r5,3,%f9,7
        clgdbr %r5,3,%f9,7
-       clgxbr %r5,3,%f9,7
+       clgxbr %r5,3,%f8,7
        fiebra %f5,3,%f9,7
        fidbra %f5,3,%f9,7
-       fixbra %f5,3,%f9,7
+       fixbra %f6,3,%f8,7
        ledbra %f5,3,%f9,7
-       ldxbra %f5,3,%f9,7
-       lexbra %f5,3,%f9,7
+       ldxbra %f6,3,%f8,7
+       lexbra %f6,3,%f8,7
        adtra %f3,%f5,%f9,7
-       axtra %f3,%f5,%f9,7
+       axtra %f2,%f4,%f6,7
        cdgtra %f5,3,%r9,7
        cdftr %f5,3,%r9,7
-       cxftr %f5,3,%r9,7
-       cxgtra %f5,3,%r9,7
+       cxftr %f6,3,%r9,7
+       cxgtra %f6,3,%r9,7
        cdlgtr %f5,3,%r9,7
-       cxlgtr %f5,3,%r9,7
+       cxlgtr %f6,3,%r9,7
        cdlftr %f5,3,%r9,7
        cxlftr %f5,3,%r9,7
        cgdtra %r5,3,%f9,7
-       cgxtra %r5,3,%f9,7
+       cgxtra %r5,3,%f8,7
        cfdtr %r5,3,%f9,7
        cfxtr %r5,3,%f9,7
        clgdtr %r5,3,%f9,7
-       clgxtr %r5,3,%f9,7
+       clgxtr %r5,3,%f8,7
        clfdtr %r5,3,%f9,7
-       clfxtr %r5,3,%f9,7
+       clfxtr %r5,3,%f8,7
        ddtra %f3,%f5,%f9,7
-       dxtra %f3,%f5,%f9,7
+       dxtra %f2,%f4,%f6,7
        mdtra %f3,%f5,%f9,7
-       mxtra %f3,%f5,%f9,7
+       mxtra %f2,%f4,%f6,7
        sdtra %f3,%f5,%f9,7
-       sxtra %f3,%f5,%f9,7
+       sxtra %f2,%f4,%f6,7
        srnmb 4000(%r7)
index 7c5797d..73fb558 100644 (file)
@@ -45,12 +45,12 @@ Disassembly of section .text:
 .*:    c8 60 5f ff af ff [      ]*mvcos        4095\(%r5\),4095\(%r10\),%r6
 .*:    b9 aa 5f 69 [    ]*lptea        %r6,%r9,%r5,15
 .*:    b2 2b f0 69 [    ]*sske %r6,%r9,15
-.*:    b9 b1 f0 69 [    ]*cu24 %r6,%r9,15
-.*:    b2 a6 f0 69 [    ]*cu21 %r6,%r9,15
-.*:    b9 b3 00 69 [    ]*cu42 %r6,%r9
-.*:    b9 b2 00 69 [    ]*cu41 %r6,%r9
-.*:    b2 a7 f0 69 [    ]*cu12 %r6,%r9,15
-.*:    b9 b0 f0 69 [    ]*cu14 %r6,%r9,15
+.*:    b9 b1 f0 68 [    ]*cu24 %r6,%r8,15
+.*:    b2 a6 f0 68 [    ]*cu21 %r6,%r8,15
+.*:    b9 b3 00 68 [    ]*cu42 %r6,%r8
+.*:    b9 b2 00 68 [    ]*cu41 %r6,%r8
+.*:    b2 a7 f0 68 [    ]*cu12 %r6,%r8,15
+.*:    b9 b0 f0 68 [    ]*cu14 %r6,%r8,15
 .*:    b3 3b 60 95 [    ]*myr  %f6,%f9,%f5
 .*:    b3 3d 60 95 [    ]*myhr %f6,%f9,%f5
 .*:    b3 39 60 95 [    ]*mylr %f6,%f9,%f5
index 35f1140..785c013 100644 (file)
@@ -39,12 +39,12 @@ foo:
        mvcos   4095(%r5),4095(%r10),%r6
        lptea   %r6,%r9,%r5,15
        sske    %r6,%r9,15
-       cu24    %r6,%r9,15
-       cu21    %r6,%r9,15
-       cu42    %r6,%r9
-       cu41    %r6,%r9
-       cu12    %r6,%r9,15
-       cu14    %r6,%r9,15
+       cu24    %r6,%r8,15
+       cu21    %r6,%r8,15
+       cu42    %r6,%r8
+       cu41    %r6,%r8
+       cu12    %r6,%r8,15
+       cu14    %r6,%r8,15
        myr     %f6,%f9,%f5
        myhr    %f6,%f9,%f5
        mylr    %f6,%f9,%f5
index 2cb352f..561fca6 100644 (file)
@@ -26,7 +26,7 @@ Disassembly of section .text:
 .*:    eb 96 5f ff 00 45 [     ]*bxleg %r9,%r6,4095\(%r5\)
 .*:    b3 a5 00 96 [   ]*cdgbr %f9,%r6
 .*:    b3 c5 00 96 [   ]*cdgr  %f9,%r6
-.*:    eb 96 5f ff 00 3e [     ]*cdsg  %r9,%r6,4095\(%r5\)
+.*:    eb 86 5f ff 00 3e [     ]*cdsg  %r8,%r6,4095\(%r5\)
 .*:    b3 a4 00 96 [   ]*cegbr %f9,%r6
 .*:    b3 c4 00 96 [   ]*cegr  %f9,%r6
 .*:    e3 95 af ff 00 20 [     ]*cg    %r9,4095\(%r5,%r10\)
@@ -38,8 +38,8 @@ Disassembly of section .text:
 .*:    b9 30 00 96 [   ]*cgfr  %r9,%r6
 .*:    a7 9f 80 01 [   ]*cghi  %r9,-32767
 .*:    b9 20 00 96 [   ]*cgr   %r9,%r6
-.*:    b3 aa f0 65 [   ]*cgxbr %r6,15,%f5
-.*:    b3 ca f0 65 [   ]*cgxr  %r6,15,%f5
+.*:    b3 aa f0 64 [   ]*cgxbr %r6,15,%f4
+.*:    b3 ca f0 64 [   ]*cgxr  %r6,15,%f4
 .*:    e3 95 af ff 00 21 [     ]*clg   %r9,4095\(%r5,%r10\)
 .*:    e3 95 af ff 00 31 [     ]*clgf  %r9,4095\(%r5,%r10\)
 .*:    b9 31 00 96 [   ]*clgfr %r9,%r6
@@ -48,14 +48,14 @@ Disassembly of section .text:
 .*:    eb 96 5f ff 00 30 [     ]*csg   %r9,%r6,4095\(%r5\)
 .*:    e3 95 af ff 00 0e [     ]*cvbg  %r9,4095\(%r5,%r10\)
 .*:    e3 95 af ff 00 2e [     ]*cvdg  %r9,4095\(%r5,%r10\)
-.*:    b3 a6 00 96 [   ]*cxgbr %f9,%r6
-.*:    b3 c6 00 96 [   ]*cxgr  %f9,%r6
-.*:    e3 95 af ff 00 87 [     ]*dlg   %r9,4095\(%r5,%r10\)
-.*:    b9 87 00 96 [   ]*dlgr  %r9,%r6
-.*:    e3 95 af ff 00 0d [     ]*dsg   %r9,4095\(%r5,%r10\)
-.*:    e3 95 af ff 00 1d [     ]*dsgf  %r9,4095\(%r5,%r10\)
-.*:    b9 1d 00 96 [   ]*dsgfr %r9,%r6
-.*:    b9 0d 00 96 [   ]*dsgr  %r9,%r6
+.*:    b3 a6 00 86 [   ]*cxgbr %f8,%r6
+.*:    b3 c6 00 86 [   ]*cxgr  %f8,%r6
+.*:    e3 85 af ff 00 87 [     ]*dlg   %r8,4095\(%r5,%r10\)
+.*:    b9 87 00 86 [   ]*dlgr  %r8,%r6
+.*:    e3 85 af ff 00 0d [     ]*dsg   %r8,4095\(%r5,%r10\)
+.*:    e3 85 af ff 00 1d [     ]*dsgf  %r8,4095\(%r5,%r10\)
+.*:    b9 1d 00 86 [   ]*dsgfr %r8,%r6
+.*:    b9 0d 00 86 [   ]*dsgr  %r8,%r6
 .*:    b9 0e 00 96 [   ]*eregg %r9,%r6
 .*:    b9 9d 00 90 [   ]*esea  %r9
 .*:    eb 9a 5f ff 00 80 [     ]*icmh  %r9,10,4095\(%r5\)
@@ -89,7 +89,7 @@ Disassembly of section .text:
 .*:    b9 01 00 96 [   ]*lngr  %r9,%r6
 .*:    b9 10 00 96 [   ]*lpgfr %r9,%r6
 .*:    b9 00 00 96 [   ]*lpgr  %r9,%r6
-.*:    e3 95 af ff 00 8f [     ]*lpq   %r9,4095\(%r5,%r10\)
+.*:    e3 85 af ff 00 8f [     ]*lpq   %r8,4095\(%r5,%r10\)
 .*:    b2 b2 5f ff [   ]*lpswe 4095\(%r5\)
 .*:    e3 95 af ff 00 03 [     ]*lrag  %r9,4095\(%r5,%r10\)
 .*:    e3 95 af ff 00 0f [     ]*lrvg  %r9,4095\(%r5,%r10\)
@@ -98,8 +98,8 @@ Disassembly of section .text:
 .*:    b9 02 00 96 [   ]*ltgr  %r9,%r6
 .*:    b9 05 00 96 [   ]*lurag %r9,%r6
 .*:    a7 9d 80 01 [   ]*mghi  %r9,-32767
-.*:    e3 95 af ff 00 86 [     ]*mlg   %r9,4095\(%r5,%r10\)
-.*:    b9 86 00 96 [   ]*mlgr  %r9,%r6
+.*:    e3 85 af ff 00 86 [     ]*mlg   %r8,4095\(%r5,%r10\)
+.*:    b9 86 00 86 [   ]*mlgr  %r8,%r6
 .*:    e3 95 af ff 00 0c [     ]*msg   %r9,4095\(%r5,%r10\)
 .*:    e3 95 af ff 00 1c [     ]*msgf  %r9,4095\(%r5,%r10\)
 .*:    b9 1c 00 96 [   ]*msgfr %r9,%r6
index 721244a..a175cca 100644 (file)
@@ -20,7 +20,7 @@ foo:
        bxleg   %r9,%r6,4095(%r5)
        cdgbr   %f9,%r6
        cdgr    %f9,%r6
-       cdsg    %r9,%r6,4095(%r5)
+       cdsg    %r8,%r6,4095(%r5)
        cegbr   %f9,%r6
        cegr    %f9,%r6
        cg      %r9,4095(%r5,%r10)
@@ -32,8 +32,8 @@ foo:
        cgfr    %r9,%r6
        cghi    %r9,-32767
        cgr     %r9,%r6
-       cgxbr   %r6,15,%f5
-       cgxr    %r6,15,%f5
+       cgxbr   %r6,15,%f4
+       cgxr    %r6,15,%f4
        clg     %r9,4095(%r5,%r10)
        clgf    %r9,4095(%r5,%r10)
        clgfr   %r9,%r6
@@ -42,14 +42,14 @@ foo:
        csg     %r9,%r6,4095(%r5)
        cvbg    %r9,4095(%r5,%r10)
        cvdg    %r9,4095(%r5,%r10)
-       cxgbr   %f9,%r6
-       cxgr    %f9,%r6
-       dlg     %r9,4095(%r5,%r10)
-       dlgr    %r9,%r6
-       dsg     %r9,4095(%r5,%r10)
-       dsgf    %r9,4095(%r5,%r10)
-       dsgfr   %r9,%r6
-       dsgr    %r9,%r6
+       cxgbr   %f8,%r6
+       cxgr    %f8,%r6
+       dlg     %r8,4095(%r5,%r10)
+       dlgr    %r8,%r6
+       dsg     %r8,4095(%r5,%r10)
+       dsgf    %r8,4095(%r5,%r10)
+       dsgfr   %r8,%r6
+       dsgr    %r8,%r6
        eregg   %r9,%r6
        esea    %r9
        icmh    %r9,10,4095(%r5)
@@ -83,7 +83,7 @@ foo:
        lngr    %r9,%r6
        lpgfr   %r9,%r6
        lpgr    %r9,%r6
-       lpq     %r9,4095(%r5,%r10)
+       lpq     %r8,4095(%r5,%r10)
        lpswe   4095(%r5)
        lrag    %r9,4095(%r5,%r10)
        lrvg    %r9,4095(%r5,%r10)
@@ -92,8 +92,8 @@ foo:
        ltgr    %r9,%r6
        lurag   %r9,%r6
        mghi    %r9,-32767
-       mlg     %r9,4095(%r5,%r10)
-       mlgr    %r9,%r6
+       mlg     %r8,4095(%r5,%r10)
+       mlgr    %r8,%r6
        msg     %r9,4095(%r5,%r10)
        msgf    %r9,4095(%r5,%r10)
        msgfr   %r9,%r6
index dede971..c31d04c 100644 (file)
@@ -18,8 +18,8 @@ Disassembly of section .text:
 .*:    e3 60 50 00 80 46 [      ]*bctg %r6,-524288\(%r5\)
 .*:    eb 69 50 00 80 44 [      ]*bxhg %r6,%r9,-524288\(%r5\)
 .*:    eb 69 50 00 80 45 [      ]*bxleg        %r6,%r9,-524288\(%r5\)
-.*:    eb 69 50 00 80 3e [      ]*cdsg %r6,%r9,-524288\(%r5\)
-.*:    eb 69 50 00 80 31 [      ]*cdsy %r6,%r9,-524288\(%r5\)
+.*:    eb 68 50 00 80 3e [      ]*cdsg %r6,%r8,-524288\(%r5\)
+.*:    eb 68 50 00 80 31 [      ]*cdsy %r6,%r8,-524288\(%r5\)
 .*:    e3 65 a0 00 80 20 [      ]*cg   %r6,-524288\(%r5,%r10\)
 .*:    e3 65 a0 00 80 30 [      ]*cgf  %r6,-524288\(%r5,%r10\)
 .*:    e3 65 a0 00 80 79 [      ]*chy  %r6,-524288\(%r5,%r10\)
@@ -83,7 +83,7 @@ Disassembly of section .text:
 .*:    e3 65 a0 00 80 0c [      ]*msg  %r6,-524288\(%r5,%r10\)
 .*:    e3 65 a0 00 80 1c [      ]*msgf %r6,-524288\(%r5,%r10\)
 .*:    e3 65 a0 00 80 51 [      ]*msy  %r6,-524288\(%r5,%r10\)
-.*:    eb 69 50 00 80 8e [      ]*mvclu        %r6,%r9,-524288\(%r5\)
+.*:    eb 68 50 00 80 8e [      ]*mvclu        %r6,%r8,-524288\(%r5\)
 .*:    eb ff 50 00 80 52 [      ]*mviy -524288\(%r5\),255
 .*:    e3 65 a0 00 80 80 [      ]*ng   %r6,-524288\(%r5,%r10\)
 .*:    eb ff 50 00 80 54 [      ]*niy  -524288\(%r5\),255
index db2dece..1bea8f2 100644 (file)
@@ -12,8 +12,8 @@ foo:
        bctg    %r6,-524288(%r5)
        bxhg    %r6,%r9,-524288(%r5)
        bxleg   %r6,%r9,-524288(%r5)
-       cdsg    %r6,%r9,-524288(%r5)
-       cdsy    %r6,%r9,-524288(%r5)
+       cdsg    %r6,%r8,-524288(%r5)
+       cdsy    %r6,%r8,-524288(%r5)
        cg      %r6,-524288(%r5,%r10)
        cgf     %r6,-524288(%r5,%r10)
        chy     %r6,-524288(%r5,%r10)
@@ -77,7 +77,7 @@ foo:
        msg     %r6,-524288(%r5,%r10)
        msgf    %r6,-524288(%r5,%r10)
        msy     %r6,-524288(%r5,%r10)
-       mvclu   %r6,%r9,-524288(%r5)
+       mvclu   %r6,%r8,-524288(%r5)
        mviy    -524288(%r5),255
        ng      %r6,-524288(%r5,%r10)
        niy     -524288(%r5),255
index 7fd79a0..5fd774f 100644 (file)
@@ -1,3 +1,7 @@
+2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * opcode/s390.h: Add S390_OPCODE_REG_EVEN flag.
+
 2011-05-17  Alan Modra  <amodra@gmail.com>
 
        PR ld/12760
index 2cbe5f5..122c60c 100644 (file)
@@ -147,4 +147,7 @@ extern const struct s390_operand s390_operands[];
    the instruction may be optional.  */
 #define S390_OPERAND_OPTIONAL 0x400
 
+/* The operand needs to be an even register number.  */
+#define S390_OPERAND_REG_EVEN 0x800
+
        #endif /* S390_H */
index ac5e82c..9fd9b23 100644 (file)
@@ -1,3 +1,10 @@
+2011-05-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * s390-opc.c: Add new instruction types marking register pair
+       operands.
+       * s390-opc.txt: Match instructions having register pair operands
+       to the new instruction types.
+
 2011-05-19  Nick Clifton  <nickc@redhat.com>
 
        * v850-opc.c (cmpf.[sd]): Reverse the order of the reg1 and reg2
index 2f1487d..8b544cf 100644 (file)
@@ -50,7 +50,7 @@ const struct s390_operand s390_operands[] =
 #define R_12   2                  /* GPR starting at position 12 */
   { 4, 12, S390_OPERAND_GPR },
 #define RO_12  3                 /* optional GPR starting at position 12 */
-  { 4, 12, S390_OPERAND_GPR|S390_OPERAND_OPTIONAL },
+  { 4, 12, S390_OPERAND_GPR | S390_OPERAND_OPTIONAL },
 #define R_16   4                  /* GPR starting at position 16 */
   { 4, 16, S390_OPERAND_GPR },
 #define R_20   5                  /* GPR starting at position 20 */
@@ -64,121 +64,157 @@ const struct s390_operand s390_operands[] =
 #define R_32   9                  /* GPR starting at position 32 */
   { 4, 32, S390_OPERAND_GPR },
 
+/* General purpose register pair operands.  */
+
+#define RE_8    10                  /* GPR starting at position 8 */
+  { 4, 8, S390_OPERAND_GPR | S390_OPERAND_REG_EVEN },
+#define RE_12   11                  /* GPR starting at position 12 */
+  { 4, 12, S390_OPERAND_GPR | S390_OPERAND_REG_EVEN },
+#define RE_16   12                  /* GPR starting at position 16 */
+  { 4, 16, S390_OPERAND_GPR | S390_OPERAND_REG_EVEN },
+#define RE_20   13                  /* GPR starting at position 20 */
+  { 4, 20, S390_OPERAND_GPR | S390_OPERAND_REG_EVEN },
+#define RE_24   14                  /* GPR starting at position 24 */
+  { 4, 24, S390_OPERAND_GPR | S390_OPERAND_REG_EVEN },
+#define RE_28   15                  /* GPR starting at position 28 */
+  { 4, 28, S390_OPERAND_GPR | S390_OPERAND_REG_EVEN },
+#define RE_32   16                  /* GPR starting at position 32 */
+  { 4, 32, S390_OPERAND_GPR | S390_OPERAND_REG_EVEN },
+
+
 /* Floating point register operands.  */
 
-#define F_8    10                 /* FPR starting at position 8 */
+#define F_8    17                 /* FPR starting at position 8 */
   { 4, 8, S390_OPERAND_FPR },
-#define F_12   11                 /* FPR starting at position 12 */
+#define F_12   18                 /* FPR starting at position 12 */
   { 4, 12, S390_OPERAND_FPR },
-#define F_16   12                 /* FPR starting at position 16 */
+#define F_16   19                 /* FPR starting at position 16 */
   { 4, 16, S390_OPERAND_FPR },
-#define F_20   13                 /* FPR starting at position 16 */
+#define F_20   20                 /* FPR starting at position 16 */
   { 4, 16, S390_OPERAND_FPR },
-#define F_24   14                 /* FPR starting at position 24 */
+#define F_24   21                 /* FPR starting at position 24 */
   { 4, 24, S390_OPERAND_FPR },
-#define F_28   15                 /* FPR starting at position 28 */
+#define F_28   22                 /* FPR starting at position 28 */
   { 4, 28, S390_OPERAND_FPR },
-#define F_32   16                 /* FPR starting at position 32 */
+#define F_32   23                 /* FPR starting at position 32 */
   { 4, 32, S390_OPERAND_FPR },
 
+/* Floating point register pair operands.  */
+
+#define FE_8    24                 /* FPR starting at position 8 */
+  { 4, 8, S390_OPERAND_FPR | S390_OPERAND_REG_EVEN },
+#define FE_12   25                 /* FPR starting at position 12 */
+  { 4, 12, S390_OPERAND_FPR | S390_OPERAND_REG_EVEN },
+#define FE_16   26                 /* FPR starting at position 16 */
+  { 4, 16, S390_OPERAND_FPR | S390_OPERAND_REG_EVEN },
+#define FE_20   27                 /* FPR starting at position 16 */
+  { 4, 16, S390_OPERAND_FPR | S390_OPERAND_REG_EVEN },
+#define FE_24   28                 /* FPR starting at position 24 */
+  { 4, 24, S390_OPERAND_FPR | S390_OPERAND_REG_EVEN },
+#define FE_28   29                 /* FPR starting at position 28 */
+  { 4, 28, S390_OPERAND_FPR | S390_OPERAND_REG_EVEN },
+#define FE_32   30                 /* FPR starting at position 32 */
+  { 4, 32, S390_OPERAND_FPR | S390_OPERAND_REG_EVEN },
+
+
 /* Access register operands.  */
 
-#define A_8    17                 /* Access reg. starting at position 8 */
+#define A_8    31                 /* Access reg. starting at position 8 */
   { 4, 8, S390_OPERAND_AR },
-#define A_12   18                 /* Access reg. starting at position 12 */
+#define A_12   32                 /* Access reg. starting at position 12 */
   { 4, 12, S390_OPERAND_AR },
-#define A_24   19                 /* Access reg. starting at position 24 */
+#define A_24   33                 /* Access reg. starting at position 24 */
   { 4, 24, S390_OPERAND_AR },
-#define A_28   20                 /* Access reg. starting at position 28 */
+#define A_28   34                 /* Access reg. starting at position 28 */
   { 4, 28, S390_OPERAND_AR },
 
 /* Control register operands.  */
 
-#define C_8    21                 /* Control reg. starting at position 8 */
+#define C_8    35                 /* Control reg. starting at position 8 */
   { 4, 8, S390_OPERAND_CR },
-#define C_12   22                 /* Control reg. starting at position 12 */
+#define C_12   36                 /* Control reg. starting at position 12 */
   { 4, 12, S390_OPERAND_CR },
 
 /* Base register operands.  */
 
-#define B_16   23                 /* Base register starting at position 16 */
-  { 4, 16, S390_OPERAND_BASE|S390_OPERAND_GPR },
-#define B_32   24                 /* Base register starting at position 32 */
-  { 4, 32, S390_OPERAND_BASE|S390_OPERAND_GPR },
+#define B_16   37                 /* Base register starting at position 16 */
+  { 4, 16, S390_OPERAND_BASE | S390_OPERAND_GPR },
+#define B_32   38                 /* Base register starting at position 32 */
+  { 4, 32, S390_OPERAND_BASE | S390_OPERAND_GPR },
 
-#define X_12   25                 /* Index register starting at position 12 */
-  { 4, 12, S390_OPERAND_INDEX|S390_OPERAND_GPR },
+#define X_12   39                 /* Index register starting at position 12 */
+  { 4, 12, S390_OPERAND_INDEX | S390_OPERAND_GPR },
 
 /* Address displacement operands.  */
 
-#define D_20   26                 /* Displacement starting at position 20 */
+#define D_20   40                 /* Displacement starting at position 20 */
   { 12, 20, S390_OPERAND_DISP },
-#define DO_20  27                 /* optional Displ. starting at position 20 */
-  { 12, 20, S390_OPERAND_DISP|S390_OPERAND_OPTIONAL },
-#define D_36   28                 /* Displacement starting at position 36 */
+#define DO_20  41                 /* optional Displ. starting at position 20 */
+  { 12, 20, S390_OPERAND_DISP | S390_OPERAND_OPTIONAL },
+#define D_36   42                 /* Displacement starting at position 36 */
   { 12, 36, S390_OPERAND_DISP },
-#define D20_20 29                /* 20 bit displacement starting at 20 */
-  { 20, 20, S390_OPERAND_DISP|S390_OPERAND_SIGNED },
+#define D20_20 43                /* 20 bit displacement starting at 20 */
+  { 20, 20, S390_OPERAND_DISP | S390_OPERAND_SIGNED },
 
 /* Length operands.  */
 
-#define L4_8   30                 /* 4 bit length starting at position 8 */
+#define L4_8   44                 /* 4 bit length starting at position 8 */
   { 4, 8, S390_OPERAND_LENGTH },
-#define L4_12  31                 /* 4 bit length starting at position 12 */
+#define L4_12  45                 /* 4 bit length starting at position 12 */
   { 4, 12, S390_OPERAND_LENGTH },
-#define L8_8   32                 /* 8 bit length starting at position 8 */
+#define L8_8   46                 /* 8 bit length starting at position 8 */
   { 8, 8, S390_OPERAND_LENGTH },
 
 /* Signed immediate operands.  */
 
-#define I8_8   33                /* 8 bit signed value starting at 8 */
+#define I8_8   47                /* 8 bit signed value starting at 8 */
   { 8, 8, S390_OPERAND_SIGNED },
-#define I8_32  34                /* 8 bit signed value starting at 32 */
+#define I8_32  48                /* 8 bit signed value starting at 32 */
   { 8, 32, S390_OPERAND_SIGNED },
-#define I16_16 35                 /* 16 bit signed value starting at 16 */
+#define I16_16 49                 /* 16 bit signed value starting at 16 */
   { 16, 16, S390_OPERAND_SIGNED },
-#define I16_32 36                 /* 16 bit signed value starting at 32 */
+#define I16_32 50                 /* 16 bit signed value starting at 32 */
   { 16, 32, S390_OPERAND_SIGNED },
-#define I32_16 37                /* 32 bit signed value starting at 16 */
+#define I32_16 51                /* 32 bit signed value starting at 16 */
   { 32, 16, S390_OPERAND_SIGNED },
 
 /* Unsigned immediate operands.  */
 
-#define U4_8   38                 /* 4 bit unsigned value starting at 8 */
+#define U4_8   52                 /* 4 bit unsigned value starting at 8 */
   { 4, 8, 0 },
-#define U4_12  39                 /* 4 bit unsigned value starting at 12 */
+#define U4_12  53                 /* 4 bit unsigned value starting at 12 */
   { 4, 12, 0 },
-#define U4_16  40                 /* 4 bit unsigned value starting at 16 */
+#define U4_16  54                 /* 4 bit unsigned value starting at 16 */
   { 4, 16, 0 },
-#define U4_20  41                 /* 4 bit unsigned value starting at 20 */
+#define U4_20  55                 /* 4 bit unsigned value starting at 20 */
   { 4, 20, 0 },
-#define U4_32  42                 /* 4 bit unsigned value starting at 32 */
+#define U4_32  56                 /* 4 bit unsigned value starting at 32 */
   { 4, 32, 0 },
-#define U8_8   43                 /* 8 bit unsigned value starting at 8 */
+#define U8_8   57                 /* 8 bit unsigned value starting at 8 */
   { 8, 8, 0 },
-#define U8_16  44                 /* 8 bit unsigned value starting at 16 */
+#define U8_16  58                 /* 8 bit unsigned value starting at 16 */
   { 8, 16, 0 },
-#define U8_24  45                 /* 8 bit unsigned value starting at 24 */
+#define U8_24  59                 /* 8 bit unsigned value starting at 24 */
   { 8, 24, 0 },
-#define U8_32  46                 /* 8 bit unsigned value starting at 32 */
+#define U8_32  60                 /* 8 bit unsigned value starting at 32 */
   { 8, 32, 0 },
-#define U16_16 47                 /* 16 bit unsigned value starting at 16 */
+#define U16_16 61                 /* 16 bit unsigned value starting at 16 */
   { 16, 16, 0 },
-#define U16_32 48                /* 16 bit unsigned value starting at 32 */
+#define U16_32 62                /* 16 bit unsigned value starting at 32 */
   { 16, 32, 0 },
-#define U32_16 49                /* 32 bit unsigned value starting at 16 */
+#define U32_16 63                /* 32 bit unsigned value starting at 16 */
   { 32, 16, 0 },
 
 /* PC-relative address operands.  */
 
-#define J16_16 50                 /* PC relative jump offset at 16 */
+#define J16_16 64                 /* PC relative jump offset at 16 */
   { 16, 16, S390_OPERAND_PCREL },
-#define J32_16 51                 /* PC relative long offset at 16 */
+#define J32_16 65                 /* PC relative long offset at 16 */
   { 32, 16, S390_OPERAND_PCREL },
 
 /* Conditional mask operands.  */
 
-#define M_16OPT   52              /* 4 bit optional mask starting at 16 */
+#define M_16OPT   66              /* 4 bit optional mask starting at 16 */
   { 4, 16, S390_OPERAND_OPTIONAL },
 
 };
@@ -204,10 +240,13 @@ const struct s390_operand s390_operands[] =
       c - control register
       d - displacement, 12 bit
       f - floating pointer register
+      fe - even numbered floating point register operand
       i - signed integer, 4, 8, 16 or 32 bit
       l - length, 4 or 8 bit
       p - pc relative
       r - general purpose register
+      ro - optional register operand
+      re - even numbered register operand
       u - unsigned integer, 4, 8, 16 or 32 bit
       m - mode field, 4 bit
       0 - operand skipped.
@@ -260,49 +299,78 @@ const struct s390_operand s390_operands[] =
 #define INSTR_RRE_AA     4, { A_24,A_28,0,0,0,0 }              /* e.g. cpya  */
 #define INSTR_RRE_AR     4, { A_24,R_28,0,0,0,0 }              /* e.g. sar   */
 #define INSTR_RRE_F0     4, { F_24,0,0,0,0,0 }                 /* e.g. sqer  */
+#define INSTR_RRE_FE0    4, { FE_24,0,0,0,0,0 }                /* e.g. lzxr  */
 #define INSTR_RRE_FF     4, { F_24,F_28,0,0,0,0 }              /* e.g. debr  */
+#define INSTR_RRE_FEF    4, { FE_24,F_28,0,0,0,0 }             /* e.g. lxdbr */
+#define INSTR_RRE_FFE    4, { F_24,FE_28,0,0,0,0 }             /* e.g. lexr  */
+#define INSTR_RRE_FEFE   4, { FE_24,FE_28,0,0,0,0 }            /* e.g. dxr   */
 #define INSTR_RRE_R0     4, { R_24,0,0,0,0,0 }                 /* e.g. ipm   */
 #define INSTR_RRE_RA     4, { R_24,A_28,0,0,0,0 }              /* e.g. ear   */
 #define INSTR_RRE_RF     4, { R_24,F_28,0,0,0,0 }              /* e.g. cefbr */
+#define INSTR_RRE_RFE    4, { R_24,FE_28,0,0,0,0 }             /* e.g. csxtr */
 #define INSTR_RRE_RR     4, { R_24,R_28,0,0,0,0 }              /* e.g. lura  */
+#define INSTR_RRE_RER    4, { RE_24,R_28,0,0,0,0 }             /* e.g. tre   */
+#define INSTR_RRE_RERE   4, { RE_24,RE_28,0,0,0,0 }            /* e.g. cuse  */
 #define INSTR_RRE_FR     4, { F_24,R_28,0,0,0,0 }              /* e.g. ldgr  */
+#define INSTR_RRE_FER    4, { FE_24,R_28,0,0,0,0 }             /* e.g. cxfbr */
 /* Actually efpc and sfpc do not take an optional operand.
    This is just a workaround for existing code e.g. glibc.  */
 #define INSTR_RRE_RR_OPT 4, { R_24,RO_28,0,0,0,0 }             /* efpc, sfpc */
 #define INSTR_RRF_F0FF   4, { F_16,F_24,F_28,0,0,0 }           /* e.g. madbr */
+#define INSTR_RRF_FE0FF  4, { F_16,F_24,F_28,0,0,0 }           /* e.g. myr */
 #define INSTR_RRF_F0FF2  4, { F_24,F_16,F_28,0,0,0 }           /* e.g. cpsdr */
 #define INSTR_RRF_F0FR   4, { F_24,F_16,R_28,0,0,0 }           /* e.g. iedtr */
+#define INSTR_RRF_FE0FER 4, { FE_24,FE_16,R_28,0,0,0 }         /* e.g. iextr */
 #define INSTR_RRF_FUFF   4, { F_24,F_16,F_28,U4_20,0,0 }       /* e.g. didbr */
+#define INSTR_RRF_FEUFEFE 4, { FE_24,FE_16,FE_28,U4_20,0,0 }   /* e.g. qaxtr */
 #define INSTR_RRF_FUFF2  4, { F_24,F_28,F_16,U4_20,0,0 }       /* e.g. adtra */
+#define INSTR_RRF_FEUFEFE2 4, { FE_24,FE_28,FE_16,U4_20,0,0 }  /* e.g. axtra */
 #define INSTR_RRF_RURR   4, { R_24,R_28,R_16,U4_20,0,0 }       /* e.g. .insn */
 #define INSTR_RRF_R0RR   4, { R_24,R_16,R_28,0,0,0 }           /* e.g. idte  */
 #define INSTR_RRF_R0RR2  4, { R_24,R_28,R_16,0,0,0 }           /* e.g. ark   */
 #define INSTR_RRF_U0FF   4, { F_24,U4_16,F_28,0,0,0 }          /* e.g. fixr  */
+#define INSTR_RRF_U0FEFE 4, { FE_24,U4_16,FE_28,0,0,0 }        /* e.g. fixbr */
 #define INSTR_RRF_U0RF   4, { R_24,U4_16,F_28,0,0,0 }          /* e.g. cfebr */
+#define INSTR_RRF_U0RFE  4, { R_24,U4_16,FE_28,0,0,0 }         /* e.g. cfxbr */
 #define INSTR_RRF_UUFF   4, { F_24,U4_16,F_28,U4_20,0,0 }      /* e.g. fidtr */
+#define INSTR_RRF_UUFFE  4, { F_24,U4_16,FE_28,U4_20,0,0 }     /* e.g. ldxtr */
+#define INSTR_RRF_UUFEFE 4, { FE_24,U4_16,FE_28,U4_20,0,0 }    /* e.g. fixtr */
 #define INSTR_RRF_0UFF   4, { F_24,F_28,U4_20,0,0,0 }          /* e.g. ldetr */
+#define INSTR_RRF_0UFEF  4, { F_24,FE_28,U4_20,0,0,0 }         /* e.g. lxdtr */
 #define INSTR_RRF_FFRU   4, { F_24,F_16,R_28,U4_20,0,0 }       /* e.g. rrdtr */
+#define INSTR_RRF_FEFERU 4, { FE_24,FE_16,R_28,U4_20,0,0 }     /* e.g. rrxtr */
 #define INSTR_RRF_M0RR   4, { R_24,R_28,M_16OPT,0,0,0 }        /* e.g. sske  */
+#define INSTR_RRF_M0RER  4, { RE_24,R_28,M_16OPT,0,0,0 }       /* e.g. trte  */
+#define INSTR_RRF_M0RERE 4, { RE_24,RE_28,M_16OPT,0,0,0 }      /* e.g. troo  */
 #define INSTR_RRF_U0RR   4, { R_24,R_28,U4_16,0,0,0 }          /* e.g. clrt  */
 #define INSTR_RRF_00RR   4, { R_24,R_28,0,0,0,0 }              /* e.g. clrtne */
 #define INSTR_RRF_UUFR   4, { F_24,U4_16,R_28,U4_20,0,0 }      /* e.g. cdgtra */
+#define INSTR_RRF_UUFER  4, { FE_24,U4_16,R_28,U4_20,0,0 }     /* e.g. cxfbra */
 #define INSTR_RRF_UURF   4, { R_24,U4_16,F_28,U4_20,0,0 }      /* e.g. cgdtra */
+#define INSTR_RRF_UURFE  4, { R_24,U4_16,FE_28,U4_20,0,0 }     /* e.g. cfxbra */
 #define INSTR_RR_0R      2, { R_12, 0,0,0,0,0 }                /* e.g. br    */
 #define INSTR_RR_0R_OPT  2, { RO_12, 0,0,0,0,0 }               /* e.g. nopr  */
 #define INSTR_RR_FF      2, { F_8,F_12,0,0,0,0 }               /* e.g. adr   */
+#define INSTR_RR_FEF     2, { FE_8,F_12,0,0,0,0 }              /* e.g. mxdr  */
+#define INSTR_RR_FFE     2, { F_8,FE_12,0,0,0,0 }              /* e.g. ldxr  */
+#define INSTR_RR_FEFE    2, { FE_8,FE_12,0,0,0,0 }             /* e.g. axr   */
 #define INSTR_RR_R0      2, { R_8, 0,0,0,0,0 }                 /* e.g. spm   */
 #define INSTR_RR_RR      2, { R_8,R_12,0,0,0,0 }               /* e.g. lr    */
+#define INSTR_RR_RER     2, { RE_8,R_12,0,0,0,0 }              /* e.g. dr    */
 #define INSTR_RR_U0      2, { U8_8, 0,0,0,0,0 }                /* e.g. svc   */
 #define INSTR_RR_UR      2, { U4_8,R_12,0,0,0,0 }              /* e.g. bcr   */
 #define INSTR_RRR_F0FF   4, { F_24,F_28,F_16,0,0,0 }           /* e.g. ddtr  */
+#define INSTR_RRR_FE0FEFE 4, { FE_24,FE_28,FE_16,0,0,0 }       /* e.g. axtr  */
 #define INSTR_RRS_RRRDU  6, { R_8,R_12,U4_32,D_20,B_16 }       /* e.g. crb   */
 #define INSTR_RRS_RRRD0  6, { R_8,R_12,D_20,B_16,0 }           /* e.g. crbne */
 #define INSTR_RSE_RRRD   6, { R_8,R_12,D_20,B_16,0,0 }         /* e.g. lmh   */
+#define INSTR_RSE_RERERD 6, { RE_8,RE_12,D_20,B_16,0,0 }       /* e.g. mvclu */
 #define INSTR_RSE_CCRD   6, { C_8,C_12,D_20,B_16,0,0 }         /* e.g. lmh   */
 #define INSTR_RSE_RURD   6, { R_8,U4_12,D_20,B_16,0,0 }        /* e.g. icmh  */
 #define INSTR_RSL_R0RD   6, { D_20,L4_8,B_16,0,0,0 }           /* e.g. tp    */
 #define INSTR_RSI_RRP    4, { R_8,R_12,J16_16,0,0,0 }          /* e.g. brxh  */
 #define INSTR_RSY_RRRD   6, { R_8,R_12,D20_20,B_16,0,0 }       /* e.g. stmy  */
+#define INSTR_RSY_RERERD 6, { RE_8,RE_12,D20_20,B_16,0,0 }     /* e.g. cdsy  */
 #define INSTR_RSY_RURD   6, { R_8,U4_12,D20_20,B_16,0,0 }      /* e.g. icmh  */
 #define INSTR_RSY_AARD   6, { A_8,A_12,D20_20,B_16,0,0 }       /* e.g. lamy  */
 #define INSTR_RSY_CCRD   6, { C_8,C_12,D20_20,B_16,0,0 }       /* e.g. lamy  */
@@ -311,19 +379,28 @@ const struct s390_operand s390_operands[] =
 #define INSTR_RS_AARD    4, { A_8,A_12,D_20,B_16,0,0 }         /* e.g. lam   */
 #define INSTR_RS_CCRD    4, { C_8,C_12,D_20,B_16,0,0 }         /* e.g. lctl  */
 #define INSTR_RS_R0RD    4, { R_8,D_20,B_16,0,0,0 }            /* e.g. sll   */
+#define INSTR_RS_RE0RD   4, { RE_8,D_20,B_16,0,0,0 }           /* e.g. slda  */
 #define INSTR_RS_RRRD    4, { R_8,R_12,D_20,B_16,0,0 }         /* e.g. cs    */
+#define INSTR_RS_RERERD  4, { RE_8,RE_12,D_20,B_16,0,0 }       /* e.g. cds   */
 #define INSTR_RS_RURD    4, { R_8,U4_12,D_20,B_16,0,0 }        /* e.g. icm   */
 #define INSTR_RXE_FRRD   6, { F_8,D_20,X_12,B_16,0,0 }         /* e.g. axbr  */
+#define INSTR_RXE_FERRD  6, { FE_8,D_20,X_12,B_16,0,0 }        /* e.g. lxdb  */
 #define INSTR_RXE_RRRD   6, { R_8,D_20,X_12,B_16,0,0 }         /* e.g. lg    */
+#define INSTR_RXE_RERRD  6, { RE_8,D_20,X_12,B_16,0,0 }        /* e.g. dsg   */
 #define INSTR_RXF_FRRDF  6, { F_32,F_8,D_20,X_12,B_16,0 }      /* e.g. madb  */
+#define INSTR_RXF_FRRDFE 6, { FE_32,F_8,D_20,X_12,B_16,0 }     /* e.g. my    */
+#define INSTR_RXF_FERRDFE 6, { FE_32,FE_8,D_20,X_12,B_16,0 }   /* e.g. slxt  */
 #define INSTR_RXF_RRRDR  6, { R_32,R_8,D_20,X_12,B_16,0 }      /* e.g. .insn */
 #define INSTR_RXY_RRRD   6, { R_8,D20_20,X_12,B_16,0,0 }       /* e.g. ly    */
+#define INSTR_RXY_RERRD  6, { RE_8,D20_20,X_12,B_16,0,0 }      /* e.g. dsg   */
 #define INSTR_RXY_FRRD   6, { F_8,D20_20,X_12,B_16,0,0 }       /* e.g. ley   */
 #define INSTR_RXY_URRD   6, { U4_8,D20_20,X_12,B_16,0,0 }      /* e.g. pfd   */
 #define INSTR_RX_0RRD    4, { D_20,X_12,B_16,0,0,0 }           /* e.g. be    */
 #define INSTR_RX_0RRD_OPT 4, { DO_20,X_12,B_16,0,0,0 }         /* e.g. nop   */
 #define INSTR_RX_FRRD    4, { F_8,D_20,X_12,B_16,0,0 }         /* e.g. ae    */
+#define INSTR_RX_FERRD   4, { FE_8,D_20,X_12,B_16,0,0 }        /* e.g. mxd   */
 #define INSTR_RX_RRRD    4, { R_8,D_20,X_12,B_16,0,0 }         /* e.g. l     */
+#define INSTR_RX_RERRD   4, { RE_8,D_20,X_12,B_16,0,0 }        /* e.g. d     */
 #define INSTR_RX_URRD    4, { U4_8,D_20,X_12,B_16,0,0 }        /* e.g. bc    */
 #define INSTR_SI_URD     4, { D_20,B_16,U8_8,0,0,0 }           /* e.g. cli   */
 #define INSTR_SIY_URD    6, { D20_20,B_16,U8_8,0,0,0 }         /* e.g. tmy   */
@@ -339,7 +416,8 @@ const struct s390_operand s390_operands[] =
 #define INSTR_SS_RRRDRD2 6, { R_8,D_20,B_16,R_12,D_36,B_32 }   /* e.g. plo   */
 #define INSTR_SS_RRRDRD3 6, { R_8,R_12,D_20,B_16,D_36,B_32 }   /* e.g. lmd   */
 #define INSTR_SSF_RRDRD  6, { D_20,B_16,D_36,B_32,R_8,0 }      /* e.g. mvcos */
-#define INSTR_SSF_RRDRD2 6, { R_8,D_20,B_16,D_36,B_32,0 }      /* e.g. lpd   */
+#define INSTR_SSF_RRDRD2 6, { R_8,D_20,B_16,D_36,B_32,0 }
+#define INSTR_SSF_RERDRD2 6, { RE_8,D_20,B_16,D_36,B_32,0 }    /* e.g. lpd   */
 #define INSTR_S_00       4, { 0,0,0,0,0,0 }                    /* e.g. hsch  */
 #define INSTR_S_RD       4, { D_20,B_16,0,0,0,0 }              /* e.g. lpsw  */
 
@@ -376,42 +454,70 @@ const struct s390_operand s390_operands[] =
 #define MASK_RRE_AA      { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
 #define MASK_RRE_AR      { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
 #define MASK_RRE_F0      { 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00 }
+#define MASK_RRE_FE0     { 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00 }
 #define MASK_RRE_FF      { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
+#define MASK_RRE_FEF     { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
+#define MASK_RRE_FFE     { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
+#define MASK_RRE_FEFE    { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
 #define MASK_RRE_R0      { 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00 }
 #define MASK_RRE_RA      { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
 #define MASK_RRE_RF      { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
+#define MASK_RRE_RFE     { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
 #define MASK_RRE_RR      { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
+#define MASK_RRE_RER     { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
+#define MASK_RRE_RERE    { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
 #define MASK_RRE_FR      { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
+#define MASK_RRE_FER     { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
 #define MASK_RRE_RR_OPT  { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
 #define MASK_RRF_F0FF    { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
+#define MASK_RRF_FE0FF   { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
 #define MASK_RRF_F0FF2   { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
 #define MASK_RRF_F0FR    { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
+#define MASK_RRF_FE0FER  { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
 #define MASK_RRF_FUFF    { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RRF_FEUFEFE { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RRF_FUFF2   { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RRF_FEUFEFE2 { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RRF_RURR    { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RRF_R0RR    { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RRF_R0RR2   { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RRF_U0FF    { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
+#define MASK_RRF_U0FEFE  { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
 #define MASK_RRF_U0RF    { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
+#define MASK_RRF_U0RFE   { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
 #define MASK_RRF_UUFF    { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RRF_UUFFE   { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RRF_UUFEFE  { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RRF_0UFF    { 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00 }
+#define MASK_RRF_0UFEF   { 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00 }
 #define MASK_RRF_FFRU    { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RRF_FEFERU  { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RRF_M0RR    { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
+#define MASK_RRF_M0RER   { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
+#define MASK_RRF_M0RERE  { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
 #define MASK_RRF_U0RR    { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
 #define MASK_RRF_00RR    { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
 #define MASK_RRF_UUFR    { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RRF_UUFER   { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RRF_UURF    { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RRF_UURFE   { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RR_0R       { 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RR_0R_OPT   { 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RR_FF       { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RR_FEF      { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RR_FFE      { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RR_FEFE     { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RR_R0       { 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RR_RR       { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RR_RER      { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RR_U0       { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RR_UR       { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RRR_F0FF    { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
+#define MASK_RRR_FE0FEFE { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
 #define MASK_RRS_RRRDU   { 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff }
 #define MASK_RRS_RRRD0   { 0xff, 0x00, 0x00, 0x00, 0xff, 0xff }
 #define MASK_RSE_RRRD    { 0xff, 0x00, 0x00, 0x00, 0xff, 0xff }
+#define MASK_RSE_RERERD  { 0xff, 0x00, 0x00, 0x00, 0xff, 0xff }
 #define MASK_RSE_CCRD    { 0xff, 0x00, 0x00, 0x00, 0xff, 0xff }
 #define MASK_RSE_RURD    { 0xff, 0x00, 0x00, 0x00, 0xff, 0xff }
 #define MASK_RSL_R0RD    { 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff }
@@ -419,25 +525,35 @@ const struct s390_operand s390_operands[] =
 #define MASK_RS_AARD     { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RS_CCRD     { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RS_R0RD     { 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RS_RE0RD    { 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RS_RRRD     { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RS_RERERD   { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RS_RURD     { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RSY_RRRD    { 0xff, 0x00, 0x00, 0x00, 0x00, 0xff }
+#define MASK_RSY_RERERD  { 0xff, 0x00, 0x00, 0x00, 0x00, 0xff }
 #define MASK_RSY_RURD    { 0xff, 0x00, 0x00, 0x00, 0x00, 0xff }
 #define MASK_RSY_AARD    { 0xff, 0x00, 0x00, 0x00, 0x00, 0xff }
 #define MASK_RSY_CCRD    { 0xff, 0x00, 0x00, 0x00, 0x00, 0xff }
 #define MASK_RSY_RDRM    { 0xff, 0x00, 0x00, 0x00, 0x00, 0xff }
 #define MASK_RSY_RDR0    { 0xff, 0x0f, 0x00, 0x00, 0x00, 0xff }
 #define MASK_RXE_FRRD    { 0xff, 0x00, 0x00, 0x00, 0xff, 0xff }
+#define MASK_RXE_FERRD   { 0xff, 0x00, 0x00, 0x00, 0xff, 0xff }
 #define MASK_RXE_RRRD    { 0xff, 0x00, 0x00, 0x00, 0xff, 0xff }
+#define MASK_RXE_RERRD   { 0xff, 0x00, 0x00, 0x00, 0xff, 0xff }
 #define MASK_RXF_FRRDF   { 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff }
+#define MASK_RXF_FRRDFE  { 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff }
+#define MASK_RXF_FERRDFE { 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff }
 #define MASK_RXF_RRRDR   { 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff }
 #define MASK_RXY_RRRD    { 0xff, 0x00, 0x00, 0x00, 0x00, 0xff }
+#define MASK_RXY_RERRD   { 0xff, 0x00, 0x00, 0x00, 0x00, 0xff }
 #define MASK_RXY_FRRD    { 0xff, 0x00, 0x00, 0x00, 0x00, 0xff }
 #define MASK_RXY_URRD    { 0xff, 0x00, 0x00, 0x00, 0x00, 0xff }
 #define MASK_RX_0RRD     { 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RX_0RRD_OPT { 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RX_FRRD     { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RX_FERRD    { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RX_RRRD     { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_RX_RERRD    { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_RX_URRD     { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_SI_URD      { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_SIY_URD     { 0xff, 0x00, 0x00, 0x00, 0x00, 0xff }
@@ -454,6 +570,7 @@ const struct s390_operand s390_operands[] =
 #define MASK_SS_RRRDRD3  { 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_SSF_RRDRD   { 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_SSF_RRDRD2  { 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00 }
+#define MASK_SSF_RERDRD2 { 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00 }
 #define MASK_S_00        { 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 }
 #define MASK_S_RD        { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }
 
index 4aa0da7..e612ca1 100644 (file)
@@ -16,7 +16,7 @@ fa ap SS_LLRDRD "add decimal" g5 esa,zarch
 3e aur RR_FF "add unnormalized (short)" g5 esa,zarch
 6e aw RX_FRRD "add unnormalized (long)" g5 esa,zarch
 2e awr RR_FF "add unnormalized (long)" g5 esa,zarch
-36 axr RR_FF "add normalized" g5 esa,zarch
+36 axr RR_FEFE "add normalized" g5 esa,zarch
 b240 bakr RRE_RR "branch and stack" g5 esa,zarch
 45 bal RX_RRRD "branch and link" g5 esa,zarch
 05 balr RR_RR "branch and link" g5 esa,zarch
@@ -34,7 +34,7 @@ b258 bsg RRE_RR "branch in subspace group" g5 esa,zarch
 59 c RX_RRRD "compare" g5 esa,zarch
 69 cd RX_FRRD "compare (long)" g5 esa,zarch
 29 cdr RR_FF "compare (long)" g5 esa,zarch
-bb cds RS_RRRD "compare double and swap" g5 esa,zarch
+bb cds RS_RERERD "compare double and swap" g5 esa,zarch
 79 ce RX_FRRD "compare (short)" g5 esa,zarch
 39 cer RR_FF "compare (short)" g5 esa,zarch
 b21a cfc S_RD "compare and form codeword" g5 esa,zarch
@@ -51,19 +51,19 @@ b24d cpya RRE_AA "copy access" g5 esa,zarch
 19 cr RR_RR "compare" g5 esa,zarch
 ba cs RS_RRRD "compare and swap" g5 esa,zarch
 b230 csch S_00 "clear subchannel" g5 esa,zarch
-b257 cuse RRE_RR "compare until substring equal" g5 esa,zarch
+b257 cuse RRE_RERE "compare until substring equal" g5 esa,zarch
 b250 csp RRE_RR "compare and swap and purge" g5 esa,zarch
 4f cvb RX_RRRD "convert to binary" g5 esa,zarch
 4e cvd RX_RRRD "convert to decimal" g5 esa,zarch
-5d d RX_RRRD "divide" g5 esa,zarch
+5d d RX_RERRD "divide" g5 esa,zarch
 6d dd RX_FRRD "divide (long)" g5 esa,zarch
 2d ddr RR_FF "divide (long)" g5 esa,zarch
 7d de RX_FRRD "divide (short)" g5 esa,zarch
 3d der RR_FF "divide (short)" g5 esa,zarch
 83 diag RS_RRRD "diagnose" g5 esa,zarch
 fd dp SS_LLRDRD "divide decimal" g5 esa,zarch
-1d dr RR_RR "divide" g5 esa,zarch
-b22d dxr RRE_FF "divide (ext.)" g5 esa,zarch
+1d dr RR_RER "divide" g5 esa,zarch
+b22d dxr RRE_FEFE "divide (ext.)" g5 esa,zarch
 b24f ear RRE_RA "extract access" g5 esa,zarch
 de ed SS_L0RDRD "edit" g5 esa,zarch
 df edmk SS_L0RDRD "edit and mark" g5 esa,zarch
@@ -107,15 +107,15 @@ b7 lctl RS_CCRD "load control" g5 esa,zarch
 82 lpsw S_RD "load PSW" g5 esa,zarch
 18 lr RR_RR "load" g5 esa,zarch
 b1 lra RX_RRRD "load real address" g5 esa,zarch
-25 ldxr RR_FF "load rounded (ext. to long)" g5 esa,zarch
-25 lrdr RR_FF "load rounded (ext. to long)" g5 esa,zarch
+25 ldxr RR_FFE "load rounded (ext. to long)" g5 esa,zarch
+25 lrdr RR_FFE "load rounded (ext. to long)" g5 esa,zarch
 35 ledr RR_FF "load rounded (long to short)" g5 esa,zarch
 35 lrer RR_FF "load rounded (long to short)" g5 esa,zarch
 22 ltdr RR_FF "load and test (long)" g5 esa,zarch
 32 lter RR_FF "load and test (short)" g5 esa,zarch
 12 ltr RR_RR "load and test" g5 esa,zarch
 b24b lura RRE_RR "load using real address" g5 esa,zarch
-5c m RX_RRRD "multiply" g5 esa,zarch
+5c m RX_RERRD "multiply" g5 esa,zarch
 af mc SI_URD "monitor call" g5 esa,zarch
 6c md RX_FRRD "multiply (long)" g5 esa,zarch
 2c mdr RR_FF "multiply (long)" g5 esa,zarch
@@ -125,7 +125,7 @@ af mc SI_URD "monitor call" g5 esa,zarch
 3c mer RR_FF "multiply (short to long)" g5 esa,zarch
 4c mh RX_RRRD "multiply halfword" g5 esa,zarch
 fc mp SS_LLRDRD "multiply decimal" g5 esa,zarch
-1c mr RR_RR "multiply" g5 esa,zarch
+1c mr RR_RER "multiply" g5 esa,zarch
 b232 msch S_RD "modify subchannel" g5 esa,zarch
 b247 msta RRE_R0 "modify stacked state" g5 esa,zarch
 d2 mvc SS_L0RDRD "move" g5 esa,zarch
@@ -142,9 +142,9 @@ f1 mvo SS_LLRDRD "move with offset" g5 esa,zarch
 b254 mvpg RRE_RR "move page" g5 esa,zarch
 b255 mvst RRE_RR "move string" g5 esa,zarch
 d3 mvz SS_L0RDRD "move zones" g5 esa,zarch
-67 mxd RX_FRRD "multiply (long to ext.)" g5 esa,zarch
-27 mxdr RR_FF "multiply (long to ext.)" g5 esa,zarch
-26 mxr RR_FF "multiply (ext.)" g5 esa,zarch
+67 mxd RX_FERRD "multiply (long to ext.)" g5 esa,zarch
+27 mxdr RR_FEF "multiply (long to ext.)" g5 esa,zarch
+26 mxr RR_FEFE "multiply (ext.)" g5 esa,zarch
 54 n RX_RRRD "AND" g5 esa,zarch
 d4 nc SS_L0RDRD "AND" g5 esa,zarch
 94 ni SI_URD "AND" g5 esa,zarch
@@ -179,8 +179,8 @@ b214 sie S_RD "start interpretive execution" g5 esa,zarch
 ae sigp RS_RRRD "signal processor" g5 esa,zarch
 5f sl RX_RRRD "subtract logical" g5 esa,zarch
 8b sla RS_R0RD "shift left single" g5 esa,zarch
-8f slda RS_R0RD "shift left double (long)" g5 esa,zarch
-8d sldl RS_R0RD "shift left double logical (long)" g5 esa,zarch
+8f slda RS_RE0RD "shift left double (long)" g5 esa,zarch
+8d sldl RS_RE0RD "shift left double logical (long)" g5 esa,zarch
 89 sll RS_R0RD "shift left single logical" g5 esa,zarch
 1f slr RR_RR "subtract logical" g5 esa,zarch
 fb sp SS_LLRDRD "subtract decimal" g5 esa,zarch
@@ -192,8 +192,8 @@ b244 sqdr RRE_FF "square root (long)" g5 esa,zarch
 b245 sqer RRE_FF "square root (short)" g5 esa,zarch
 1b sr RR_RR "subtract" g5 esa,zarch
 8a sra RS_R0RD "shift right single" g5 esa,zarch
-8e srda RS_R0RD "shift right double (long)" g5 esa,zarch
-8c srdl RS_R0RD "shift right double logical (long)" g5 esa,zarch
+8e srda RS_RE0RD "shift right double (long)" g5 esa,zarch
+8c srdl RS_RE0RD "shift right double logical (long)" g5 esa,zarch
 88 srl RS_R0RD "shift right single logical" g5 esa,zarch
 f0 srp SS_LIRDRD "shift and round decimal" g5 esa,zarch
 b25e srst RRE_RR "search string" g5 esa,zarch
@@ -227,7 +227,7 @@ b246 stura RRE_RR "store using real address" g5 esa,zarch
 0a svc RR_U0 "supervisor call" g5 esa,zarch
 6f sw RX_FRRD "subtract unnormalized (long)" g5 esa,zarch
 2f swr RR_FF "subtract unnormalized (long)" g5 esa,zarch
-37 sxr RR_FF "subtract normalized (ext.)" g5 esa,zarch
+37 sxr RR_FEFE "subtract normalized (ext.)" g5 esa,zarch
 b24c tar RRE_AR "test access" g5 esa,zarch
 b22c tb RRE_0R "test block" g5 esa,zarch
 91 tm SI_URD "test under mask" g5 esa,zarch
@@ -255,7 +255,7 @@ b241 cksm RRE_RR "checksum" g5 esa,zarch
 a70e chi RI_RI "compare halfword immediate" g5 esa,zarch
 a9 clcle RS_RRRD "compare logical long extended" g5 esa,zarch
 a708 lhi RI_RI "load halfword immediate" g5 esa,zarch
-a8 mvcle RS_RRRD "move long extended" g5 esa,zarch
+a8 mvcle RS_RERERD "move long extended" g5 esa,zarch
 a70c mhi RI_RI "multiply halfword immediate" g5 esa,zarch
 b252 msr RRE_RR "multiply single" g5 esa,zarch
 71 ms RX_RRRD "multiply single" g5 esa,zarch
@@ -271,12 +271,12 @@ a701 tml RI_RU "test under mask low" g5 esa,zarch
 47f0 b RX_0RRD "unconditional branch" g5 esa,zarch
 a704 j*8 RI_0P "conditional jump" g5 esa,zarch
 a7f4 j RI_0P "unconditional jump" g5 esa,zarch
-b34a axbr RRE_FF "add extended bfp" g5 esa,zarch
+b34a axbr RRE_FEFE "add extended bfp" g5 esa,zarch
 b31a adbr RRE_FF "add long bfp" g5 esa,zarch
 ed000000001a adb RXE_FRRD "add long bfp" g5 esa,zarch
 b30a aebr RRE_FF "add short bfp" g5 esa,zarch
 ed000000000a aeb RXE_FRRD "add short bfp" g5 esa,zarch
-b349 cxbr RRE_FF "compare extended bfp" g5 esa,zarch
+b349 cxbr RRE_FEFE "compare extended bfp" g5 esa,zarch
 b319 cdbr RRE_FF "compare long bfp" g5 esa,zarch
 ed0000000019 cdb RXE_FRRD "compare long bfp" g5 esa,zarch
 b309 cebr RRE_FF "compare short bfp" g5 esa,zarch
@@ -286,13 +286,13 @@ b318 kdbr RRE_FF "compare and signal long bfp" g5 esa,zarch
 ed0000000018 kdb RXE_FRRD "compare and signal long bfp" g5 esa,zarch
 b308 kebr RRE_FF "compare and signal short bfp" g5 esa,zarch
 ed0000000008 keb RXE_FRRD "compare and signal short bfp" g5 esa,zarch
-b396 cxfbr RRE_FR "convert from fixed 32 to extended bfp" g5 esa,zarch
+b396 cxfbr RRE_FER "convert from fixed 32 to extended bfp" g5 esa,zarch
 b395 cdfbr RRE_FR "convert from fixed 32 to long bfp" g5 esa,zarch
 b394 cefbr RRE_FR "convert from fixed 32 to short bfp" g5 esa,zarch
-b39a cfxbr RRF_U0RF "convert to fixed extended bfp to 32" g5 esa,zarch
+b39a cfxbr RRF_U0RFE "convert to fixed extended bfp to 32" g5 esa,zarch
 b399 cfdbr RRF_U0RF "convert to fixed long bfp to 32" g5 esa,zarch
 b398 cfebr RRF_U0RF "convert to fixed short bfp to 32" g5 esa,zarch
-b34d dxbr RRE_FF "divide extended bfp" g5 esa,zarch
+b34d dxbr RRE_FEFE "divide extended bfp" g5 esa,zarch
 b31d ddbr RRE_FF "divide long bfp" g5 esa,zarch
 ed000000001d ddb RXE_FRRD "divide long bfp" g5 esa,zarch
 b30d debr RRE_FF "divide short bfp" g5 esa,zarch
@@ -300,36 +300,36 @@ ed000000000d deb RXE_FRRD "divide short bfp" g5 esa,zarch
 b35b didbr RRF_FUFF "divide to integer long bfp" g5 esa,zarch
 b353 diebr RRF_FUFF "divide to integer short bfp" g5 esa,zarch
 b38c efpc RRE_RR_OPT "extract fpc" g5 esa,zarch
-b342 ltxbr RRE_FF "load and test extended bfp" g5 esa,zarch
+b342 ltxbr RRE_FEFE "load and test extended bfp" g5 esa,zarch
 b312 ltdbr RRE_FF "load and test long bfp" g5 esa,zarch
 b302 ltebr RRE_FF "load and test short bfp" g5 esa,zarch
-b343 lcxbr RRE_FF "load complement extended bfp" g5 esa,zarch
+b343 lcxbr RRE_FEFE "load complement extended bfp" g5 esa,zarch
 b313 lcdbr RRE_FF "load complement long bfp" g5 esa,zarch
 b303 lcebr RRE_FF "load complement short bfp" g5 esa,zarch
-b347 fixbr RRF_U0FF "load fp integer extended bfp" g5 esa,zarch
+b347 fixbr RRF_U0FEFE "load fp integer extended bfp" g5 esa,zarch
 b35f fidbr RRF_U0FF "load fp integer long bfp" g5 esa,zarch
 b357 fiebr RRF_U0FF "load fp integer short bfp" g5 esa,zarch
 b29d lfpc S_RD "load fpc" g5 esa,zarch
-b305 lxdbr RRE_FF "load lengthened long to extended bfp" g5 esa,zarch
-ed0000000005 lxdb RXE_FRRD "load lengthened long to extended bfp" g5 esa,zarch
-b306 lxebr RRE_FF "load lengthened short to extended bfp" g5 esa,zarch
-ed0000000006 lxeb RXE_FRRD "load lengthened short to extended bfp" g5 esa,zarch
+b305 lxdbr RRE_FEF "load lengthened long to extended bfp" g5 esa,zarch
+ed0000000005 lxdb RXE_FERRD "load lengthened long to extended bfp" g5 esa,zarch
+b306 lxebr RRE_FEF "load lengthened short to extended bfp" g5 esa,zarch
+ed0000000006 lxeb RXE_FERRD "load lengthened short to extended bfp" g5 esa,zarch
 b304 ldebr RRE_FF "load lengthened short to long bfp" g5 esa,zarch
 ed0000000004 ldeb RXE_FRRD "load lengthened short to long bfp" g5 esa,zarch
-b341 lnxbr RRE_FF "load negative extended bfp" g5 esa,zarch
+b341 lnxbr RRE_FEFE "load negative extended bfp" g5 esa,zarch
 b311 lndbr RRE_FF "load negative long bfp" g5 esa,zarch
 b301 lnebr RRE_FF "load negative short bfp" g5 esa,zarch
-b340 lpxbr RRE_FF "load positive extended bfp" g5 esa,zarch
+b340 lpxbr RRE_FEFE "load positive extended bfp" g5 esa,zarch
 b310 lpdbr RRE_FF "load positive long bfp" g5 esa,zarch
 b300 lpebr RRE_FF "load positive short bfp" g5 esa,zarch
-b345 ldxbr RRE_FF "load rounded extended to long bfp" g5 esa,zarch
-b346 lexbr RRE_FF "load rounded extended to short bfp" g5 esa,zarch
+b345 ldxbr RRE_FEFE "load rounded extended to long bfp" g5 esa,zarch
+b346 lexbr RRE_FEFE "load rounded extended to short bfp" g5 esa,zarch
 b344 ledbr RRE_FF "load rounded long to short bfp" g5 esa,zarch
-b34c mxbr RRE_FF "multiply extended bfp" g5 esa,zarch
+b34c mxbr RRE_FEFE "multiply extended bfp" g5 esa,zarch
 b31c mdbr RRE_FF "multiply long bfp" g5 esa,zarch
 ed000000001c mdb RXE_FRRD "multiply long bfp" g5 esa,zarch
-b307 mxdbr RRE_FF "multiply long to extended bfp" g5 esa,zarch
-ed0000000007 mxdb RXE_FRRD "multiply long to extended bfp" g5 esa,zarch
+b307 mxdbr RRE_FEF "multiply long to extended bfp" g5 esa,zarch
+ed0000000007 mxdb RXE_FERRD "multiply long to extended bfp" g5 esa,zarch
 b317 meebr RRE_FF "multiply short bfp" g5 esa,zarch
 ed0000000017 meeb RXE_FRRD "multiply short bfp" g5 esa,zarch
 b30c mdebr RRE_FF "multiply short to long bfp" g5 esa,zarch
@@ -344,22 +344,22 @@ b30f msebr RRF_F0FF "multiply and subtract short bfp" g5 esa,zarch
 ed000000000f mseb RXF_FRRDF "multiply and subtract short bfp" g5 esa,zarch
 b384 sfpc RRE_RR_OPT "set fpc" g5 esa,zarch
 b299 srnm S_RD "set rounding mode" g5 esa,zarch
-b316 sqxbr RRE_FF "square root extended bfp" g5 esa,zarch
+b316 sqxbr RRE_FEFE "square root extended bfp" g5 esa,zarch
 b315 sqdbr RRE_FF "square root long bfp" g5 esa,zarch
 ed0000000015 sqdb RXE_FRRD "square root long bfp" g5 esa,zarch
 b314 sqebr RRE_FF "square root short bfp" g5 esa,zarch
 ed0000000014 sqeb RXE_FRRD "square root short bfp" g5 esa,zarch
 b29c stfpc S_RD "store fpc" g5 esa,zarch
-b34b sxbr RRE_FF "subtract extended bfp" g5 esa,zarch
+b34b sxbr RRE_FEFE "subtract extended bfp" g5 esa,zarch
 b31b sdbr RRE_FF "subtract long bfp" g5 esa,zarch
 ed000000001b sdb RXE_FRRD "subtract long bfp" g5 esa,zarch
 b30b sebr RRE_FF "subtract short bfp" g5 esa,zarch
 ed000000000b seb RXE_FRRD "subtract short bfp" g5 esa,zarch
-ed0000000012 tcxb RXE_FRRD "test data class extended bfp" g5 esa,zarch
+ed0000000012 tcxb RXE_FERRD "test data class extended bfp" g5 esa,zarch
 ed0000000011 tcdb RXE_FRRD "test data class long bfp" g5 esa,zarch
 ed0000000010 tceb RXE_FRRD "test data class short bfp" g5 esa,zarch
 b274 siga S_RD "signal adapter" g5 esa,zarch
-b2a6 cuutf RRE_RR "convert unicode to utf-8" g5 esa,zarch
+b2a6 cuutf RRE_RERE "convert unicode to utf-8" g5 esa,zarch
 b2a7 cutfu RRE_RR "convert utf-8 to unicode" g5 esa,zarch
 ee plo SS_RRRDRD2 "perform locked operation" g5 esa,zarch
 b25a bsa RRE_RR "branch and set authority" g5 esa,zarch
@@ -369,14 +369,14 @@ b27d stsi S_RD "store system information" g5 esa,zarch
 01ff trap2 E "trap" g5 esa,zarch
 b2ff trap4 S_RD "trap4" g5 esa,zarch
 b278 stcke S_RD "store clock extended" g5 esa,zarch
-b2a5 tre RRE_RR "translate extended" g5 esa,zarch
-eb000000008e mvclu RSE_RRRD "move long unicode" g5 esa,zarch
+b2a5 tre RRE_RER "translate extended" g5 esa,zarch
+eb000000008e mvclu RSE_RERERD "move long unicode" g5 esa,zarch
 e9 pka SS_L2RDRD "pack ascii" g5 esa,zarch
 e1 pku SS_L0RDRD "pack unicode" g5 esa,zarch
-b993 troo RRE_RR "translate one to one" g5 esa,zarch
-b992 trot RRE_RR "translate one to two" g5 esa,zarch
-b991 trto RRE_RR "translate two to one" g5 esa,zarch
-b990 trtt RRE_RR "translate two to two" g5 esa,zarch
+b993 troo RRE_RER "translate one to one" g5 esa,zarch
+b992 trot RRE_RER "translate one to two" g5 esa,zarch
+b991 trto RRE_RER "translate two to one" g5 esa,zarch
+b990 trtt RRE_RER "translate two to two" g5 esa,zarch
 ea unpka SS_L0RDRD "unpack ascii" g5 esa,zarch
 e2 unpku SS_L0RDRD "unpack unicode" g5 esa,zarch
 b358 thder RRE_FF "convert short bfp to long hfp" g5 esa,zarch
@@ -385,7 +385,7 @@ b350 tbedr RRF_U0FF "convert long hfp to short bfp" g5 esa,zarch
 b351 tbdr RRF_U0FF "convert long hfp to long bfp" g5 esa,zarch
 b374 lzer RRE_F0 "load short zero" g5 esa,zarch
 b375 lzdr RRE_F0 "load long zero" g5 esa,zarch
-b376 lzxr RRE_F0 "load extended zero" g5 esa,zarch
+b376 lzxr RRE_FE0 "load extended zero" g5 esa,zarch
 # Here are the new esame instructions:
 b946 bctgr RRE_RR "branch on count 64" z900 zarch
 b900 lpgr RRE_RR "load positive 64" z900 zarch
@@ -456,7 +456,7 @@ e50000000002 strag SSE_RDRD "store read address" z900 zarch
 eb0000000025 stctg RSE_CCRD "store control 64" z900 zarch
 eb000000002f lctlg RSE_CCRD "load control 64" z900 zarch
 eb0000000030 csg RSE_RRRD "compare and swap 64" z900 zarch
-eb000000003e cdsg RSE_RRRD "compare double and swap 64" z900 zarch
+eb000000003e cdsg RSE_RERERD "compare double and swap 64" z900 zarch
 eb0000000020 clmh RSE_RURD "compare logical characters under mask high" z900 zarch
 eb000000002c stcmh RSE_RURD "store characters under mask high" z900 zarch
 eb0000000080 icmh RSE_RURD "insert characters under mask high" z900 zarch
@@ -478,16 +478,16 @@ b90c msgr RRE_RR "multiply single 64" z900 zarch
 b91c msgfr RRE_RR "multiply single 64<32" z900 zarch
 b3a4 cegbr RRE_FR "convert from fixed 64 to short bfp" z900 zarch
 b3a5 cdgbr RRE_FR "convert from fixed 64 to long bfp" z900 zarch
-b3a6 cxgbr RRE_FR "convert from fixed 64 to extended bfp" z900 zarch
+b3a6 cxgbr RRE_FER "convert from fixed 64 to extended bfp" z900 zarch
 b3a8 cgebr RRF_U0RF "convert to fixed short bfd to 64" z900 zarch
 b3a9 cgdbr RRF_U0RF "convert to fixed long bfp to 64" z900 zarch
-b3aa cgxbr RRF_U0RF "convert to fixed extended bfp to 64" z900 zarch
+b3aa cgxbr RRF_U0RFE "convert to fixed extended bfp to 64" z900 zarch
 b3c4 cegr RRE_FR "convert from fixed 64 to short hfp" z900 zarch
 b3c5 cdgr RRE_FR "convert from fixed 64 to long hfp" z900 zarch
-b3c6 cxgr RRE_FR "convert from fixed 64 to extended hfp" z900 zarch
+b3c6 cxgr RRE_FER "convert from fixed 64 to extended hfp" z900 zarch
 b3c8 cger RRF_U0RF "convert to fixed short hfp to 64" z900 zarch
 b3c9 cgdr RRF_U0RF "convert to fixed long hfp to 64" z900 zarch
-b3ca cgxr RRF_U0RF "convert to fixed extended hfp to 64" z900 zarch
+b3ca cgxr RRF_U0RFE "convert to fixed extended hfp to 64" z900 zarch
 010b tam E "test addressing mode" z900 esa,zarch
 010c sam24 E "set addressing mode 24" z900 esa,zarch
 010d sam31 E "set addressing mode 31" z900 esa,zarch
@@ -510,41 +510,41 @@ a50e llilh RI_RU "load logical immediate low high" z900 zarch
 a50f llill RI_RU "load logical immediate low low" z900 zarch
 b2b1 stfl S_RD "store facility list" z900 esa,zarch
 b2b2 lpswe S_RD "load psw extended" z900 zarch
-b90d dsgr RRE_RR "divide single 64" z900 zarch
+b90d dsgr RRE_RER "divide single 64" z900 zarch
 b90f lrvgr RRE_RR "load reversed 64" z900 zarch
 b916 llgfr RRE_RR "load logical 64<32" z900 zarch
 b917 llgtr RRE_RR "load logical thirty one bits" z900 zarch
-b91d dsgfr RRE_RR "divide single 64<32" z900 zarch
+b91d dsgfr RRE_RER "divide single 64<32" z900 zarch
 b91f lrvr RRE_RR "load reversed 32" z900 esa,zarch
-b986 mlgr RRE_RR "multiply logical 64" z900 zarch
-b987 dlgr RRE_RR "divide logical 64" z900 zarch
+b986 mlgr RRE_RER "multiply logical 64" z900 zarch
+b987 dlgr RRE_RER "divide logical 64" z900 zarch
 b988 alcgr RRE_RR "add logical with carry 64" z900 zarch
 b989 slbgr RRE_RR "subtract logical with borrow 64" z900 zarch
 b98d epsw RRE_RR "extract psw" z900 esa,zarch
-b996 mlr RRE_RR "multiply logical 32" z900 esa,zarch
-b997 dlr RRE_RR "divide logical 32" z900 esa,zarch
+b996 mlr RRE_RER "multiply logical 32" z900 esa,zarch
+b997 dlr RRE_RER "divide logical 32" z900 esa,zarch
 b998 alcr RRE_RR "add logical with carry 32" z900 esa,zarch
 b999 slbr RRE_RR "subtract logical with borrow 32" z900 esa,zarch
 b99d esea RRE_R0 "extract and set extended authority" z900 zarch
 c000 larl RIL_RP "load address relative long" z900 esa,zarch
-e3000000000d dsg RXE_RRRD "divide single 64" z900 zarch
+e3000000000d dsg RXE_RERRD "divide single 64" z900 zarch
 e3000000000f lrvg RXE_RRRD "load reversed 64" z900 zarch
 e30000000016 llgf RXE_RRRD "load logical 64<32" z900 zarch
 e30000000017 llgt RXE_RRRD "load logical thirty one bits" z900 zarch
-e3000000001d dsgf RXE_RRRD "divide single 64<32" z900 zarch
+e3000000001d dsgf RXE_RERRD "divide single 64<32" z900 zarch
 e3000000001e lrv RXE_RRRD "load reversed 32" z900 esa,zarch
 e3000000001f lrvh RXE_RRRD "load reversed 16" z900 esa,zarch
 e3000000002f strvg RXE_RRRD "store reversed 64" z900 zarch
 e3000000003e strv RXE_RRRD "store reversed 32" z900 esa,zarch
 e3000000003f strvh RXE_RRRD "store reversed 64" z900 esa,zarch
-e30000000086 mlg RXE_RRRD "multiply logical 64" z900 zarch
-e30000000087 dlg RXE_RRRD "divide logical 64" z900 zarch
+e30000000086 mlg RXE_RERRD "multiply logical 64" z900 zarch
+e30000000087 dlg RXE_RERRD "divide logical 64" z900 zarch
 e30000000088 alcg RXE_RRRD "add logical with carry 64" z900 zarch
 e30000000089 slbg RXE_RRRD "subtract logical with borrow 64" z900 zarch
 e3000000008e stpq RXE_RRRD "store pair to quadword" z900 zarch
-e3000000008f lpq RXE_RRRD "load pair from quadword" z900 zarch
-e30000000096 ml RXE_RRRD "multiply logical 32" z900 esa,zarch
-e30000000097 dl RXE_RRRD "divide logical 32" z900 esa,zarch
+e3000000008f lpq RXE_RERRD "load pair from quadword" z900 zarch
+e30000000096 ml RXE_RERRD "multiply logical 32" z900 esa,zarch
+e30000000097 dl RXE_RERRD "divide logical 32" z900 esa,zarch
 e30000000098 alc RXE_RRRD "add logical with carry 32" z900 esa,zarch
 e30000000099 slb RXE_RRRD "subtract logical with borrow 32" z900 esa,zarch
 e30000000090 llgc RXE_RRRD "load logical character" z900 zarch
@@ -552,34 +552,34 @@ e30000000091 llgh RXE_RRRD "load logical halfword" z900 zarch
 eb000000001c rllg RSE_RRRD "rotate left single logical 64" z900 zarch
 eb000000001d rll RSE_RRRD "rotate left single logical 32" z900 esa,zarch
 b369 cxr RRE_FF "compare extended hfp" g5 esa,zarch
-b3b6 cxfr RRE_FR "convert from fixed 32 to extended hfp" g5 esa,zarch
+b3b6 cxfr RRE_FER "convert from fixed 32 to extended hfp" g5 esa,zarch
 b3b5 cdfr RRE_FR "convert from fixed 32 to long hfp" g5 esa,zarch
 b3b4 cefr RRE_FR "convert from fixed 32 to short hfp" g5 esa,zarch
-b3ba cfxr RRF_U0RF "convert to fixed extended hfp to 32" g5 esa,zarch
+b3ba cfxr RRF_U0RFE "convert to fixed extended hfp to 32" g5 esa,zarch
 b3b9 cfdr RRF_U0RF "convert to fixed long hfp to 32" g5 esa,zarch
 b3b8 cfer RRF_U0RF "convert to fixed short hfp to 32" g5 esa,zarch
-b362 ltxr RRE_FF "load and test extended hfp" g5 esa,zarch
-b363 lcxr RRE_FF "load complement extended hfp" g5 esa,zarch
-b367 fixr RRE_FF "load fp integer extended hfp" g5 esa,zarch
+b362 ltxr RRE_FEFE "load and test extended hfp" g5 esa,zarch
+b363 lcxr RRE_FEFE "load complement extended hfp" g5 esa,zarch
+b367 fixr RRE_FEFE "load fp integer extended hfp" g5 esa,zarch
 b37f fidr RRE_FF "load fp integer long hfp" g5 esa,zarch
 b377 fier RRE_FF "load fp integer short hfp" g5 esa,zarch
-b325 lxdr RRE_FF "load lengthened long to extended hfp" g5 esa,zarch
-ed0000000025 lxd RXE_FRRD "load lengthened long to extended hfp" g5 esa,zarch
-b326 lxer RRE_FF "load lengthened short to extended hfp" g5 esa,zarch
-ed0000000026 lxe RXE_FRRD "load lengthened short to extended hfp" g5 esa,zarch
+b325 lxdr RRE_FEF "load lengthened long to extended hfp" g5 esa,zarch
+ed0000000025 lxd RXE_FERRD "load lengthened long to extended hfp" g5 esa,zarch
+b326 lxer RRE_FEF "load lengthened short to extended hfp" g5 esa,zarch
+ed0000000026 lxe RXE_FERRD "load lengthened short to extended hfp" g5 esa,zarch
 b324 lder RRE_FF "load lengthened short to long hfp" g5 esa,zarch
 ed0000000024 lde RXE_FRRD "load lengthened short to long hfp" g5 esa,zarch
-b361 lnxr RRE_FF "load negative long hfp" g5 esa,zarch
-b360 lpxr RRE_FF "load positive long hfp" g5 esa,zarch
-b366 lexr RRE_FF "load rounded extended to short hfp" g5 esa,zarch
+b361 lnxr RRE_FEFE "load negative extended hfp" g5 esa,zarch
+b360 lpxr RRE_FEFE "load positive extended hfp" g5 esa,zarch
+b366 lexr RRE_FFE "load rounded extended to short hfp" g5 esa,zarch
 b337 meer RRE_FF "multiply short hfp" g5 esa,zarch
 ed0000000037 mee RXE_FRRD "multiply short hfp" g5 esa,zarch
-b336 sqxr RRE_FF "square root extended hfp" g5 esa,zarch
+b336 sqxr RRE_FEFE "square root extended hfp" g5 esa,zarch
 ed0000000034 sqe RXE_FRRD "square root short hfp" g5 esa,zarch
 ed0000000035 sqd RXE_FRRD "square root long hfp" g5 esa,zarch
 b263 cmpsc RRE_RR "compression call" g5 esa,zarch
 eb00000000c0 tp RSL_R0RD "test decimal" g5 esa,zarch
-b365 lxr RRE_FF "load extended fp" g5 esa,zarch
+b365 lxr RRE_FEFE "load extended fp" g5 esa,zarch
 b22e pgin RRE_RR "page in" g5 esa,zarch
 b22f pgout RRE_RR "page out" g5 esa,zarch
 b276 xsch S_00 "cancel subchannel" g5 esa,zarch
@@ -591,7 +591,7 @@ eb0000000054 niy SIY_URD "and immediate with long offset" z990 zarch
 e30000000054 ny RXY_RRRD "and with long offset" z990 zarch
 e30000000059 cy RXY_RRRD "compare with long offset" z990 zarch
 eb0000000014 csy RSY_RRRD "compare and swap with long offset" z990 zarch
-eb0000000031 cdsy RSY_RRRD "compare double and swap with long offset" z990 zarch
+eb0000000031 cdsy RSY_RERERD "compare double and swap with long offset" z990 zarch
 e30000000079 chy RXY_RRRD "compare halfword with long offset" z990 zarch
 e30000000055 cly RXY_RRRD "compare logical with long offset" z990 zarch
 eb0000000055 cliy SIY_URD "compare logical immediate with long offset" z990 zarch
@@ -637,7 +637,7 @@ e30000000009 sg RXY_RRRD "subtract with long offset 64" z990 zarch
 e3000000000a alg RXY_RRRD "add logical with long offset 64" z990 zarch
 e3000000000b slg RXY_RRRD "subtract logical with long offset 64" z990 zarch
 e3000000000c msg RXY_RRRD "multiply single with long offset 64" z990 zarch
-e3000000000d dsg RXY_RRRD "divide single 64" z990 zarch
+e3000000000d dsg RXY_RERRD "divide single 64" z990 zarch
 e3000000000e cvbg RXY_RRRD "convert to binary with long offset 64" z990 zarch
 e3000000000f lrvg RXY_RRRD "load reversed 64" z990 zarch
 e30000000014 lgf RXY_RRRD "load 64<32" z990 zarch
@@ -649,7 +649,7 @@ e30000000019 sgf RXY_RRRD "subtract with long offset 64<32" z990 zarch
 e3000000001a algf RXY_RRRD "add logical with long offset 64<32" z990 zarch
 e3000000001b slgf RXY_RRRD "subtract logical with long offset 64<32" z990 zarch
 e3000000001c msgf RXY_RRRD "multiply single with long offset 64<32" z990 zarch
-e3000000001d dsgf RXY_RRRD "divide single 64<32" z990 zarch
+e3000000001d dsgf RXY_RERRD "divide single 64<32" z990 zarch
 e3000000001e lrv RXY_RRRD "load reversed 32" z990 esa,zarch
 e3000000001f lrvh RXY_RRRD "load reversed 16" z990 esa,zarch
 e30000000020 cg RXY_RRRD "compare with long offset 64" z990 zarch
@@ -665,16 +665,16 @@ e30000000046 bctg RXY_RRRD "branch on count 64" z990 zarch
 e30000000080 ng RXY_RRRD "and with long offset 64" z990 zarch
 e30000000081 og RXY_RRRD "or with long offset 64" z990 zarch
 e30000000082 xg RXY_RRRD "exclusive or with long offset 64" z990 zarch
-e30000000086 mlg RXY_RRRD "multiply logical 64" z990 zarch
-e30000000087 dlg RXY_RRRD "divide logical 64" z990 zarch
+e30000000086 mlg RXY_RERRD "multiply logical 64" z990 zarch
+e30000000087 dlg RXY_RERRD "divide logical 64" z990 zarch
 e30000000088 alcg RXY_RRRD "add logical with carry 64" z990 zarch
 e30000000089 slbg RXY_RRRD "subtract logical with borrow 64" z990 zarch
 e3000000008e stpq RXY_RRRD "store pair to quadword" z990 zarch
-e3000000008f lpq RXY_RRRD "load pair from quadword" z990 zarch
+e3000000008f lpq RXY_RERRD "load pair from quadword" z990 zarch
 e30000000090 llgc RXY_RRRD "load logical character" z990 zarch
 e30000000091 llgh RXY_RRRD "load logical halfword" z990 zarch
-e30000000096 ml RXY_RRRD "multiply logical 32" z990 esa,zarch
-e30000000097 dl RXY_RRRD "divide logical 32" z990 esa,zarch
+e30000000096 ml RXY_RERRD "multiply logical 32" z990 esa,zarch
+e30000000097 dl RXY_RERRD "divide logical 32" z990 esa,zarch
 e30000000098 alc RXY_RRRD "add logical with carry 32" z990 esa,zarch
 e30000000099 slb RXY_RRRD "subtract logical with borrow 32" z990 esa,zarch
 eb0000000004 lmg RSY_RRRD "load multiple with long offset 64" z990 zarch
@@ -692,11 +692,11 @@ eb0000000026 stmh RSY_RRRD "store multiple high" z990 zarch
 eb000000002c stcmh RSY_RURD "store characters under mask high with long offset" z990 zarch
 eb000000002f lctlg RSY_CCRD "load control 64" z990 zarch
 eb0000000030 csg RSY_RRRD "compare and swap with long offset 64" z990 zarch
-eb000000003e cdsg RSY_RRRD "compare double and swap with long offset 64" z990 zarch
+eb000000003e cdsg RSY_RERERD "compare double and swap with long offset 64" z990 zarch
 eb0000000044 bxhg RSY_RRRD "branch on index high 64" z990 zarch
 eb0000000045 bxleg RSY_RRRD "branch on index low or equal 64" z990 zarch
 eb0000000080 icmh RSY_RURD "insert characters under mask high with long offset" z990 zarch
-eb000000008e mvclu RSY_RRRD "move long unicode" z990 esa,zarch
+eb000000008e mvclu RSY_RERERD "move long unicode" z990 esa,zarch
 eb000000008f clclu RSY_RRRD "compare logical long unicode with long offset" z990 esa,zarch
 eb0000000096 lmh RSY_RRRD "load multiple high" z990 zarch
 # new z990 instructions
@@ -763,26 +763,26 @@ b9aa lptea RRF_RURR "load page-table-entry address" z9-109 zarch
 # z9-109 conditional sske facility, sske instruction entered twice
 b22b sske RRF_M0RR "set storage key extended" z9-109 zarch
 # z9-109 etf2-enhancement facility, instructions entered twice
-b993 troo RRF_M0RR "translate one to one" z9-109 esa,zarch
-b992 trot RRF_M0RR "translate one to two" z9-109 esa,zarch
-b991 trto RRF_M0RR "translate two to one" z9-109 esa,zarch
-b990 trtt RRF_M0RR "translate two to two" z9-109 esa,zarch
+b993 troo RRF_M0RERE "translate one to one" z9-109 esa,zarch
+b992 trot RRF_M0RERE "translate one to two" z9-109 esa,zarch
+b991 trto RRF_M0RERE "translate two to one" z9-109 esa,zarch
+b990 trtt RRF_M0RERE "translate two to two" z9-109 esa,zarch
 # z9-109 etf3-enhancement facility, some instructions entered twice
-b9b1 cu24 RRF_M0RR "convert utf-16 to utf-32" z9-109 zarch
-b2a6 cu21 RRF_M0RR "convert utf-16 to utf-8" z9-109 zarch
-b2a6 cuutf RRF_M0RR "convert unicode to utf-8" z9-109 zarch
-b9b3 cu42 RRE_RR "convert utf-32 to utf-16" z9-109 zarch
-b9b2 cu41 RRE_RR "convert utf-32 to utf-8" z9-109 zarch
-b2a7 cu12 RRF_M0RR "convert utf-8 to utf-16" z9-109 zarch
-b2a7 cutfu RRF_M0RR "convert utf-8 to unicode" z9-109 zarch
-b9b0 cu14 RRF_M0RR "convert utf-8 to utf-32" z9-109 zarch
+b9b1 cu24 RRF_M0RERE "convert utf-16 to utf-32" z9-109 zarch
+b2a6 cu21 RRF_M0RERE "convert utf-16 to utf-8" z9-109 zarch
+b2a6 cuutf RRF_M0RERE "convert unicode to utf-8" z9-109 zarch
+b9b3 cu42 RRE_RERE "convert utf-32 to utf-16" z9-109 zarch
+b9b2 cu41 RRE_RERE "convert utf-32 to utf-8" z9-109 zarch
+b2a7 cu12 RRF_M0RERE "convert utf-8 to utf-16" z9-109 zarch
+b2a7 cutfu RRF_M0RERE "convert utf-8 to unicode" z9-109 zarch
+b9b0 cu14 RRF_M0RERE "convert utf-8 to utf-32" z9-109 zarch
 b9eb srstu RRE_RR "search string unicode" z9-109 zarch
 d0 trtr SS_L0RDRD "tranlate and test reverse" z9-109 zarch
 # z9-109 unnormalized hfp multiply & multiply and add
-b33b myr RRF_F0FF "multiply unnormalized long hfp" z9-109 zarch
+b33b myr RRF_FE0FF "multiply unnormalized long hfp" z9-109 zarch
 b33d myhr RRF_F0FF "multiply unnormalized long hfp high" z9-109 zarch
 b339 mylr RRF_F0FF "multiply unnormalized long hfp low" z9-109 zarch
-ed000000003b my RXF_FRRDF "multiply unnormalized long hfp" z9-109 zarch
+ed000000003b my RXF_FRRDFE "multiply unnormalized long hfp" z9-109 zarch
 ed000000003d myh RXF_FRRDF "multiply unnormalized long hfp high" z9-109 zarch
 ed0000000039 myl RXF_FRRDF "multiply unnormalized long hfp low" z9-109 zarch
 b33a mayr RRF_F0FF "multiply and add unnormalized long hfp" z9-109 zarch
@@ -798,62 +798,62 @@ b373 lcdfr RRE_FF "load complement no cc" z9-ec zarch
 b3c1 ldgr RRE_FR "load fpr from gr" z9-ec zarch
 b3cd lgdr RRE_RF "load gr from fpr" z9-ec zarch
 b3d2 adtr RRR_F0FF "add long dfp" z9-ec zarch
-b3da axtr RRR_F0FF "add extended dfp" z9-ec zarch
+b3da axtr RRR_FE0FEFE "add extended dfp" z9-ec zarch
 b3e4 cdtr RRE_FF "compare long dfp" z9-ec zarch
-b3ec cxtr RRE_FF "compare extended dfp" z9-ec zarch
+b3ec cxtr RRE_FEFE "compare extended dfp" z9-ec zarch
 b3e0 kdtr RRE_FF "compare and signal long dfp" z9-ec zarch
 b3e8 kxtr RRE_FF "compare and signal extended dfp" z9-ec zarch
 b3f4 cedtr RRE_FF "compare exponent long dfp" z9-ec zarch
-b3fc cextr RRE_FF "compare exponent extended dfp" z9-ec zarch
+b3fc cextr RRE_FEFE "compare exponent extended dfp" z9-ec zarch
 b3f1 cdgtr RRE_FR "convert from fixed long dfp" z9-ec zarch
-b3f9 cxgtr RRE_FR "convert from fixed extended dfp" z9-ec zarch
+b3f9 cxgtr RRE_FER "convert from fixed extended dfp" z9-ec zarch
 b3f3 cdstr RRE_FR "convert from signed bcd long dfp" z9-ec zarch
 b3fb cxstr RRE_FR "convert from signed bcd extended dfp" z9-ec zarch
 b3f2 cdutr RRE_FR "convert from unsigned bcd to long dfp" z9-ec zarch
-b3fa cxutr RRE_FR "convert from unsigned bcd to extended dfp" z9-ec zarch
+b3fa cxutr RRE_FER "convert from unsigned bcd to extended dfp" z9-ec zarch
 b3e1 cgdtr RRF_U0RF "convert from long dfp to fixed" z9-ec zarch
-b3e9 cgxtr RRF_U0RF "convert from extended dfp to fixed" z9-ec zarch
+b3e9 cgxtr RRF_U0RFE "convert from extended dfp to fixed" z9-ec zarch
 b3e3 csdtr RRE_RF "convert from long dfp to signed bcd" z9-ec zarch
-b3eb csxtr RRE_RF "convert from extended dfp to signed bcd" z9-ec zarch
+b3eb csxtr RRE_RFE "convert from extended dfp to signed bcd" z9-ec zarch
 b3e2 cudtr RRE_RF "convert from long dfp to unsigned bcd" z9-ec zarch
-b3ea cuxtr RRE_RF "convert from extended dfp to unsigned bcd" z9-ec zarch
+b3ea cuxtr RRE_RFE "convert from extended dfp to unsigned bcd" z9-ec zarch
 b3d1 ddtr RRR_F0FF "divide long dfp" z9-ec zarch
-b3d9 dxtr RRR_F0FF "divide extended dfp" z9-ec zarch
+b3d9 dxtr RRR_FE0FEFE "divide extended dfp" z9-ec zarch
 b3e5 eedtr RRE_RF "extract biased exponent from long dfp" z9-ec zarch
-b3ed eextr RRE_RF "extract biased exponent from extended dfp" z9-ec zarch
+b3ed eextr RRE_RFE "extract biased exponent from extended dfp" z9-ec zarch
 b3e7 esdtr RRE_RF "extract significance from long dfp" z9-ec zarch
-b3ef esxtr RRE_RF "extract significance from extended dfp" z9-ec zarch
+b3ef esxtr RRE_RFE "extract significance from extended dfp" z9-ec zarch
 b3f6 iedtr RRF_F0FR "insert biased exponent long dfp" z9-ec zarch
-b3fe iextr RRF_F0FR "insert biased exponent extended dfp" z9-ec zarch
+b3fe iextr RRF_FE0FER "insert biased exponent extended dfp" z9-ec zarch
 b3d6 ltdtr RRE_FF "load and test long dfp" z9-ec zarch
-b3de ltxtr RRE_FF "load and test extended dfp" z9-ec zarch
+b3de ltxtr RRE_FEFE "load and test extended dfp" z9-ec zarch
 b3d7 fidtr RRF_UUFF "load fp integer long dfp" z9-ec zarch
-b3df fixtr RRF_UUFF "load fp integer extended dfp" z9-ec zarch
+b3df fixtr RRF_UUFEFE "load fp integer extended dfp" z9-ec zarch
 b2bd lfas S_RD "load fpd and signal" z9-ec zarch
 b3d4 ldetr RRF_0UFF "load lengthened long dfp" z9-ec zarch
-b3dc lxdtr RRF_0UFF "load lengthened extended dfp" z9-ec zarch
+b3dc lxdtr RRF_0UFEF "load lengthened extended dfp" z9-ec zarch
 b3d5 ledtr RRF_UUFF "load rounded long dfp" z9-ec zarch
-b3dd ldxtr RRF_UUFF "load rounded extended dfp" z9-ec zarch
+b3dd ldxtr RRF_UUFFE "load rounded extended dfp" z9-ec zarch
 b3d0 mdtr RRR_F0FF "multiply long dfp" z9-ec zarch
-b3d8 mxtr RRR_F0FF "multiply extended dfp" z9-ec zarch
+b3d8 mxtr RRR_FE0FEFE "multiply extended dfp" z9-ec zarch
 b3f5 qadtr RRF_FUFF "Quantize long dfp" z9-ec zarch
-b3fd qaxtr RRF_FUFF "Quantize extended dfp" z9-ec zarch
+b3fd qaxtr RRF_FEUFEFE "Quantize extended dfp" z9-ec zarch
 b3f7 rrdtr RRF_FFRU "Reround long dfp" z9-ec zarch
-b3ff rrxtr RRF_FFRU "Reround extended dfp" z9-ec zarch
+b3ff rrxtr RRF_FEFERU "Reround extended dfp" z9-ec zarch
 b2b9 srnmt S_RD "set rounding mode dfp" z9-ec zarch
 b385 sfasr RRE_R0 "set fpc and signal" z9-ec zarch
 ed0000000040 sldt RXF_FRRDF "shift coefficient left long dfp" z9-ec zarch
-ed0000000048 slxt RXF_FRRDF "shift coefficient left extended dfp" z9-ec zarch
+ed0000000048 slxt RXF_FERRDFE "shift coefficient left extended dfp" z9-ec zarch
 ed0000000041 srdt RXF_FRRDF "shift coefficient right long dfp" z9-ec zarch
-ed0000000049 srxt RXF_FRRDF "shift coefficient right extended dfp" z9-ec zarch
+ed0000000049 srxt RXF_FERRDFE "shift coefficient right extended dfp" z9-ec zarch
 b3d3 sdtr RRR_F0FF "subtract long dfp" z9-ec zarch
-b3db sxtr RRR_F0FF "subtract extended dfp" z9-ec zarch
+b3db sxtr RRR_FE0FEFE "subtract extended dfp" z9-ec zarch
 ed0000000050 tdcet RXE_FRRD "test data class short dfp" z9-ec zarch
 ed0000000054 tdcdt RXE_FRRD "test data class long dfp" z9-ec zarch
-ed0000000058 tdcxt RXE_FRRD "test data class extended dfp" z9-ec zarch
+ed0000000058 tdcxt RXE_FERRD "test data class extended dfp" z9-ec zarch
 ed0000000051 tdget RXE_FRRD "test data group short dfp" z9-ec zarch
 ed0000000055 tdgdt RXE_FRRD "test data group long dfp" z9-ec zarch
-ed0000000059 tdgxt RXE_FRRD "test data group extended dfp" z9-ec zarch
+ed0000000059 tdgxt RXE_FERRD "test data group extended dfp" z9-ec zarch
 010a pfpo E "perform floating point operation" z9-ec zarch
 c801 ectg SSF_RRDRD "extract cpu time" z9-ec zarch
 c802 csst SSF_RRDRD "compare and swap and store" z9-ec zarch
@@ -941,7 +941,7 @@ c406 llghrl RIL_RP "load logical halfword relative long (64<16)" z10 zarch
 e544 mvhhi SIL_RDI "move (16<16)" z10 zarch
 e54c mvhi SIL_RDI "move (32<16)" z10 zarch
 e548 mvghi SIL_RDI "move (64<16)" z10 zarch
-e3000000005c mfy RXY_RRRD "multiply" z10 zarch
+e3000000005c mfy RXY_RERRD "multiply" z10 zarch
 e3000000007c mhy RXY_RRRD "multiply halfword" z10 zarch
 c201 msfi RIL_RI "multiply single immediate (32)" z10 zarch
 c200 msgfi RIL_RI "multiply single immediate (64)" z10 zarch
@@ -958,8 +958,8 @@ c600 exrl RIL_RP "execute relative long" z10 zarch
 af00 mc SI_URD "monitor call" z10 zarch
 b9a2 ptf RRE_R0 "perform topology function" z10 zarch
 b9af pfmf RRE_RR "perform frame management function" z10 zarch
-b9bf trte RRF_M0RR "translate and test extended" z10 zarch
-b9bd trtre RRF_M0RR "translate and test reverse extended" z10 zarch
+b9bf trte RRF_M0RER "translate and test extended" z10 zarch
+b9bd trtre RRF_M0RER "translate and test reverse extended" z10 zarch
 b9c8 ahhhr RRF_R0RR2 "add high high" z196 zarch
 b9d8 ahhlr RRF_R0RR2 "add high low" z196 zarch
 cc08 aih RIL_RI "add immediate high" z196 zarch
@@ -1000,8 +1000,8 @@ eb00000000f7 lax RSY_RRRD "load and exclusive or 32 bit" z196 zarch
 eb00000000e7 laxg RSY_RRRD "load and exclusive or 64 bit" z196 zarch
 eb00000000f6 lao RSY_RRRD "load and or 32 bit" z196 zarch
 eb00000000e6 laog RSY_RRRD "load and or 64 bit" z196 zarch
-c804 lpd SSF_RRDRD2 "load pair disjoint 32 bit" z196 zarch
-c805 lpdg SSF_RRDRD2 "load pair disjoint 64 bit" z196 zarch
+c804 lpd SSF_RERDRD2 "load pair disjoint 32 bit" z196 zarch
+c805 lpdg SSF_RERDRD2 "load pair disjoint 64 bit" z196 zarch
 b9f2 locr RRF_U0RR "load on condition 32 bit" z196 zarch
 b9f200000000 locr*16 RRF_00RR "load on condition 32 bit" z196 zarch
 b9e2 locgr RRF_U0RR "load on condition 64  bit" z196 zarch
@@ -1040,56 +1040,56 @@ b9e1 popcnt RRE_RR "population count" z196 zarch
 b9ae rrbm RRE_RR "reset reference bits multiple" z196 zarch
 b394 cefbra RRF_UUFR "convert from 32 bit fixed to short bfp with rounding mode" z196 zarch
 b395 cdfbra RRF_UUFR "convert from 32 bit fixed to long bfp with rounding mode" z196 zarch
-b396 cxfbra RRF_UUFR "convert from 32 bit fixed to extended bfp with rounding mode" z196 zarch
+b396 cxfbra RRF_UUFER "convert from 32 bit fixed to extended bfp with rounding mode" z196 zarch
 b3a4 cegbra RRF_UUFR "convert from 64 bit fixed to short bfp with rounding mode" z196 zarch
 b3a5 cdgbra RRF_UUFR "convert from 64 bit fixed to long bfp with rounding mode" z196 zarch
-b3a6 cxgbra RRF_UUFR "convert from 64 bit fixed to extended bfp with rounding mode" z196 zarch
+b3a6 cxgbra RRF_UUFER "convert from 64 bit fixed to extended bfp with rounding mode" z196 zarch
 b390 celfbr RRF_UUFR "convert from 32 bit logical fixed to short bfp with rounding mode" z196 zarch
 b391 cdlfbr RRF_UUFR "convert from 32 bit logical fixed to long bfp with rounding mode" z196 zarch
-b392 cxlfbr RRF_UUFR "convert from 32 bit logical fixed to extended bfp with rounding mode" z196 zarch
+b392 cxlfbr RRF_UUFER "convert from 32 bit logical fixed to extended bfp with rounding mode" z196 zarch
 b3a0 celgbr RRF_UUFR "convert from 64 bit logical fixed to short bfp with rounding mode" z196 zarch
 b3a1 cdlgbr RRF_UUFR "convert from 64 bit logical fixed to long bfp with rounding mode" z196 zarch
-b3a2 cxlgbr RRF_UUFR "convert from 64 bit logical fixed to extended bfp with rounding mode" z196 zarch
+b3a2 cxlgbr RRF_UUFER "convert from 64 bit logical fixed to extended bfp with rounding mode" z196 zarch
 b398 cfebra RRF_UURF "convert to 32 bit fixed from short bfp with rounding mode" z196 zarch
 b399 cfdbra RRF_UURF "convert to 32 bit fixed from long bfp with rounding mode" z196 zarch
-b39a cfxbra RRF_UURF "convert to 32 bit fixed from extended bfp with rounding mode" z196 zarch
+b39a cfxbra RRF_UURFE "convert to 32 bit fixed from extended bfp with rounding mode" z196 zarch
 b3a8 cgebra RRF_UURF "convert to 64 bit fixed from short bfp with rounding mode" z196 zarch
 b3a9 cgdbra RRF_UURF "convert to 64 bit fixed from long bfp with rounding mode" z196 zarch
-b3aa cgxbra RRF_UURF "convert to 64 bit fixed from extended bfp with rounding mode" z196 zarch
+b3aa cgxbra RRF_UURFE "convert to 64 bit fixed from extended bfp with rounding mode" z196 zarch
 b39c clfebr RRF_UURF "convert to 32 bit fixed logical from short bfp with rounding mode" z196 zarch
 b39d clfdbr RRF_UURF "convert to 32 bit fixed logical from long bfp with rounding mode" z196 zarch
-b39e clfxbr RRF_UURF "convert to 32 bit fixed logical from extended bfp with rounding mode" z196 zarch
+b39e clfxbr RRF_UURFE "convert to 32 bit fixed logical from extended bfp with rounding mode" z196 zarch
 b3ac clgebr RRF_UURF "convert to 64 bit fixed logical from short bfp with rounding mode" z196 zarch
 b3ad clgdbr RRF_UURF "convert to 64 bit fixed logical from long bfp with rounding mode" z196 zarch
-b3ae clgxbr RRF_UURF "convert to 64 bit fixed logical from extended bfp with rounding mode" z196 zarch
+b3ae clgxbr RRF_UURFE "convert to 64 bit fixed logical from extended bfp with rounding mode" z196 zarch
 b357 fiebra RRF_UUFF "load fp integer short bfp with rounding mode" z196 zarch
 b35f fidbra RRF_UUFF "load fp integer long bfp with rounding mode" z196 zarch
-b347 fixbra RRF_UUFF "load fp integer extended bfp with rounding mode" z196 zarch
+b347 fixbra RRF_UUFEFE "load fp integer extended bfp with rounding mode" z196 zarch
 b344 ledbra RRF_UUFF "load rounded short/long bfp to short/long bfp with rounding mode" z196 zarch
-b345 ldxbra RRF_UUFF "load rounded long/extended bfp to long/extended bfp with rounding mode" z196 zarch
-b346 lexbra RRF_UUFF "load rounded short/extended bfp to short/extended bfp with rounding mode" z196 zarch
+b345 ldxbra RRF_UUFEFE "load rounded long/extended bfp to long/extended bfp with rounding mode" z196 zarch
+b346 lexbra RRF_UUFEFE "load rounded short/extended bfp to short/extended bfp with rounding mode" z196 zarch
 b3d2 adtra RRF_FUFF2 "add long dfp with rounding mode" z196 zarch
-b3da axtra RRF_FUFF2 "add extended dfp with rounding mode" z196 zarch
+b3da axtra RRF_FEUFEFE2 "add extended dfp with rounding mode" z196 zarch
 b3f1 cdgtra RRF_UUFR "convert from fixed long dfp with rounding mode" z196 zarch
 b951 cdftr RRF_UUFR "convert from 32 bit fixed to long dfp with rounding mode" z196 zarch
-b959 cxftr RRF_UUFR "convert from 32 bit fixed to extended dfp with rounding mode" z196 zarch
-b3f9 cxgtra RRF_UUFR "convert from fixed extended dfp with rounding mode" z196 zarch
+b959 cxftr RRF_UUFER "convert from 32 bit fixed to extended dfp with rounding mode" z196 zarch
+b3f9 cxgtra RRF_UUFER "convert from fixed extended dfp with rounding mode" z196 zarch
 b952 cdlgtr RRF_UUFR "convert from 64 bit fixed logical to long dfp with rounding mode" z196 zarch
-b95a cxlgtr RRF_UUFR "convert from 64 bit fixed logical to extended dfp with rounding mode" z196 zarch
+b95a cxlgtr RRF_UUFER "convert from 64 bit fixed logical to extended dfp with rounding mode" z196 zarch
 b953 cdlftr RRF_UUFR "convert from 32 bit fixed logical to long dfp with rounding mode" z196 zarch
 b95b cxlftr RRF_UUFR "convert from 32 bit fixed logical to extended dfp with rounding mode" z196 zarch
 b3e1 cgdtra RRF_UURF "convert to 64 bit fixed from long dfp with rounding mode" z196 zarch
-b3e9 cgxtra RRF_UURF "convert to 64 bit fixed from extended dfp with rounding mode" z196 zarch
+b3e9 cgxtra RRF_UURFE "convert to 64 bit fixed from extended dfp with rounding mode" z196 zarch
 b941 cfdtr RRF_UURF "convert to 32 bit fixed from long dfp source with rounding mode" z196 zarch
 b949 cfxtr RRF_UURF "convert to 32 bit fixed from extended dfp source with rounding mode" z196 zarch
 b942 clgdtr RRF_UURF "convert to 64 bit fixed logical from long dfp with rounding mode" z196 zarch
-b94a clgxtr RRF_UURF "convert to 64 bit fixed logical from extended dfp with rounding mode" z196 zarch
+b94a clgxtr RRF_UURFE "convert to 64 bit fixed logical from extended dfp with rounding mode" z196 zarch
 b943 clfdtr RRF_UURF "convert to 32 bit fixed logical from long dfp with rounding mode" z196 zarch
-b94b clfxtr RRF_UURF "convert to 32 bit fixed logical from extended dfp with rounding mode" z196 zarch
+b94b clfxtr RRF_UURFE "convert to 32 bit fixed logical from extended dfp with rounding mode" z196 zarch
 b3d1 ddtra RRF_FUFF2 "divide long dfp with rounding mode" z196 zarch
-b3d9 dxtra RRF_FUFF2 "divide extended dfp with rounding mode" z196 zarch
+b3d9 dxtra RRF_FEUFEFE2 "divide extended dfp with rounding mode" z196 zarch
 b3d0 mdtra RRF_FUFF2 "multiply long dfp with rounding mode" z196 zarch
-b3d8 mxtra RRF_FUFF2 "multiply extended dfp with rounding mode" z196 zarch
+b3d8 mxtra RRF_FEUFEFE2 "multiply extended dfp with rounding mode" z196 zarch
 b3d3 sdtra RRF_FUFF2 "subtract long dfp with rounding mode" z196 zarch
-b3db sxtra RRF_FUFF2 "subtract extended dfp with rounding mode" z196 zarch
+b3db sxtra RRF_FEUFEFE2 "subtract extended dfp with rounding mode" z196 zarch
 b2b8 srnmb S_RD "set 3 bit bfp rounding mode" z196 zarch