[15/20] s390: Rename insn format RRF_F0FF to RRD_F0FF

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

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-arm success Build passed
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_binutils_check--master-arm success Test passed
linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 success Test passed

Commit Message

Jens Remus Sept. 30, 2026, 8:18 a.m. UTC
  Former instruction format RRF[-a], where the first operand is in bits
16-19, has been separated into the new RRD format since IBM z196. [1, 2]

[1]: IBM z/Architecture Principles of Operation, SA22-7832-07, IBM z10,
     https://publibfp.dhe.ibm.com/epubs/pdf/dz9zr007.pdf

[2]: IBM z/Architecture Principles of Operation, SA22-7832-08, IBM z196,
     https://publibfp.dhe.ibm.com/epubs/pdf/dz9zr008.pdf

opcodes/
	* s390-opc.c (INSTR_RRF_F0FF, MASK_RRF_F0FF): Rename to
	INSTR_RRD_F0FF and MASK_RRD_F0FF.
	* s390-opc.txt (madbr, madr, maebr, maer, msdbr, msdr, msebr,
	mser, myhr, mylr): Use renamed insn format RRD_F0FF.

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
---
 opcodes/s390-opc.c   |  4 ++--
 opcodes/s390-opc.txt | 26 +++++++++++++-------------
 2 files changed, 15 insertions(+), 15 deletions(-)
  

Patch

diff --git a/opcodes/s390-opc.c b/opcodes/s390-opc.c
index 92c4a37d59ce..7222d2368610 100644
--- a/opcodes/s390-opc.c
+++ b/opcodes/s390-opc.c
@@ -339,6 +339,7 @@  unused_s390_operands_static_asserts (void)
 #define INSTR_RIS_R0RDI    6, { R_8,I8_32,D_20,B_16,0,0 }        /* e.g. cibne */
 #define INSTR_RIS_RURDU    6, { R_8,U8_32,U4_12,D_20,B_16,0 }    /* e.g. clib  */
 #define INSTR_RIS_R0RDU    6, { R_8,U8_32,D_20,B_16,0,0 }        /* e.g. clibne*/
+#define INSTR_RRD_F0FF     4, { F_16,F_24,F_28,0,0,0 }           /* e.g. madbr */
 #define INSTR_RRE_00       4, { 0,0,0,0,0,0 }                    /* e.g. palb  */
 #define INSTR_RRE_0R       4, { R_28,0,0,0,0,0 }                 /* e.g. tb    */
 #define INSTR_RRE_AA       4, { A_24,A_28,0,0,0,0 }              /* e.g. cpya  */
@@ -359,7 +360,6 @@  unused_s390_operands_static_asserts (void)
 #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 */
-#define INSTR_RRF_F0FF     4, { F_16,F_24,F_28,0,0,0 }           /* e.g. madbr */
 #define INSTR_RRF_FE0FF    4, { FE_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 */
@@ -574,6 +574,7 @@  unused_s390_operands_static_asserts (void)
 #define MASK_RIS_R0RDI    { 0xff, 0x0f, 0x00, 0x00, 0x00, 0xff }
 #define MASK_RIS_RURDU    { 0xff, 0x00, 0x00, 0x00, 0x00, 0xff }
 #define MASK_RIS_R0RDU    { 0xff, 0x0f, 0x00, 0x00, 0x00, 0xff }
+#define MASK_RRD_F0FF     { 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00 }
 #define MASK_RRE_00       { 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 }
 #define MASK_RRE_0R       { 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00 }
 #define MASK_RRE_AA       { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 }
@@ -594,7 +595,6 @@  unused_s390_operands_static_asserts (void)
 #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_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 }
diff --git a/opcodes/s390-opc.txt b/opcodes/s390-opc.txt
index 0062f87b1b62..bf0b6362d56a 100644
--- a/opcodes/s390-opc.txt
+++ b/opcodes/s390-opc.txt
@@ -342,13 +342,13 @@  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
 ed000000000c mdeb RXE_FRRD "multiply short to long bfp" g5 esa,zarch
