[07/20] s390: kxbr operands R1 and R2 must be FP register pairs

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

Commit Message

Jens Remus Sept. 30, 2026, 8:18 a.m. UTC
  kxbr R1,R2 operands R1 and R2 must designate valid floating-point-
register pairs; otherwise, a specification exception is recognized.
[1, 2]

[1]: IBM ESA/390 Principles of Operation, SA22-7201-07, z900,
     https://publibfp.dhe.ibm.com/epubs/pdf/dz9ar007.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 (kxbr): Use RRE_FEFE instruction format.

gas/testsuite/
	* gas/s390/esa-g5.d (kxbr): Operands R1 and R2 must designate
	floating-point-register pairs.
	* gas/s390/esa-g5.s (kxbr): 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 b42397fd8b62..044e2158f90e 100644
--- a/gas/testsuite/gas/s390/esa-g5.d
+++ b/gas/testsuite/gas/s390/esa-g5.d
@@ -232,7 +232,7 @@  Disassembly of section .text:
 .*:	b3 18 00 69 [	 ]*kdbr	%f6,%f9
 .*:	ed 65 af ff 00 08 [	 ]*keb	%f6,4095\(%r5,%r10\)
 .*:	b3 08 00 69 [	 ]*kebr	%f6,%f9
-.*:	b3 48 00 69 [	 ]*kxbr	%f6,%f9
+.*:	b3 48 00 58 [	 ]*kxbr	%f5,%f8
 .*:	58 65 af ff [	 ]*l	%r6,4095\(%r5,%r10\)
 .*:	41 65 af ff [	 ]*la	%r6,4095\(%r5,%r10\)
 .*:	51 65 af ff [	 ]*lae	%r6,4095\(%r5,%r10\)
diff --git a/gas/testsuite/gas/s390/esa-g5.s b/gas/testsuite/gas/s390/esa-g5.s
index d857adb2f4b6..ec81621d7bab 100644
--- a/gas/testsuite/gas/s390/esa-g5.s
+++ b/gas/testsuite/gas/s390/esa-g5.s
@@ -226,7 +226,7 @@  foo:
 	kdbr	%f6,%f9
 	keb	%f6,4095(%r5,%r10)
 	kebr	%f6,%f9
-	kxbr	%f6,%f9
+	kxbr	%f5,%f8
 	l	%r6,4095(%r5,%r10)
 	la	%r6,4095(%r5,%r10)
 	lae	%r6,4095(%r5,%r10)
diff --git a/opcodes/s390-opc.txt b/opcodes/s390-opc.txt
index 0fe2dac819fd..71b2232cb319 100644
--- a/opcodes/s390-opc.txt
+++ b/opcodes/s390-opc.txt
@@ -288,7 +288,7 @@  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
 ed0000000009 ceb RXE_FRRD "compare short bfp" g5 esa,zarch
-b348 kxbr RRE_FF "compare and signal extended bfp" g5 esa,zarch
+b348 kxbr RRE_FEFE "compare and signal extended bfp" g5 esa,zarch
 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