de02ff
diff -rup binutils.orig/gas/config/tc-s390.c binutils-2.30/gas/config/tc-s390.c
de02ff
--- binutils.orig/gas/config/tc-s390.c	2022-04-11 09:54:43.234516094 +0100
de02ff
+++ binutils-2.30/gas/config/tc-s390.c	2022-04-11 09:55:31.670168952 +0100
de02ff
@@ -292,9 +292,9 @@ s390_parse_cpu (const char *         arg
de02ff
       S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX },
de02ff
     { STRING_COMMA_LEN ("z14"), STRING_COMMA_LEN ("arch12"),
de02ff
       S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX },
de02ff
-    { STRING_COMMA_LEN (""), STRING_COMMA_LEN ("arch13"),
de02ff
+    { STRING_COMMA_LEN ("z15"), STRING_COMMA_LEN ("arch13"),
de02ff
       S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX },
de02ff
-    { STRING_COMMA_LEN (""), STRING_COMMA_LEN ("arch14"),
de02ff
+    { STRING_COMMA_LEN ("z16"), STRING_COMMA_LEN ("arch14"),
de02ff
       S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX }
de02ff
   };
de02ff
   static struct
de02ff
diff -rup binutils.orig/gas/doc/c-s390.texi binutils-2.30/gas/doc/c-s390.texi
de02ff
--- binutils.orig/gas/doc/c-s390.texi	2022-04-11 09:54:43.236516079 +0100
de02ff
+++ binutils-2.30/gas/doc/c-s390.texi	2022-04-11 09:56:40.709674135 +0100
de02ff
@@ -18,7 +18,7 @@ and eleven chip levels. The architecture
de02ff
 Architecture (ESA) and the newer z/Architecture mode. The chip levels
de02ff
 are g5 (or arch3), g6, z900 (or arch5), z990 (or arch6), z9-109, z9-ec
de02ff
 (or arch7), z10 (or arch8), z196 (or arch9), zEC12 (or arch10), z13
de02ff
-(or arch11), z14 (or arch12), z15 (or arch13), or arch14.
de02ff
+(or arch11), z14 (or arch12), z15 (or arch13), or z16 (or arch14).
de02ff
 
de02ff
 @menu
de02ff
 * s390 Options::                Command-line Options.
de02ff
@@ -72,7 +72,7 @@ are recognized:
de02ff
 @code{z13} (or @code{arch11}),
de02ff
 @code{z14} (or @code{arch12}),
de02ff
 @code{z15} (or @code{arch13}), and
de02ff
-@code{arch14}.
de02ff
+@code{z16} (or @code{arch14}).
de02ff
 
de02ff
 Assembling an instruction that is not supported on the target
de02ff
 processor results in an error message.
de02ff
diff -rup binutils.orig/opcodes/s390-mkopc.c binutils-2.30/opcodes/s390-mkopc.c
de02ff
--- binutils.orig/opcodes/s390-mkopc.c	2022-04-11 09:54:43.491514252 +0100
de02ff
+++ binutils-2.30/opcodes/s390-mkopc.c	2022-04-11 09:58:24.228932192 +0100
de02ff
@@ -377,9 +377,11 @@ main (void)
de02ff
       else if (strcmp (cpu_string, "z14") == 0
de02ff
 	       || strcmp (cpu_string, "arch12") == 0)
de02ff
 	min_cpu = S390_OPCODE_ARCH12;
de02ff
-      else if (strcmp (cpu_string, "arch13") == 0)
de02ff
+      else if ((strcmp (cpu_string, "z15") == 0
de02ff
+		|| strcmp (cpu_string, "arch13") == 0))
de02ff
 	min_cpu = S390_OPCODE_ARCH13;
de02ff
-      else if (strcmp (cpu_string, "arch14") == 0)
de02ff
+      else if ((strcmp (cpu_string, "z16") == 0
de02ff
+		|| strcmp (cpu_string, "arch14") == 0))
de02ff
 	min_cpu = S390_OPCODE_ARCH14;
de02ff
       else {
de02ff
 	fprintf (stderr, "Couldn't parse cpu string %s\n", cpu_string);