Blame SOURCES/binutils-s390-arch14-insns.patch

01a2c8
diff -rup binutils.orig/gas/config/tc-s390.c binutils-2.35.1/gas/config/tc-s390.c
01a2c8
--- binutils.orig/gas/config/tc-s390.c	2021-02-19 11:44:24.240877612 +0000
01a2c8
+++ binutils-2.35.1/gas/config/tc-s390.c	2021-02-19 11:46:05.222554434 +0000
01a2c8
@@ -292,6 +292,8 @@ s390_parse_cpu (const char *         arg
01a2c8
     { STRING_COMMA_LEN ("z14"), STRING_COMMA_LEN ("arch12"),
01a2c8
       S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX },
01a2c8
     { STRING_COMMA_LEN ("z15"), STRING_COMMA_LEN ("arch13"),
01a2c8
+      S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX },
01a2c8
+    { STRING_COMMA_LEN (""), STRING_COMMA_LEN ("arch14"),
01a2c8
       S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX }
01a2c8
   };
01a2c8
   static struct
01a2c8
diff -rup binutils.orig/gas/doc/c-s390.texi binutils-2.35.1/gas/doc/c-s390.texi
01a2c8
--- binutils.orig/gas/doc/c-s390.texi	2021-02-19 11:44:24.236877625 +0000
01a2c8
+++ binutils-2.35.1/gas/doc/c-s390.texi	2021-02-19 11:46:05.223554431 +0000
01a2c8
@@ -18,7 +18,7 @@ and eleven chip levels. The architecture
01a2c8
 Architecture (ESA) and the newer z/Architecture mode. The chip levels
01a2c8
 are g5 (or arch3), g6, z900 (or arch5), z990 (or arch6), z9-109, z9-ec
01a2c8
 (or arch7), z10 (or arch8), z196 (or arch9), zEC12 (or arch10), z13
01a2c8
-(or arch11), z14 (or arch12), and z15 (or arch13).
01a2c8
+(or arch11), z14 (or arch12), z15 (or arch13), or arch14.
01a2c8
 
01a2c8
 @menu
01a2c8
 * s390 Options::                Command-line Options.
01a2c8
@@ -70,8 +70,9 @@ are recognized:
01a2c8
 @code{z196} (or @code{arch9}),
01a2c8
 @code{zEC12} (or @code{arch10}),
01a2c8
 @code{z13} (or @code{arch11}),
01a2c8
-@code{z14} (or @code{arch12}), and
01a2c8
-@code{z15} (or @code{arch13}).
01a2c8
+@code{z14} (or @code{arch12}),
01a2c8
+@code{z15} (or @code{arch13}), and
01a2c8
+@code{arch14}.
01a2c8
 
01a2c8
 Assembling an instruction that is not supported on the target
01a2c8
 processor results in an error message.
