s390: Add support for z17 as CPU name

Message ID 20250408150057.3779578-1-jremus@linux.ibm.com
State New
Headers
Series s390: Add support for z17 as CPU name |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-arm fail Patch failed to apply
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 fail Patch failed to apply

Commit Message

Jens Remus April 8, 2025, 3 p.m. UTC
  So far IBM z17 was identified as arch15.  Add the real name, as it has
been announced. [1]

[1]: IBM z17 announcement letter, AD25-0015,
     https://www.ibm.com/docs/en/announcements/z17-makes-more-possible

gas/
	* config/tc-s390.c (s390_parse_cpu): Add z17 as alternate CPU
	name for arch15.
	* doc/c-s390.texi: Likewise.
	* doc/as.texi: Likewise.

opcodes/
	* s390-mkopc.c (main): Add z17 as alternate CPU name for arch15.

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
---
 gas/config/tc-s390.c | 2 +-
 gas/doc/as.texi      | 3 ++-
 gas/doc/c-s390.texi  | 5 +++--
 opcodes/s390-mkopc.c | 3 ++-
 4 files changed, 8 insertions(+), 5 deletions(-)
  

Comments

Andreas Krebbel April 8, 2025, 6 p.m. UTC | #1
On 4/8/25 5:00 PM, Jens Remus wrote:
> So far IBM z17 was identified as arch15.  Add the real name, as it has
> been announced. [1]
>
> [1]: IBM z17 announcement letter, AD25-0015,
>       https://www.ibm.com/docs/en/announcements/z17-makes-more-possible
>
> gas/
> 	* config/tc-s390.c (s390_parse_cpu): Add z17 as alternate CPU
> 	name for arch15.
> 	* doc/c-s390.texi: Likewise.
> 	* doc/as.texi: Likewise.
>
> opcodes/
> 	* s390-mkopc.c (main): Add z17 as alternate CPU name for arch15.
>
> Signed-off-by: Jens Remus <jremus@linux.ibm.com>

Ok. Thanks!

Andreas


