[06/20] s390: cmpsc operands R1 and R2 must be register pairs

Message ID 20260930081834.2948939-28-jremus@linux.ibm.com
State New
Headers
Series s390: Instruction cleanups |

Commit Message

Jens Remus Sept. 30, 2026, 8:18 a.m. UTC
  cmpsc R1,R2 operands R1 and R2 each designate an even-odd pair of
general registers and must designate an even-numbered register;
otherwise, a specification exception is recognized. [1]

[1]: 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 (cmpsc): Use RRE_RERE instruction format.

gas/testsuite/
	* gas/s390/esa-g5.d (cmpsc): Operands R1 and R2 must designate
	an even-odd register pair.
	* gas/s390/esa-g5.s (cmpsc): Likewise.

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
---
 gas/testsuite/gas/s390/esa-g5.d | 2 +-
 gas/testsuite/gas/s390/esa-g5.s | 2 +-
 opcodes/s390-opc.txt            | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
  

Patch

diff --git a/gas/testsuite/gas/s390/esa-g5.d b/gas/testsuite/gas/s390/esa-g5.d
index c147da1f5ded..b42397fd8b62 100644
--- a/gas/testsuite/gas/s390/esa-g5.d
+++ b/gas/testsuite/gas/s390/esa-g5.d
@@ -126,7 +126,7 @@  Disassembly of section .text:
 .*:	bd 6a 5f ff [	 ]*clm	%r6,10,4095\(%r5\)
 .*:	15 69 [	 ]*clr	%r6,%r9
 .*:	b2 5d 00 69 [	 ]*clst	%r6,%r9
-.*:	b2 63 00 69 [	 ]*cmpsc	%r6,%r9
+.*:	b2 63 00 68 [	 ]*cmpsc	%r6,%r8
 .*:	f9 58 5f ff af ff [	 ]*cp	4095\(6,%r5\),4095\(9,%r10\)
 .*:	b2 4d 00 69 [	 ]*cpya	%a6,%a9
 .*:	19 69 [	 ]*cr	%r6,%r9
diff --git a/gas/testsuite/gas/s390/esa-g5.s b/gas/testsuite/gas/s390/esa-g5.s
index 5a9222544ed2..d857adb2f4b6 100644
--- a/gas/testsuite/gas/s390/esa-g5.s
+++ b/gas/testsuite/gas/s390/esa-g5.s
@@ -120,7 +120,7 @@  foo:
 	clm	%r6,10,4095(%r5)
 	clr	%r6,%r9
 	clst	%r6,%r9
-	cmpsc	%r6,%r9
+	cmpsc	%r6,%r8
 	cp	4095(6,%r5),4095(9,%r10)
 	cpya	%a6,%a9
 	cr	%r6,%r9
diff --git a/opcodes/s390-opc.txt b/opcodes/s390-opc.txt
index e23588f00e3b..0fe2dac819fd 100644
--- a/opcodes/s390-opc.txt
+++ b/opcodes/s390-opc.txt
@@ -596,7 +596,7 @@  ed0000000037 mee RXE_FRRD "multiply short 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
+b263 cmpsc RRE_RERE "compression call" g5 esa,zarch
 eb00000000c0 tp RSL_R0RD "test decimal" g5 esa,zarch
 b365 lxr RRE_FEFE "load extended fp" g5 esa,zarch
 b22e pgin RRE_RR "page in" g5 esa,zarch