-b31e madbr RRF_F0FF "multiply and add long bfp" g5 esa,zarch
+b31e madbr RRD_F0FF "multiply and add long bfp" g5 esa,zarch
 ed000000001e madb RXF_FRRDF "multiply and add long bfp" g5 esa,zarch
-b30e maebr RRF_F0FF "multiply and add short bfp" g5 esa,zarch
+b30e maebr RRD_F0FF "multiply and add short bfp" g5 esa,zarch
 ed000000000e maeb RXF_FRRDF "multiply and add short bfp" g5 esa,zarch
-b31f msdbr RRF_F0FF "multiply and subtract long bfp" g5 esa,zarch
+b31f msdbr RRD_F0FF "multiply and subtract long bfp" g5 esa,zarch
 ed000000001f msdb RXF_FRRDF "multiply and subtract long bfp" g5 esa,zarch
-b30f msebr RRF_F0FF "multiply and subtract short bfp" g5 esa,zarch
+b30f msebr RRD_F0FF "multiply and subtract short bfp" g5 esa,zarch
 ed000000000f mseb RXF_FRRDF "multiply and subtract short bfp" g5 esa,zarch
 # efpc and sfpc have only one operand; retain RR register format for compatibility
 b384 sfpc RRE_RR "set fpc" g5 esa,zarch optparm
@@ -725,13 +725,13 @@  eb0000000096 lmh RSY_RRRD "load multiple high" z990 zarch
 # new z990 instructions
 b98a cspg RRE_RR "compare and swap and purge" z990 zarch
 b98e idte RRF_RURR2 "invalidate dat table entry" z990 zarch optparm
-b33e madr RRF_F0FF "multiply and add long hfp" z990 esa,zarch
+b33e madr RRD_F0FF "multiply and add long hfp" z990 esa,zarch
 ed000000003e mad RXF_FRRDF "multiply and add long hfp" z990 esa,zarch
-b32e maer RRF_F0FF "multiply and add short hfp" z990 esa,zarch
+b32e maer RRD_F0FF "multiply and add short hfp" z990 esa,zarch
 ed000000002e mae RXF_FRRDF "multiply and add short hfp" z990 esa,zarch
-b33f msdr RRF_F0FF "multiply and subtract long hfp" z990 esa,zarch
+b33f msdr RRD_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
+b32f mser RRD_F0FF "mutliply and subtract short hfp" z990 esa,zarch
 ed000000002f mse RXF_FRRDF "multiply and subttract short hfp" z990 esa,zarch
 b92e km RRE_RERE "cipher message" z990 esa,zarch
 b92f kmc RRE_RERE "cipher message with chaining" z990 esa,zarch
@@ -805,14 +805,14 @@  b9b0 cu14 RRF_U0RERE "convert utf-8 to utf-32" z9-109 zarch optparm
 b9be srstu RRE_RR "search string unicode" z9-109 zarch
 d0 trtr SS_L0RDRD "tranlate and test reverse" 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
+b33d myhr RRD_F0FF "multiply unnormalized long hfp high" z9-109 zarch
+b339 mylr RRD_F0FF "multiply unnormalized long hfp low" 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
-b33c mayhr RRF_F0FF "multiply and add unnormalized long hfp high" z9-109 zarch
-b338 maylr RRF_F0FF "multiply and add unnormalized long hfp low" z9-109 zarch
+b33a mayr RRD_F0FF "multiply and add unnormalized long hfp" z9-109 zarch
+b33c mayhr RRD_F0FF "multiply and add unnormalized long hfp high" z9-109 zarch
+b338 maylr RRD_F0FF "multiply and add unnormalized long hfp low" z9-109 zarch
 ed000000003a may RXF_FRRDF "multiply and add unnormalized long hfp" z9-109 zarch
 ed000000003c mayh RXF_FRRDF "multiply and add unnormalized long hfp high" z9-109 zarch
 ed0000000038 mayl RXF_FRRDF "multiply and add unnormalized long hfp low" z9-109 zarch