01a2c8
diff -rup binutils.orig/gas/testsuite/gas/s390/s390.exp binutils-2.35.1/gas/testsuite/gas/s390/s390.exp
01a2c8
--- binutils.orig/gas/testsuite/gas/s390/s390.exp	2021-02-19 11:44:24.338877299 +0000
01a2c8
+++ binutils-2.35.1/gas/testsuite/gas/s390/s390.exp	2021-02-19 11:46:05.223554431 +0000
01a2c8
@@ -31,6 +31,7 @@ if [expr [istarget "s390-*-*"] ||  [ista
01a2c8
     run_dump_test "zarch-z13" "{as -m64} {as -march=z13}"
01a2c8
     run_dump_test "zarch-arch12" "{as -m64} {as -march=arch12}"
01a2c8
     run_dump_test "zarch-arch13" "{as -m64} {as -march=arch13}"
01a2c8
+    run_dump_test "zarch-arch14" "{as -m64} {as -march=arch14}"
01a2c8
     run_dump_test "zarch-reloc" "{as -m64}"
01a2c8
     run_dump_test "zarch-operands" "{as -m64} {as -march=z9-109}"
01a2c8
     run_dump_test "zarch-machine" "{as -m64} {as -march=z900}"
01a2c8
Only in binutils-2.35.1/gas/testsuite/gas/s390: zarch-arch14.d
01a2c8
Only in binutils-2.35.1/gas/testsuite/gas/s390: zarch-arch14.s
01a2c8
diff -rup binutils.orig/include/opcode/s390.h binutils-2.35.1/include/opcode/s390.h
01a2c8
--- binutils.orig/include/opcode/s390.h	2021-02-19 11:44:23.926878617 +0000
01a2c8
+++ binutils-2.35.1/include/opcode/s390.h	2021-02-19 11:46:05.223554431 +0000
01a2c8
@@ -44,6 +44,7 @@ enum s390_opcode_cpu_val
01a2c8
     S390_OPCODE_Z13,
01a2c8
     S390_OPCODE_ARCH12,
01a2c8
     S390_OPCODE_ARCH13,
01a2c8
+    S390_OPCODE_ARCH14,
01a2c8
     S390_OPCODE_MAXCPU
01a2c8
   };
01a2c8
 
01a2c8
diff -rup binutils.orig/opcodes/s390-mkopc.c binutils-2.35.1/opcodes/s390-mkopc.c
01a2c8
--- binutils.orig/opcodes/s390-mkopc.c	2021-02-19 11:44:23.947878550 +0000
01a2c8
+++ binutils-2.35.1/opcodes/s390-mkopc.c	2021-02-19 11:46:05.223554431 +0000
01a2c8
@@ -380,6 +380,8 @@ main (void)
01a2c8
       else if (strcmp (cpu_string, "z15") == 0
01a2c8
 	       || strcmp (cpu_string, "arch13") == 0)
01a2c8
 	min_cpu = S390_OPCODE_ARCH13;
01a2c8
+      else if (strcmp (cpu_string, "arch14") == 0)
01a2c8
+	min_cpu = S390_OPCODE_ARCH14;
01a2c8
       else {
01a2c8
 	fprintf (stderr, "Couldn't parse cpu string %s\n", cpu_string);
01a2c8
 	exit (1);
01a2c8
Only in binutils-2.35.1/opcodes: s390-mkopc.c.orig
01a2c8
diff -rup binutils.orig/opcodes/s390-opc.txt binutils-2.35.1/opcodes/s390-opc.txt
01a2c8
--- binutils.orig/opcodes/s390-opc.txt	2021-02-19 11:44:23.943878563 +0000
01a2c8
+++ binutils-2.35.1/opcodes/s390-opc.txt	2021-02-19 11:46:05.224554428 +0000
01a2c8
@@ -2000,3 +2000,31 @@ e60000000052 vcvbg VRR_RV0UU "vector con
01a2c8
 # Message Security Assist Extension 9
01a2c8
 
01a2c8
 b93a kdsa RRE_RR "compute digital signature authentication" arch13 zarch
01a2c8
+
01a2c8
+
01a2c8
+# arch14 instructions
01a2c8
+
01a2c8
+e60000000074 vschp VRR_VVV0U0U " " arch14 zarch
01a2c8
+e60000002074 vschsp VRR_VVV0U0 " " arch14 zarch
01a2c8
+e60000003074 vschdp VRR_VVV0U0 " " arch14 zarch
01a2c8
+e60000004074 vschxp VRR_VVV0U0 " " arch14 zarch
01a2c8
+e6000000007c vscshp VRR_VVV " " arch14 zarch
01a2c8
+e6000000007d vcsph VRR_VVV0U0 " " arch14 zarch
01a2c8
+e60000000051 vclzdp VRR_VV0U2 " " arch14 zarch
01a2c8
+e60000000070 vpkzr VRI_VVV0UU2 " " arch14 zarch
01a2c8
+e60000000072 vsrpr VRI_VVV0UU2 " " arch14 zarch
01a2c8
+e60000000054 vupkzh VRR_VV0U2 " " arch14 zarch
01a2c8
+e6000000005c vupkzl VRR_VV0U2 " " arch14 zarch
01a2c8
+
01a2c8
+b93b nnpa RRE_00 " " arch14 zarch
01a2c8
+e60000000056 vclfnh VRR_VV0UU2 " " arch14 zarch
01a2c8
+e6000000005e vclfnl VRR_VV0UU2 " " arch14 zarch
01a2c8
+e60000000075 vcrnf VRR_VVV0UU " " arch14 zarch
01a2c8
+e6000000005d vcfn VRR_VV0UU2 " " arch14 zarch
01a2c8
+e60000000055 vcnf VRR_VV0UU2 " " arch14 zarch
01a2c8
+
01a2c8
+b98B rdp RRF_RURR2 " " arch14 zarch optparm
01a2c8
+
01a2c8
+eb0000000071 lpswey SIY_URD " " arch14 zarch
01a2c8
+b200 lbear S_RD " " arch14 zarch
01a2c8
+b201 stbear S_RD " " arch14 zarch
01a2c8
Only in binutils-2.35.1/opcodes: s390-opc.txt.orig