88c68f
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
88c68f
From: Andreas Krebbel <krebbel@linux.ibm.com>
88c68f
Date: Mon, 15 Feb 2021 14:20:00 +0100
88c68f
Subject: gdb-rhbz2012818-ibmz-update-3of5.patch
88c68f
88c68f
;; IBM Z: Implement instruction set extensions
88c68f
;; (Andreas Krebbel, RHBZ 2012818)
88c68f
88c68f
opcodes/
88c68f
88c68f
        * s390-mkopc.c (main): Accept arch14 as cpu string.
88c68f
        * s390-opc.txt: Add new arch14 instructions.
88c68f
88c68f
include/
88c68f
88c68f
        * opcode/s390.h (enum s390_opcode_cpu_val): Add
88c68f
        S390_OPCODE_ARCH14.
88c68f
88c68f
gas/
88c68f
88c68f
        * config/tc-s390.c (s390_parse_cpu): New entry for arch14.
88c68f
        * doc/c-s390.texi: Document arch14 march option.
88c68f
        * testsuite/gas/s390/s390.exp: Run the arch14 related tests.
88c68f
        * testsuite/gas/s390/zarch-arch14.d: New test.
88c68f
        * testsuite/gas/s390/zarch-arch14.s: New test.
88c68f
88c68f
diff --git a/include/opcode/s390.h b/include/opcode/s390.h
88c68f
--- a/include/opcode/s390.h
88c68f
+++ b/include/opcode/s390.h
88c68f
@@ -44,6 +44,7 @@ enum s390_opcode_cpu_val
88c68f
     S390_OPCODE_Z13,
88c68f
     S390_OPCODE_ARCH12,
88c68f
     S390_OPCODE_ARCH13,
88c68f
+    S390_OPCODE_ARCH14,
88c68f
     S390_OPCODE_MAXCPU
88c68f
   };
88c68f
 
88c68f
diff --git a/opcodes/s390-mkopc.c b/opcodes/s390-mkopc.c
88c68f
--- a/opcodes/s390-mkopc.c
88c68f
+++ b/opcodes/s390-mkopc.c
88c68f
@@ -379,6 +379,8 @@ main (void)
88c68f
 	min_cpu = S390_OPCODE_ARCH12;
88c68f
       else if (strcmp (cpu_string, "arch13") == 0)
88c68f
 	min_cpu = S390_OPCODE_ARCH13;
88c68f
+      else if (strcmp (cpu_string, "arch14") == 0)
88c68f
+	min_cpu = S390_OPCODE_ARCH14;
88c68f
       else {
88c68f
 	fprintf (stderr, "Couldn't parse cpu string %s\n", cpu_string);
88c68f
 	exit (1);
88c68f
diff --git a/opcodes/s390-opc.txt b/opcodes/s390-opc.txt
88c68f
--- a/opcodes/s390-opc.txt
88c68f
+++ b/opcodes/s390-opc.txt
88c68f
@@ -2021,3 +2021,31 @@ e60000000052 vcvbg VRR_RV0UU "vector convert to binary 64 bit" arch13 zarch optp
88c68f
 # Message Security Assist Extension 9
88c68f
 
88c68f
 b93a kdsa RRE_RR "compute digital signature authentication" arch13 zarch
88c68f
+
88c68f
+
88c68f
+# arch14 instructions
88c68f
+
88c68f
+e60000000074 vschp VRR_VVV0U0U " " arch14 zarch
88c68f
+e60000002074 vschsp VRR_VVV0U0 " " arch14 zarch
88c68f
+e60000003074 vschdp VRR_VVV0U0 " " arch14 zarch
88c68f
+e60000004074 vschxp VRR_VVV0U0 " " arch14 zarch
88c68f
+e6000000007c vscshp VRR_VVV " " arch14 zarch
88c68f
+e6000000007d vcsph VRR_VVV0U0 " " arch14 zarch
88c68f
+e60000000051 vclzdp VRR_VV0U2 " " arch14 zarch
88c68f
+e60000000070 vpkzr VRI_VVV0UU2 " " arch14 zarch
88c68f
+e60000000072 vsrpr VRI_VVV0UU2 " " arch14 zarch
88c68f
+e60000000054 vupkzh VRR_VV0U2 " " arch14 zarch
88c68f
+e6000000005c vupkzl VRR_VV0U2 " " arch14 zarch
88c68f
+
88c68f
+b93b nnpa RRE_00 " " arch14 zarch
88c68f
+e60000000056 vclfnh VRR_VV0UU2 " " arch14 zarch
88c68f
+e6000000005e vclfnl VRR_VV0UU2 " " arch14 zarch
88c68f
+e60000000075 vcrnf VRR_VVV0UU " " arch14 zarch
88c68f
+e6000000005d vcfn VRR_VV0UU2 " " arch14 zarch
88c68f
+e60000000055 vcnf VRR_VV0UU2 " " arch14 zarch
88c68f
+
88c68f
+b98B rdp RRF_RURR2 " " arch14 zarch optparm
88c68f
+
88c68f
+eb0000000071 lpswey SIY_URD " " arch14 zarch
88c68f
+b200 lbear S_RD " " arch14 zarch
88c68f
+b201 stbear S_RD " " arch14 zarch