[PATCH 09/20] s390: km/kmc operand R1 must be even and R2 must be a register pair
Jens Remus
jremus@linux.ibm.com
Wed Sep 30 08:18:44 GMT 2026
km R1,R2 and kmc R1,R2 operand R1 must designate a general register
and must designate an even-numbered register other than general
register 0; otherwise, a specification exception is recognized.
Operand R2 must designate an even-odd pair of general registers and
must designate an even-numbered register other than general register 0;
otherwise, a specification exception is recognized. [1, 2]
For now do not enforce the operands R1 and R2 not to designate general
register 0.
[1]: IBM ESA/390 Principles of Operation, SA22-7201-08, z990,
https://publibfp.dhe.ibm.com/epubs/pdf/dz9ar008.pdf
[2]: IBM z/Architecture Principles of Operation, SA22-7832-14, IBM z17,
https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf
opcodes/
* s390-opc.txt (km, kmc): Use RRE_RERE instruction format.
gas/testsuite/
* gas/s390/esa-z990.d (km, kmc): Operands R1 and R2 must
designate an even register.
* gas/s390/esa-z990.s (km, kmc): Likewise.
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
---
gas/testsuite/gas/s390/esa-z990.d | 4 ++--
gas/testsuite/gas/s390/esa-z990.s | 4 ++--
opcodes/s390-opc.txt | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/gas/testsuite/gas/s390/esa-z990.d b/gas/testsuite/gas/s390/esa-z990.d
index 3d05cd7e30e0..85612ad34192 100644
--- a/gas/testsuite/gas/s390/esa-z990.d
+++ b/gas/testsuite/gas/s390/esa-z990.d
@@ -6,8 +6,8 @@
Disassembly of section .text:
.* <foo>:
-.*: b9 2e 00 69 [ ]*km %r6,%r9
-.*: b9 2f 00 69 [ ]*kmc %r6,%r9
+.*: b9 2e 00 68 [ ]*km %r6,%r8
+.*: b9 2f 00 68 [ ]*kmc %r6,%r8
.*: b9 3e 00 69 [ ]*kimd %r6,%r9
.*: b9 3f 00 69 [ ]*klmd %r6,%r9
.*: b9 1e 00 69 [ ]*kmac %r6,%r9
diff --git a/gas/testsuite/gas/s390/esa-z990.s b/gas/testsuite/gas/s390/esa-z990.s
index 2156e83c56db..d4da66722ef1 100644
--- a/gas/testsuite/gas/s390/esa-z990.s
+++ b/gas/testsuite/gas/s390/esa-z990.s
@@ -1,7 +1,7 @@
.text
foo:
- km %r6,%r9
- kmc %r6,%r9
+ km %r6,%r8
+ kmc %r6,%r8
kimd %r6,%r9
klmd %r6,%r9
kmac %r6,%r9
diff --git a/opcodes/s390-opc.txt b/opcodes/s390-opc.txt
index 57bee389d4a8..ab88a83f76bc 100644
--- a/opcodes/s390-opc.txt
+++ b/opcodes/s390-opc.txt
@@ -733,8 +733,8 @@ b33f msdr RRF_F0FF "multiply and subtract long hfp" z990 esa,zarch
ed000000003f msd RXF_FRRDF "multiply and subtract long hfp" z990 esa,zarch
b32f mser RRF_F0FF "mutliply and subtract short hfp" z990 esa,zarch
ed000000002f mse RXF_FRRDF "multiply and subttract short hfp" z990 esa,zarch
-b92e km RRE_RR "cipher message" z990 esa,zarch
-b92f kmc RRE_RR "cipher message with chaining" z990 esa,zarch
+b92e km RRE_RERE "cipher message" z990 esa,zarch
+b92f kmc RRE_RERE "cipher message with chaining" z990 esa,zarch
b93e kimd RRE_RR "compute intermediate message digest" z990 esa,zarch
b93f klmd RRE_RR "compute last message digest" z990 esa,zarch
b91e kmac RRE_RR "compute message authentication code" z990 esa,zarch
--
2.53.0
More information about the Binutils
mailing list