> ---
>   gas/config/tc-s390.c | 2 +-
>   gas/doc/as.texi      | 3 ++-
>   gas/doc/c-s390.texi  | 5 +++--
>   opcodes/s390-mkopc.c | 3 ++-
>   4 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
> index a0cfeead2535..b84613479725 100644
> --- a/gas/config/tc-s390.c
> +++ b/gas/config/tc-s390.c
> @@ -343,7 +343,7 @@ s390_parse_cpu (const char *arg,
>         S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX },
>       { STRING_COMMA_LEN ("z16"), STRING_COMMA_LEN ("arch14"),
>         S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX },
> -    { STRING_COMMA_LEN (""), STRING_COMMA_LEN ("arch15"),
> +    { STRING_COMMA_LEN ("z17"), STRING_COMMA_LEN ("arch15"),
>         S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX }
>     };
>     static struct
> diff --git a/gas/doc/as.texi b/gas/doc/as.texi
> index d68a9bc7c733..40d45f75d187 100644
> --- a/gas/doc/as.texi
> +++ b/gas/doc/as.texi
> @@ -1944,7 +1944,8 @@ Specify which s390 processor variant is the target, @samp{g5} (or
>   @samp{arch6}), @samp{z9-109}, @samp{z9-ec} (or @samp{arch7}), @samp{z10} (or
>   @samp{arch8}), @samp{z196} (or @samp{arch9}), @samp{zEC12} (or @samp{arch10}),
>   @samp{z13} (or @samp{arch11}), @samp{z14} (or @samp{arch12}), @samp{z15}
> -(or @samp{arch13}), @samp{z16} (or @samp{arch14}), or @samp{arch15}.
> +(or @samp{arch13}), @samp{z16} (or @samp{arch14}), or @samp{z17} (or
> +@samp{arch15}).
>   @item -mregnames
>   @itemx -mno-regnames
>   Allow or disallow symbolic names for registers.
> diff --git a/gas/doc/c-s390.texi b/gas/doc/c-s390.texi
> index f1a5483c1cae..549922291890 100644
> --- a/gas/doc/c-s390.texi
> +++ b/gas/doc/c-s390.texi
> @@ -18,7 +18,8 @@ and eleven chip levels. The architecture modes are the Enterprise System
>   Architecture (ESA) and the newer z/Architecture mode. The chip levels
>   are g5 (or arch3), g6, z900 (or arch5), z990 (or arch6), z9-109, z9-ec
>   (or arch7), z10 (or arch8), z196 (or arch9), zEC12 (or arch10), z13
> -(or arch11), z14 (or arch12), z15 (or arch13), z16 (or arch14), or arch15.
> +(or arch11), z14 (or arch12), z15 (or arch13), z16 (or arch14), or
> +z17 (arch15).
>   
>   @menu
>   * s390 Options::                Command-line Options.
> @@ -73,7 +74,7 @@ are recognized:
>   @code{z14} (or @code{arch12}),
>   @code{z15} (or @code{arch13}),
>   @code{z16} (or @code{arch14}), and
> -@code{arch15}.
> +@code{z17} (or @code{arch15}).
>   
>   Assembling an instruction that is not supported on the target
>   processor results in an error message.
> diff --git a/opcodes/s390-mkopc.c b/opcodes/s390-mkopc.c
> index 87d93bf16751..907f081862e3 100644
> --- a/opcodes/s390-mkopc.c
> +++ b/opcodes/s390-mkopc.c
> @@ -443,7 +443,8 @@ main (void)
>         else if (strcmp (cpu_string, "z16") == 0
>   	       || strcmp (cpu_string, "arch14") == 0)
>   	min_cpu = S390_OPCODE_ARCH14;
> -      else if (strcmp (cpu_string, "arch15") == 0)
> +      else if (strcmp (cpu_string, "z17") == 0
> +	       || strcmp (cpu_string, "arch15") == 0)
>   	min_cpu = S390_OPCODE_ARCH15;
>         else {
>   	print_error ("Mnemonic \"%s\": Couldn't parse CPU string: %s\n",
  
Jens Remus April 9, 2025, 7:03 a.m. UTC | #2
On 08.04.2025 20:00, Andreas Krebbel wrote:
> On 4/8/25 5:00 PM, Jens Remus wrote:
>> So far IBM z17 was identified as arch15.  Add the real name, as it has
>> been announced. [1]
>>
>> [1]: IBM z17 announcement letter, AD25-0015,
>>       https://www.ibm.com/docs/en/announcements/z17-makes-more-possible
>>
>> gas/
>>     * config/tc-s390.c (s390_parse_cpu): Add z17 as alternate CPU
>>     name for arch15.
>>     * doc/c-s390.texi: Likewise.
>>     * doc/as.texi: Likewise.
>>
>> opcodes/
>>     * s390-mkopc.c (main): Add z17 as alternate CPU name for arch15.
>>
>> Signed-off-by: Jens Remus <jremus@linux.ibm.com>
> 
> Ok. Thanks!

Committed to mainline as 981fe5fd80fa ("s390: Add support for z17 as CPU
name").

Regards,
Jens
  
Jens Remus April 10, 2025, 3:41 p.m. UTC | #3
On 09.04.2025 09:03, Jens Remus wrote:
> On 08.04.2025 20:00, Andreas Krebbel wrote:
>> On 4/8/25 5:00 PM, Jens Remus wrote:
>>> So far IBM z17 was identified as arch15.  Add the real name, as it has
>>> been announced. [1]
>>>
>>> [1]: IBM z17 announcement letter, AD25-0015,
>>>       https://www.ibm.com/docs/en/announcements/z17-makes-more-possible
>>>
>>> gas/
>>>     * config/tc-s390.c (s390_parse_cpu): Add z17 as alternate CPU
>>>     name for arch15.
>>>     * doc/c-s390.texi: Likewise.
>>>     * doc/as.texi: Likewise.
>>>
>>> opcodes/
>>>     * s390-mkopc.c (main): Add z17 as alternate CPU name for arch15.
>>>
>>> Signed-off-by: Jens Remus <jremus@linux.ibm.com>
>>
>> Ok. Thanks!
> 
> Committed to mainline as 981fe5fd80fa ("s390: Add support for z17 as CPU
> name").

With off-list approval from Andreas:  Backported to Binutils 2.41, 2.42,
and 2.43 branches, to which we already backported the related s390
arch15 support, as well as the 2.44 branch, which also already has s390
arch15 support.

Regards,
Jens
  

Patch

diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index a0cfeead2535..b84613479725 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -343,7 +343,7 @@  s390_parse_cpu (const char *arg,
       S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX },
     { STRING_COMMA_LEN ("z16"), STRING_COMMA_LEN ("arch14"),
       S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX },
-    { STRING_COMMA_LEN (""), STRING_COMMA_LEN ("arch15"),
+    { STRING_COMMA_LEN ("z17"), STRING_COMMA_LEN ("arch15"),
       S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX }
   };
   static struct
diff --git a/gas/doc/as.texi b/gas/doc/as.texi
index d68a9bc7c733..40d45f75d187 100644
--- a/gas/doc/as.texi
+++ b/gas/doc/as.texi
@@ -1944,7 +1944,8 @@  Specify which s390 processor variant is the target, @samp{g5} (or
 @samp{arch6}), @samp{z9-109}, @samp{z9-ec} (or @samp{arch7}), @samp{z10} (or
 @samp{arch8}), @samp{z196} (or @samp{arch9}), @samp{zEC12} (or @samp{arch10}),
 @samp{z13} (or @samp{arch11}), @samp{z14} (or @samp{arch12}), @samp{z15}
-(or @samp{arch13}), @samp{z16} (or @samp{arch14}), or @samp{arch15}.
+(or @samp{arch13}), @samp{z16} (or @samp{arch14}), or @samp{z17} (or
+@samp{arch15}).
 @item -mregnames
 @itemx -mno-regnames
 Allow or disallow symbolic names for registers.
diff --git a/gas/doc/c-s390.texi b/gas/doc/c-s390.texi
index f1a5483c1cae..549922291890 100644
--- a/gas/doc/c-s390.texi
+++ b/gas/doc/c-s390.texi
@@ -18,7 +18,8 @@  and eleven chip levels. The architecture modes are the Enterprise System
 Architecture (ESA) and the newer z/Architecture mode. The chip levels
 are g5 (or arch3), g6, z900 (or arch5), z990 (or arch6), z9-109, z9-ec
 (or arch7), z10 (or arch8), z196 (or arch9), zEC12 (or arch10), z13
-(or arch11), z14 (or arch12), z15 (or arch13), z16 (or arch14), or arch15.
+(or arch11), z14 (or arch12), z15 (or arch13), z16 (or arch14), or
+z17 (arch15).
 
 @menu
 * s390 Options::                Command-line Options.
@@ -73,7 +74,7 @@  are recognized:
 @code{z14} (or @code{arch12}),
 @code{z15} (or @code{arch13}),
 @code{z16} (or @code{arch14}), and
-@code{arch15}.
+@code{z17} (or @code{arch15}).
 
 Assembling an instruction that is not supported on the target
 processor results in an error message.
diff --git a/opcodes/s390-mkopc.c b/opcodes/s390-mkopc.c
index 87d93bf16751..907f081862e3 100644
--- a/opcodes/s390-mkopc.c
+++ b/opcodes/s390-mkopc.c
@@ -443,7 +443,8 @@  main (void)
       else if (strcmp (cpu_string, "z16") == 0
 	       || strcmp (cpu_string, "arch14") == 0)
 	min_cpu = S390_OPCODE_ARCH14;
-      else if (strcmp (cpu_string, "arch15") == 0)
+      else if (strcmp (cpu_string, "z17") == 0
+	       || strcmp (cpu_string, "arch15") == 0)
 	min_cpu = S390_OPCODE_ARCH15;
       else {
 	print_error ("Mnemonic \"%s\": Couldn't parse CPU string: %s\n",